Microproduct data guideintermediate

BEA Regional GDP and Personal Income

Official state and local GDP, income, and employment statistics for building regional growth, market-sizing, and economic comparison tools.

At a glance

Difficulty
Intermediate — some data preparation helps
Size
Small · ≤0.1 GB
Formats
JSON, XML
Access
API
API key
Required
Provider
U.S. Bureau of Economic Analysis
Updates
Quarterly
Data terms
BEA Data API terms of service

From source to product signal

Test a product idea in four steps

The BEA Regional API provides state, county, and metro GDP, personal income, and employment tables. Start with one documented line code and a few states. Tables mix units and frequencies, estimates are revised, and nominal growth must not be presented as real growth.

1

Check the setup

  • Python 3.10 or newer
  • A notebook environment such as Jupyter or Google Colab
  • A free BEA API key saved in the BEA_API_KEY environment variable
2

Access the data

  1. 1.Register for a free BEA API key and save it in the BEA_API_KEY environment variable.
  2. 2.Use the Regional metadata methods to confirm one table name, line code, unit, and available year.
  3. 3.Request only a small geographic set and retain the table and line-code metadata.
Open official source
3

Run the Python example

Install the packages, then run the notebook cell.

python -m pip install pandas requests

import os
import pandas as pd
import requests

response = requests.get(
    "https://apps.bea.gov/api/data",
    params={
        "UserID": os.environ["BEA_API_KEY"],
        "method": "GetData",
        "datasetname": "Regional",
        "TableName": "SQINC1",
        "LineCode": "1",
        "GeoFIPS": "06000,48000,36000",
        "Year": "LAST5",
        "ResultFormat": "JSON",
    },
    timeout=30,
)
response.raise_for_status()
rows = response.json()["BEAAPI"]["Results"]["Data"]
income = pd.DataFrame(rows)
print(income[["GeoName", "TimePeriod", "DataValue", "Unit"]].head(20))
4

Test a useful signal

Compare recent state personal-income estimates

Compare the selected BEA personal-income line across California, Texas, and New York.

  1. 01Confirm the table, line code, frequency, unit, and most recent five available periods.
  2. 02Convert formatted values to numbers and compare matched periods across the three states.
  3. 03Explain how revisions, nominal units, annualization, and population differences limit interpretation.

Dataset details

U.S. Bureau of Economic Analysis is a government source. Last verified 2026-08-13. Temporal coverage: varies by Regional table, including series from 1998-present.

Theme

Markets & Economics

Domains

Regional EconomicsNational Accounts

Data types

Time SeriesTabular

Tasks

Market SizingTrend AnalysisRegional Comparison

Geography

United States

Formats

JSONXML

Provider

U.S. Bureau of Economic Analysis

Data terms

BEA Data API terms of service