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

Real GDP: Real GDP by state: Federal civilian — California (chained 2017 USD mn) was 44,514 chained 2017 USD mn in 2025, down 5.2% from 2024.
That is the lowest reading since 2019.
Over the past ten years it has ranged from 41,411 chained 2017 USD mn (2015) to 47,075 chained 2017 USD mn (2020), averaging 45,038 chained 2017 USD mn.

- Source agency: U.S. Bureau of Economic Analysis (Regional Economic Accounts)
- Makrognosis code: `US-CA.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-california-chained-2017-usd-us-ca-gdp-a-nsa-ind-bea84

## Recent data

| Period | Value |
|---|---:|
| 2025 | 44,514 chained 2017 USD mn |
| 2024 | 46,966 chained 2017 USD mn |
| 2023 | 46,824 chained 2017 USD mn |
| 2022 | 46,562 chained 2017 USD mn |
| 2021 | 46,982 chained 2017 USD mn |
| 2020 | 47,075 chained 2017 USD mn |
| 2019 | 44,453 chained 2017 USD mn |
| 2018 | 44,336 chained 2017 USD mn |
| 2017 | 43,731 chained 2017 USD mn |
| 2016 | 42,562 chained 2017 USD mn |
| 2015 | 41,411 chained 2017 USD mn |
| 2014 | 40,245 chained 2017 USD mn |
| 2013 | 39,681 chained 2017 USD mn |
| 2012 | 40,400 chained 2017 USD mn |
| 2011 | 40,442 chained 2017 USD mn |
| 2010 | 41,238 chained 2017 USD mn |
| 2009 | 39,590 chained 2017 USD mn |
| 2008 | 39,128 chained 2017 USD mn |
| 2007 | 38,389 chained 2017 USD mn |
| 2006 | 38,363 chained 2017 USD mn |
| 2005 | 38,888 chained 2017 USD mn |
| 2004 | 39,545 chained 2017 USD mn |
| 2003 | 39,380 chained 2017 USD mn |
| 2002 | 40,033 chained 2017 USD mn |

## API

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

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