bls_get_series
Pack: bls · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/bls_get_series for the schema, then POST the same URL with its arguments for the data.
Fetch historical time series data for employment, inflation, wages, productivity, or housing. Returns dated data points with values. Provide a BLS series ID (e.g., “CES0000000001” for total nonfarm payroll employment, the headline Employment Situation jobs number; “LNS14000000” for the unemployment rate). “PAYEMS” is the FRED id for the same series, not a BLS id.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
series_id | string | yes | BLS series ID (e.g., “LNS14000000” for unemployment rate). For multiple series, comma-separate them (e.g., “LNS14000000,CES0000000001”). |
start_year | string | no | Start year (e.g., “2023”). Default: current year minus 2. |
end_year | string | no | End year (e.g., “2024”). Default: current year. |
_apiKey | string | no | BLS registration key (optional, increases rate limits) |
Example call
Arguments
{
"series_id": "LNS14000000"
}
curl
curl -X POST https://gateway.pipeworx.io/bls/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"bls_get_series","arguments":{"series_id":"LNS14000000"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('bls_get_series', {
"series_id": "LNS14000000"
});
More examples
{
"series_id": "PAYEMS,CES0000000001",
"start_year": "2020",
"end_year": "2024"
}
{
"series_id": "EIUIR",
"start_year": "2023"
}
Response shape
Always returns: status, series
| Field | Type | Description |
|---|---|---|
status | string | API response status (e.g., ‘REQUEST_PROCESSED’) |
series | array | Array of time series data |
Full JSON Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "API response status (e.g., 'REQUEST_PROCESSED')"
},
"series": {
"type": "array",
"description": "Array of time series data",
"items": {
"type": "object",
"properties": {
"series_id": {
"type": "string",
"description": "BLS series identifier"
},
"data": {
"type": "array",
"description": "Time series data points",
"items": {
"type": "object",
"properties": {
"year": {
"type": "string",
"description": "Year of the data point"
},
"period": {
"type": "string",
"description": "Period code (e.g., M01 for January)"
},
"period_name": {
"type": "string",
"description": "Human-readable period name (e.g., 'January')"
},
"value": {
"type": "string",
"description": "Data point value"
},
"latest": {
"type": "boolean",
"description": "Whether this is the latest data point"
}
},
"required": [
"year",
"period",
"period_name",
"value",
"latest"
]
}
},
"count": {
"type": "number",
"description": "Number of data points for this series — BLS returns every point in the requested year range, so nothing is truncated."
},
"observation_order": {
"type": "string",
"enum": [
"newest_first"
],
"description": "Order of the `data` array. BLS returns each series newest-first."
}
},
"required": [
"series_id",
"data"
]
}
}
},
"required": [
"status",
"series"
]
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the bls pack
{
"mcpServers": {
"bls": {
"url": "https://gateway.pipeworx.io/bls/mcp"
}
}
}
See Getting Started for client-specific install steps.