bls_get_series
Pack: bls · Endpoint: https://gateway.pipeworx.io/bls/mcp
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 series ID (e.g., “PAYEMS” for total nonfarm employment).
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, or use one-click install buttons:
{
"mcpServers": {
"bls": {
"url": "https://gateway.pipeworx.io/bls/mcp"
}
}
}
See Getting Started for client-specific install steps.