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

Real GDP: Real GDP by state: Federal civilian — Pennsylvania (chained 2017 USD mn) was 15,227 chained 2017 USD mn in 2025, down 5.1% from 2024.
That is the lowest reading since 2019.
Over the past ten years it has ranged from 13,864 chained 2017 USD mn (2015) to 16,046 chained 2017 USD mn (2024), averaging 14,938 chained 2017 USD mn.

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

## Recent data

| Period | Value |
|---|---:|
| 2025 | 15,227 chained 2017 USD mn |
| 2024 | 16,046 chained 2017 USD mn |
| 2023 | 15,632 chained 2017 USD mn |
| 2022 | 15,350 chained 2017 USD mn |
| 2021 | 15,319 chained 2017 USD mn |
| 2020 | 15,284 chained 2017 USD mn |
| 2019 | 14,584 chained 2017 USD mn |
| 2018 | 14,522 chained 2017 USD mn |
| 2017 | 14,373 chained 2017 USD mn |
| 2016 | 14,117 chained 2017 USD mn |
| 2015 | 13,864 chained 2017 USD mn |
| 2014 | 13,622 chained 2017 USD mn |
| 2013 | 13,494 chained 2017 USD mn |
| 2012 | 13,838 chained 2017 USD mn |
| 2011 | 13,973 chained 2017 USD mn |
| 2010 | 14,318 chained 2017 USD mn |
| 2009 | 14,308 chained 2017 USD mn |
| 2008 | 14,228 chained 2017 USD mn |
| 2007 | 14,091 chained 2017 USD mn |
| 2006 | 13,974 chained 2017 USD mn |
| 2005 | 14,056 chained 2017 USD mn |
| 2004 | 14,202 chained 2017 USD mn |
| 2003 | 13,962 chained 2017 USD mn |
| 2002 | 14,047 chained 2017 USD mn |

## API

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

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