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.
Current status
100.0% operational in known checks
Checked Jun 16, 10:35 PM
Access
open
Collection level
L2
Confidence
medium
Recommended next action
Use the documented public content probe, then promote to freshness only after a stable value is confirmed.
Exportable data
public_api_and_bulk
Docker fit
docker_ok
Estimated size
large
Download location
https://download.bls.gov/pub/time.series/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
footnotesfield and re-pull recent periods after each release - Seasonal adjustment: SA and NSA series coexist — be explicit in your series ID list
- Period codes:
M01–M12are months,Q01–Q04are quarters,A01is annual - Geographic series IDs: metro-area series use different prefixes — check the BLS geographic series documentation
Tool Compatibility
- Python:
blspackage or direct API calls;pandas_datareaderhas BLS support - R:
blsAPIpackage - 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).
Data Formats
API Quickstart
— Python — fetch CPI seriesimport 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"]) How to Access
- 🌐 end user
- ⚡ automation ready programmable
Notable Datasets
8 total- ▸ Consumer Price Index (CPI)
- ▸ Producer Price Index (PPI)
- ▸ Import/Export Price Indexes
- ▸ Employment, Hours, and Earnings
- ▸ Labor Force Statistics
- ▸ Job Openings and Labor Turnover Survey (JOLTS)
- ▸ Occupational Employment and Wage Statistics (OEWS)
- ▸ Employment Projections
Index entry
Added: Apr 30, 2026
Last indexed: Jun 16, 2026
Unverified entry