BLS Labor Market MCP — AI Agent Economic Data
Pricing
Pay per usage
BLS Labor Market MCP — AI Agent Economic Data
AI agent access to Bureau of Labor Statistics data: employment, unemployment, wages, CPI, and labor force participation. Powered by BLS Public Data API v1.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
AutomateLab
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 hours ago
Last modified
Categories
Share
BLS Labor Market MCP
Type: Apify MCP Actor (TypeScript)
Purpose: AI agent access to Bureau of Labor Statistics (BLS) employment, unemployment, wage, CPI, and labor force data via the BLS Public Data API v2
Stack: Apify SDK, Node.js >=20, MCP protocol, standby mode, PPE billing
Overview
The BLS Labor Market MCP provides AI agents with structured access to the U.S. Bureau of Labor Statistics' vast economic datasets. It wraps the free BLS Public Data API v2 (registration required for higher rate limits) and exposes five operational tools via the MCP protocol.
API Key: Set
BLS_API_KEYin your Apify Actor environment variables for best performance. Without a key, the free tier is limited. Get your key free at data.bls.gov/registrationEngine.
Tools
| Tool | Description | PPE |
|---|---|---|
getEmploymentData | Nonfarm payrolls (NFP), employment level, labor force participation — national, state, or county | $0.03 |
getUnemploymentRate | Official U-3 unemployment rate, or U-5/U-6 broader measures — national, state, metro | $0.02 |
getWageData | Average Hourly Earnings (AHE), Employment Cost Index (ECI), weekly wages | $0.03 |
getCPI | CPI-U all items, core, food, energy, shelter, transportation —NSA or SA | $0.03 |
getLaborForce | Labor force participation rate, employment-population ratio, labor force levels | $0.03 |
Quick Start
# Local developmentcd ~/Projects/apify-actors/bls-labor-market-mcpapify run# Deploy to Apifyapify push
Input Schema
Tools are called via MCP JSON-RPC over HTTP POST to /mcp. Example:
{"method": "tools/call","params": {"name": "getUnemploymentRate","arguments": {"state": "CA","startYear": 2022,"endYear": 2024}}}
All tools accept optional startYear and endYear (default: 2020 → current year).
getEmploymentData
{"seriesId": "LNS12000000","startYear": 2022,"endYear": 2024,"state": "CA"}
seriesId defaults to overall civilian employment level. Common series:
LNS12000000— Employment levelLNS13000000— Unemployed levelLNS12300000— Employment-population ratio
getUnemploymentRate
{"state": "NY","startYear": 2022,"endYear": 2024,"measure": "U3"}
measure options: U3 (official, default), U5, U6 (broadest). Omit state for national.
getWageData
{"seriesId": "CES0500000013","startYear": 2022,"endYear": 2024,"state": "TX","measure": "hourly"}
seriesId defaults to national average hourly earnings. Common series:
CES0500000013— Total private AHECES3000000013— Manufacturing AHECES6500000013— Education & Health AHE
getCPI
{"seriesId": "CUUR0000SA0","startYear": 2022,"endYear": 2024,"seasonallyAdjusted": true}
seriesId defaults to CPI-U all items. Common series:
CUUR0000SA0— CPI-U all items (1982-84=100)CUUR0000SAF1— CPI-U foodCUUR0000SAE1— CPI-U energyCUUR0000SAH1— CPI-U shelter
getLaborForce
{"state": null,"demographic": "gender","startYear": 2022,"endYear": 2024,"measure": "participation"}
measure: participation (LFPR, default), employment (EMP-POP ratio), labor_force (LF level).
demographic: age, gender, race, education, or null for total.
Architecture
- Standby MCP: Server listens on
/mcp(JSON-RPC over HTTP POST). Health probe at/. - BLS API v2: REST POST to
https://api.bls.gov/publicAPI/v2/timeseries/data/ - Rate limiting: 1.1s gap between requests (BLS recommends ≤1 req/sec)
- ERROR_RETRY: Retries on HTTP 429, 500, 502, 503, 504 with exponential backoff (base 2s, max 3 retries)
- PPE charging:
Actor.charge()called after each successful tool call - State FIPS mapping: Accepts abbreviations (
CA) or numeric FIPS (06)
Environment Variables
| Variable | Required | Description |
|---|---|---|
BLS_API_KEY | Recommended | BLS API v2 registration key (free). Without it, rate limits are lower. |
APIFY_META_ORIGIN | System | Set to STANDBY by Apify when in standby mode |
APIFY_STANDBY_PORT | Optional | Override the HTTP server port (default: 3000) |
BLS Series Reference
Employment Situation (Current Population Survey — CPS)
| Series ID | Description |
|---|---|
LNS12000000 | Employment Level (thousands) |
LNS13000000 | Unemployed Level (thousands) |
LNS11000000 | Labor Force Level (thousands) |
LNS11300000 | Labor Force Participation Rate (%) |
LNS12300000 | Employment-Population Ratio (%) |
LNS14000000 | Unemployment Rate (%) |
Average Hourly Earnings (CES)
| Series ID | Description |
|---|---|
CES0500000013 | Total Private — Average Hourly Earnings ($) |
CES0600000013 | Goods-Producing — AHE ($) |
CES3000000013 | Manufacturing — AHE ($) |
CES4200000013 | Retail Trade — AHE ($) |
CES6500000013 | Education & Health — AHE ($) |
CES9100000013 | Government — AHE ($) |
CPI-U
| Series ID | Description |
|---|---|
CUUR0000SA0 | All Items (1982-84=100) |
CUUR0000SAF1 | Food |
CUUR0000SAE1 | Energy |
CUUR0000SAH1 | Shelter |
CUUR0000SAM1 | Medical Care |
CUUR0000SAT1 | Transportation |
Employment Cost Index
| Series ID | Description |
|---|---|
CIU2020000000000 | Employment Cost Index — Wages & Salaries |
CIU1010000000000 | Employment Cost Index — Total Benefits |
License
MIT