Community data Governmental Free & Open

Bureau of Labor Statistics

Provides authoritative data on employment, unemployment, wages, productivity, and inflation in the United States labor market. Serves as a critical resource for economic researchers, policymakers, and analysts.

API Quickstart — Python — fetch CPI series
Official docs →
import requests, json

headers = {"Content-type": "application/json"}
data = json.dumps({
    "seriesid": ["CUSR0000SA0"],   # CPI-U All items
    "startyear": "2022",
    "endyear": "2024",
    "registrationkey": "your_bls_key"
})
r = requests.post(
    "https://api.bls.gov/publicAPI/v2/timeseries/data/",
    data=data, headers=headers
)
series = r.json()["Results"]["series"][0]
for row in series["data"][:5]:
    print(row["year"], row["period"], row["value"])
💳 Access & Pricing
Visit source →

Cost

Free

Access type

open

Signup required

No

Update alerts

Not offered

Coverage

north america

Update frequency

monthly

Source Documentation

What You're Getting

BLS publishes the official US labor market data: CPI, PPI, unemployment (CPS), job openings (JOLTS), payrolls (CES), hourly earnings, and occupational employment statistics (OES). Data is organized by series ID — a structured code encoding survey, seasonality, geography, and metric (e.g. LNS14000000 = national unemployment rate SA). Series return monthly or quarterly observations with year, period, value, and footnotes.

Ingestion Strategy

Use the Public Data API v2 — register for a key to get 500 req/day (unregistered: 25/day). Batch requests support up to 50 series per call, so group your series list into chunks of 50.

import requests, json

headers = {"Content-type": "application/json"}
payload = {
    "seriesid": ["LNS14000000", "CES0000000001", "CUUR0000SA0"],
    "startyear": "2015",
    "endyear": "2024",
    "registrationkey": "your_key"
}
r = requests.post("https://api.bls.gov/publicAPI/v2/timeseries/data/",
                  data=json.dumps(payload), headers=headers)
results = r.json()["Results"]["series"]

Rate Limits & API Details

  • Registered key: 500 series/day, 50 series/request, 20 years of data/request
  • Unregistered: 25 series/day, 10 series/request, 10 years
  • Bulk flat files at download.bls.gov (FTP-style HTTPS) — full series dumps updated after each release

Schema Stability

Series IDs are highly stable — BLS rarely retires a series. Footnote codes signal data quality flags (preliminary, revised) — parse and store them. Seasonal adjustment flag is embedded in the series ID (second character). New series are added regularly; discovery via the Series ID structure documentation.

Data Quality Gotchas

  • Preliminary vs final: payroll data is revised twice before becoming final — store footnotes field and re-pull recent periods after each release
  • Seasonal adjustment: SA and NSA series coexist — be explicit in your series ID list
  • Period codes: M01M12 are months, Q01Q04 are quarters, A01 is annual
  • Geographic series IDs: metro-area series use different prefixes — check the BLS geographic series documentation

Tool Compatibility

  • Python: bls package or direct API calls; pandas_datareader has BLS support
  • R: blsAPI package
  • Airbyte: no official connector; community scripts exist
  • Bulk flat files (at download.bls.gov) are tab-delimited, easily loaded via Snowflake COPY or BigQuery load jobs

Benchmarking Approach

National unemployment rate (LNS14000000) should have monthly observations back to 1948 — expect 900+ rows. Total nonfarm payrolls (CES0000000001) back to 1939. After each monthly release (first Friday of month), verify new row appears within 24h. Spot-check against BLS press release headline number. Flag if value changes on re-pull of a period older than 3 months (indicates revision).

Notable Datasets

1 total
  • Consumer Price Index (CPI)\nProducer Price Index (PPI)\nImport/Export Price Indexes\nEmployment, Hours, and Earnings\nLabor Force Statistics\nJob Openings and Labor Turnover Survey (JOLTS)\nOccupational Employment and Wage Statistics (OEWS)\nEmployment Projections
Visit Data Source

Access

Cost
Free
Access type
Open
Update alerts
Not offered

Data Profile

Coverage
North America
Frequency
Monthly
History from
1884
Source updated
Jan 2025

Data Formats

csv xlsx api

How to Access

  • 🌐 Browser/UI
  • Automation Ready programmable

Index entry

Added: Apr 30, 2026

Last indexed: May 2, 2026

~ Community-sourced entry

Learn

Recent guides

View all →