# Real GDP: Real GDP by state: Retail trade (44-45) — Ohio (chained 2017 USD mn)

Real GDP: Real GDP by state: Retail trade (44-45) — Ohio (chained 2017 USD mn) was 43,959 chained 2017 USD mn in 2025, down 1.7% from 2024.
That is the lowest reading since 2023.
Over the past ten years it has ranged from 37,508 chained 2017 USD mn (2015) to 44,712 chained 2017 USD mn (2024), averaging 41,328 chained 2017 USD mn.

- Source agency: U.S. Bureau of Economic Analysis (Regional Economic Accounts)
- Makrognosis code: `US-OH.GDP.A.NSA.IND-BEA35`
- 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-retail-trade-44-45-ohio-chained-2017-usd-mn-us-oh-gdp-a-nsa-ind-bea35

## Recent data

| Period | Value |
|---|---:|
| 2025 | 43,959 chained 2017 USD mn |
| 2024 | 44,712 chained 2017 USD mn |
| 2023 | 41,439 chained 2017 USD mn |
| 2022 | 39,657 chained 2017 USD mn |
| 2021 | 41,817 chained 2017 USD mn |
| 2020 | 41,954 chained 2017 USD mn |
| 2019 | 41,958 chained 2017 USD mn |
| 2018 | 41,092 chained 2017 USD mn |
| 2017 | 41,380 chained 2017 USD mn |
| 2016 | 39,138 chained 2017 USD mn |
| 2015 | 37,508 chained 2017 USD mn |
| 2014 | 35,582 chained 2017 USD mn |
| 2013 | 34,433 chained 2017 USD mn |
| 2012 | 32,662 chained 2017 USD mn |
| 2011 | 33,042 chained 2017 USD mn |
| 2010 | 32,398 chained 2017 USD mn |
| 2009 | 31,542 chained 2017 USD mn |
| 2008 | 32,581 chained 2017 USD mn |
| 2007 | 33,880 chained 2017 USD mn |
| 2006 | 35,055 chained 2017 USD mn |
| 2005 | 37,436 chained 2017 USD mn |
| 2004 | 37,767 chained 2017 USD mn |
| 2003 | 38,022 chained 2017 USD mn |
| 2002 | 35,804 chained 2017 USD mn |

## API

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

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