@pipeworx/bls
Connect: https://gateway.pipeworx.io/bls/mcp · Install: one-click buttons
Tools: 4
The U.S. Bureau of Labor Statistics’s data warehouse. Employment, unemployment, wages, prices (CPI/PPI), productivity, occupational projections — the official US labor and price data. National, state, and metro level. Free with a registered API key.
Why this matters for AI agents
Anything labor-market or inflation-related at the official level: BLS. Where FRED gives you headline series, BLS gives you the underlying detail (occupation-level, industry-level, MSA-level). Agents researching local economic conditions, sector wages, or specific CPI components reach BLS directly.
Three core flows:
1. Look up a series. “What’s the metro Denver unemployment rate?” → bls_search({query: "Denver unemployment"}) → series IDs. Then bls_get_series({series_id}) for values.
2. Latest value. “What’s national unemployment right now?” → bls_latest({series_id: "LNS14000000"}) → most recent observation.
3. Browse popular series. “What does BLS publish?” → bls_popular_series → curated list of high-traffic IDs.
Auth
BLS API requires a free key from https://www.bls.gov/developers/. Without it, calls are throttled to ~25/day per IP. With a key, it’s 500/day. Pass via _apiKey per call.
Series ID structure
BLS series IDs encode survey, area, sector, and data type. Examples:
| Series ID | What it is |
|---|---|
LNS14000000 | National unemployment rate (seasonally adjusted) |
CES0000000001 | Total nonfarm employment (national) |
CUUR0000SA0 | CPI all items, US city average, not seasonally adjusted |
LAUMT080000000000003 | Denver MSA unemployment rate |
WPSFD49207 | PPI for finished goods |
Don’t try to construct IDs from scratch — use bls_search or bls_popular_series.
Update cadence
| Data | Release timing |
|---|---|
| Employment situation (national + state) | First Friday of the month |
| CPI | Mid-month (around the 10th-15th) |
| PPI | Mid-month, day after CPI |
| Metro unemployment (LAUS) | ~3 weeks after the reference month |
| Productivity | Quarterly, ~5 weeks after quarter end |
Pipeworx caches BLS responses with TTLs aligned to release schedules.
Common pitfalls
- Seasonal adjustment. Same series exists in seasonally-adjusted (SA) and not-seasonally-adjusted (NSA) variants. Check the series ID prefix (
LNS= SA,LNU= NSA). Mixing them is the most common analyst error. - Annual averages vs monthly. Some IDs return only annual data; others return monthly. Read the metadata before plotting trends.
- State and metro coverage. Not every series exists at every geography. Smaller metros have larger lags and more imputed values.
- Inflation vs CPI. “Inflation” usually means CPI year-over-year change. To get YoY, request 13 months and compute, or use FRED’s
CPIAUCSLwith thepc1units transformation (which does it for you).
Tools
- bls_get_series — Fetch historical time series data for employment, inflation, wages, productivity, or housing. Returns dated data points with values. Provide series ID (e.g., “PAYEMS” for total nonfarm employment).
- bls_search — Search BLS economic data series by keyword. Returns matching series IDs and titles. Use bls_get_series with an ID to fetch historical data points.
- bls_latest — Get the most recent data point for a BLS series. Returns latest value and date. Use when you need current figures without historical context.
- bls_popular_series — Browse popular BLS series by category: employment, inflation, wages, housing, productivity. Returns series IDs and descriptions. Start here to explore available data.
Tools
-
bls_get_series— Fetch historical time series data for employment, inflation, wages, productivity, or housing. Returns dated data points with values. Provide series ID (e.g., PAYEMS for total nonfarm employment). -
bls_latest— Get the most recent data point for a BLS series. Returns latest value and date. Use when you need current figures without historical context. -
bls_popular_series— Browse popular BLS series by category: employment, inflation, wages, housing, productivity. Returns series IDs and descriptions. Start here to explore available data. -
bls_search— Search BLS economic data series by keyword. Returns matching series IDs and titles. Use bls_get_series with an ID to fetch historical data points.