BEA State Personal Income — Total Personal Income, 50 States And DC, Millions Of Dollars At Seasonally Adjusted Annual Rates, Quarterly Since 1948
15,947 state-quarter observations of total personal income (millions of current dollars, seasonally adjusted annual rate) for all 50 states and the District of Columbia (51 series) from the BEA's quarterly state personal income programme via FRED, 1948-01-01 to 2026-01-01 as of 2026-09-06. Long format with state code and name on every row; quarters are dated to their first day.
Use Cases
- State consumer-spending capacity and tax-base analysis
- Regional exposure for retailers, banks and municipal credit
- Transfer-income and wage-share decompositions by state
Methodology
One fredgraph.csv fetch per state series (<STATE>OTOT, NCOTOTL for North Carolina); missing observations dropped; state code and name derived from the series id; values in millions of dollars rounded to six decimals.
Update Schedule
Static snapshot. BEA releases quarterly state personal income about three months after quarter end, with annual revisions in September; refresh weekly.
Attribution
Source: FRED, Federal Reserve Bank of St. Louis; government-sourced series only (Federal Reserve Board, U.S. Treasury, BLS, BEA, Census Bureau, HUD, FHFA).
Schema
| name | type |
|---|---|
| series_id | string |
| state_code | string |
| state_name | string |
| series_name | string |
| date | date |
| personal_income_millions_usd | number |
Sample Data
| date | series_id | state_code | state_name | series_name | personal_income_millions_usd |
|---|---|---|---|---|---|
| 1950-01-01 | AKOTOT | AK | Alaska | Total Personal Income in Alaska | 343.4 |
| 1950-04-01 | AKOTOT | AK | Alaska | Total Personal Income in Alaska | 373.8 |
| 1950-07-01 | AKOTOT | AK | Alaska | Total Personal Income in Alaska | 408.5 |
| 1950-10-01 | AKOTOT | AK | Alaska | Total Personal Income in Alaska | 439.8 |
| 1951-01-01 | AKOTOT | AK | Alaska | Total Personal Income in Alaska | 470.5 |
Get this via API
# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
# Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
# Cursor / Claude Code / others: mcp.json
{
"mcpServers": {
"dagentbase": {
"url": "https://dagentbase.com/api/mcp",
"headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
}
}
}
# 2. Then ask your agent, in plain language:
# "Preview 'BEA State Personal Income — Total Personal Income, 50 States and DC, Millions of Dollars at Seasonally Adjusted Annual Rates, Quarterly since 1948' and, if it fits, claim it and download the files."
# Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urls
# 1. Add dAgentBase once, in any MCP client. No install, no vendor keys.
# Claude.ai / Claude Desktop: Settings -> Connectors -> Add custom connector
# Cursor / Claude Code / others: mcp.json
{
"mcpServers": {
"dagentbase": {
"url": "https://dagentbase.com/api/mcp",
"headers": { "Authorization": "Bearer dm_live_YOUR_KEY" }
}
}
}
# 2. Then ask your agent, in plain language:
# "Preview 'BEA State Personal Income — Total Personal Income, 50 States and DC, Millions of Dollars at Seasonally Adjusted Annual Rates, Quarterly since 1948' and, if it fits, claim it and download the files."
# Tools it will use: search_listings -> preview_listing -> purchase_listing -> get_download_urlsone time · open license
Details
Available formats