# Real GDP: Real GDP by state: Private goods-producing industries — Iowa (chained 2017 USD mn)

Real GDP: Real GDP by state: Private goods-producing industries — Iowa (chained 2017 USD mn) was 54,781 chained 2017 USD mn in 2025, down 1.1% from 2024.
That is the lowest reading since 2023.
Over the past ten years it has ranged from 47,510 chained 2017 USD mn (2016) to 57,708 chained 2017 USD mn (2022), averaging 52,231 chained 2017 USD mn.

- Source agency: U.S. Bureau of Economic Analysis (Regional Economic Accounts)
- Makrognosis code: `US-IA.GDP.A.NSA.IND-BEA91`
- 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-private-goods-producing-industries-iowa

## Recent data

| Period | Value |
|---|---:|
| 2025 | 54,781 chained 2017 USD mn |
| 2024 | 55,398 chained 2017 USD mn |
| 2023 | 54,416 chained 2017 USD mn |
| 2022 | 57,708 chained 2017 USD mn |
| 2021 | 55,430 chained 2017 USD mn |
| 2020 | 48,124 chained 2017 USD mn |
| 2019 | 48,633 chained 2017 USD mn |
| 2018 | 51,839 chained 2017 USD mn |
| 2017 | 49,269 chained 2017 USD mn |
| 2016 | 47,510 chained 2017 USD mn |
| 2015 | 51,428 chained 2017 USD mn |
| 2014 | 51,127 chained 2017 USD mn |
| 2013 | 48,696 chained 2017 USD mn |
| 2012 | 47,667 chained 2017 USD mn |
| 2011 | 45,530 chained 2017 USD mn |
| 2010 | 43,996 chained 2017 USD mn |
| 2009 | 42,264 chained 2017 USD mn |
| 2008 | 46,469 chained 2017 USD mn |
| 2007 | 45,280 chained 2017 USD mn |
| 2006 | 45,073 chained 2017 USD mn |
| 2005 | 42,746 chained 2017 USD mn |
| 2004 | 44,035 chained 2017 USD mn |
| 2003 | 37,923 chained 2017 USD mn |
| 2002 | 36,415 chained 2017 USD mn |

## API

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

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