# Real GDP: Real GDP by state: Federal civilian — Texas (chained 2017 USD mn)

Real GDP: Real GDP by state: Federal civilian — Texas (chained 2017 USD mn) was 31,634 chained 2017 USD mn in 2025, down 4.3% from 2024.
That is the lowest reading since 2023.
Over the past ten years it has ranged from 26,422 chained 2017 USD mn (2015) to 33,039 chained 2017 USD mn (2024), averaging 29,712 chained 2017 USD mn.

- Source agency: U.S. Bureau of Economic Analysis (Regional Economic Accounts)
- Makrognosis code: `US-TX.GDP.A.NSA.IND-BEA84`
- Frequency: annual
- Units: chained 2017 USD mn
- Coverage: 1997-01-01 to 2025-01-01 (29 observations)
- Page: https://makrognosis.robomacro.com/data/united-states/real-gdp-real-gdp-by-state-federal-civilian-texas-chained-2017-usd-mn-us-tx-gdp-a-nsa-ind-bea84

## Recent data

| Period | Value |
|---|---:|
| 2025 | 31,634 chained 2017 USD mn |
| 2024 | 33,039 chained 2017 USD mn |
| 2023 | 31,210 chained 2017 USD mn |
| 2022 | 30,361 chained 2017 USD mn |
| 2021 | 30,988 chained 2017 USD mn |
| 2020 | 30,666 chained 2017 USD mn |
| 2019 | 28,756 chained 2017 USD mn |
| 2018 | 28,527 chained 2017 USD mn |
| 2017 | 28,008 chained 2017 USD mn |
| 2016 | 27,222 chained 2017 USD mn |
| 2015 | 26,422 chained 2017 USD mn |
| 2014 | 25,403 chained 2017 USD mn |
| 2013 | 25,342 chained 2017 USD mn |
| 2012 | 25,961 chained 2017 USD mn |
| 2011 | 26,013 chained 2017 USD mn |
| 2010 | 26,087 chained 2017 USD mn |
| 2009 | 24,888 chained 2017 USD mn |
| 2008 | 24,190 chained 2017 USD mn |
| 2007 | 23,700 chained 2017 USD mn |
| 2006 | 23,393 chained 2017 USD mn |
| 2005 | 23,083 chained 2017 USD mn |
| 2004 | 22,983 chained 2017 USD mn |
| 2003 | 22,357 chained 2017 USD mn |
| 2002 | 22,081 chained 2017 USD mn |

## API

```
curl -H "X-API-Key: $MAKROGNOSIS_KEY" \
  "https://makrognosis.robomacro.com/v1/series/US-TX.GDP.A.NSA.IND-BEA84"

# Python
import requests
r = requests.get("https://makrognosis.robomacro.com/v1/series/US-TX.GDP.A.NSA.IND-BEA84",
                 headers={"X-API-Key": KEY})
obs = r.json()["observations"]
```
