BLS Labor Market MCP — AI Agent Economic Data avatar

BLS Labor Market MCP — AI Agent Economic Data

Pricing

Pay per usage

Go to Apify Store
BLS Labor Market MCP — AI Agent Economic Data

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

AutomateLab

Maintained by Community

Actor 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_KEY in 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

ToolDescriptionPPE
getEmploymentDataNonfarm payrolls (NFP), employment level, labor force participation — national, state, or county$0.03
getUnemploymentRateOfficial U-3 unemployment rate, or U-5/U-6 broader measures — national, state, metro$0.02
getWageDataAverage Hourly Earnings (AHE), Employment Cost Index (ECI), weekly wages$0.03
getCPICPI-U all items, core, food, energy, shelter, transportation —NSA or SA$0.03
getLaborForceLabor force participation rate, employment-population ratio, labor force levels$0.03

Quick Start

# Local development
cd ~/Projects/apify-actors/bls-labor-market-mcp
apify run
# Deploy to Apify
apify 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 level
  • LNS13000000 — Unemployed level
  • LNS12300000 — 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 AHE
  • CES3000000013 — Manufacturing AHE
  • CES6500000013 — 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 food
  • CUUR0000SAE1 — CPI-U energy
  • CUUR0000SAH1 — 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

VariableRequiredDescription
BLS_API_KEYRecommendedBLS API v2 registration key (free). Without it, rate limits are lower.
APIFY_META_ORIGINSystemSet to STANDBY by Apify when in standby mode
APIFY_STANDBY_PORTOptionalOverride the HTTP server port (default: 3000)

BLS Series Reference

Employment Situation (Current Population Survey — CPS)

Series IDDescription
LNS12000000Employment Level (thousands)
LNS13000000Unemployed Level (thousands)
LNS11000000Labor Force Level (thousands)
LNS11300000Labor Force Participation Rate (%)
LNS12300000Employment-Population Ratio (%)
LNS14000000Unemployment Rate (%)

Average Hourly Earnings (CES)

Series IDDescription
CES0500000013Total Private — Average Hourly Earnings ($)
CES0600000013Goods-Producing — AHE ($)
CES3000000013Manufacturing — AHE ($)
CES4200000013Retail Trade — AHE ($)
CES6500000013Education & Health — AHE ($)
CES9100000013Government — AHE ($)

CPI-U

Series IDDescription
CUUR0000SA0All Items (1982-84=100)
CUUR0000SAF1Food
CUUR0000SAE1Energy
CUUR0000SAH1Shelter
CUUR0000SAM1Medical Care
CUUR0000SAT1Transportation

Employment Cost Index

Series IDDescription
CIU2020000000000Employment Cost Index — Wages & Salaries
CIU1010000000000Employment Cost Index — Total Benefits

License

MIT