# Real GDP: Real GDP by state: Natural resources and mining (11,21) — North Dakota (chained 2017 USD mn)

Real GDP: Real GDP by state: Natural resources and mining (11,21) — North Dakota (chained 2017 USD mn) was 15,586 chained 2017 USD mn in 2025, up 2.9% from 2024.
That is the highest reading since 2023.
Over the past ten years it has ranged from 9,108.5 chained 2017 USD mn (2016) to 15,729 chained 2017 USD mn (2023), averaging 12,958 chained 2017 USD mn.

- Source agency: U.S. Bureau of Economic Analysis (Regional Economic Accounts)
- Makrognosis code: `US-ND.GDP.A.NSA.IND-BEA87`
- 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-natural-resources-and-mining-11-21-north-us-nd-gdp-a-nsa-ind-bea87

## Recent data

| Period | Value |
|---|---:|
| 2025 | 15,586 chained 2017 USD mn |
| 2024 | 15,146 chained 2017 USD mn |
| 2023 | 15,729 chained 2017 USD mn |
| 2022 | 13,230 chained 2017 USD mn |
| 2021 | 12,575 chained 2017 USD mn |
| 2020 | 12,342 chained 2017 USD mn |
| 2019 | 13,575 chained 2017 USD mn |
| 2018 | 13,429 chained 2017 USD mn |
| 2017 | 11,382 chained 2017 USD mn |
| 2016 | 9,108.5 chained 2017 USD mn |
| 2015 | 10,438 chained 2017 USD mn |
| 2014 | 11,749 chained 2017 USD mn |
| 2013 | 9,968.0 chained 2017 USD mn |
| 2012 | 10,328 chained 2017 USD mn |
| 2011 | 6,344.6 chained 2017 USD mn |
| 2010 | 5,207.8 chained 2017 USD mn |
| 2009 | 4,573.0 chained 2017 USD mn |
| 2008 | 4,064.9 chained 2017 USD mn |
| 2007 | 3,166.4 chained 2017 USD mn |
| 2006 | 2,618.6 chained 2017 USD mn |
| 2005 | 2,215.1 chained 2017 USD mn |
| 2004 | 2,056.7 chained 2017 USD mn |
| 2003 | 2,568.8 chained 2017 USD mn |
| 2002 | 2,002.1 chained 2017 USD mn |

## API

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

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