# 2s.io BLS Time-Series Data API

> 2s.io BLS Time-Series Data API is a paid API for AI agents from 2s.io, paid per call via x402, $0.0012/call, status unknown (last checked 2026-09-14).

Fetches US Bureau of Labor Statistics time-series observations for up to 10 BLS series IDs, with optional year range filtering

## Facts

- Endpoint: GET https://2s.io/api/bls/series
- Price: $0.0012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-e337d788
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QelpVSpDJS3CtaLmTqQPJ

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-e337d788
```

Example prompt: Pull me the monthly unemployment rate (LNS14000000) and CPI-U all items (CUUR0000SA0) from BLS for 2020 through 2024 so I can compare inflation and joblessness trends over those five years.

## When to prefer this

Use this endpoint when you need structured BLS economic time-series data — unemployment, CPI, employment, labor force participation — without a BLS API key or direct BLS integration. Ideal for quick lookups of standard macro indicators. Prefer over raw BLS API when you want a clean parsed numeric value alongside the verbatim BLS string and footnotes, within a 10-series / 10-year call. Not suitable for bulk historical pulls beyond 10 years or more than 10 series per call.

## Known failure modes

- Invalid or unrecognized BLS series ID returns empty or error response
- Year range exceeding 10 years may be rejected or truncated
- More than 10 series IDs in a single call exceeds the limit
- Rate limit of ~25 queries/day per IP from unauthenticated BLS upstream
- Network timeout if BLS upstream is slow or unavailable
- Non-existent series ID silently returns no observations

## How this service works

US Bureau of Labor Statistics time-series data. Pass seriesIds = comma-separated BLS series IDs (1-10 per call), optional startYear + endYear bracket (max 10 years). Each observation: year, period (M01-M12 monthly, Q01-Q04 quarterly, A01 annual, S01/S02 semiannual), periodName, value (verbatim string from BLS) + numericValue (parsed number), latest flag, footnote texts. Common series IDs: LNS14000000 (unemployment rate), CUUR0000SA0 (CPI-U all items), CES0000000001 (nonfarm employment), LNS11300000 (labor force participation). Unauthenticated upstream — ~25 queries/day per IP.

## Output

An array of observations per series ID, each containing year, period code (e.g. M01-M12, Q01-Q04, A01), period name, verbatim BLS value string, parsed numeric value, a flag indicating if it is the latest data point, and any associated footnote texts.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "seriesIds": "LNS14000000"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "seriesIds"
     ],
     "properties": {
      "endYear": {
       "type": "integer",
       "maximum": 2100,
       "minimum": 1900
      },
      "seriesIds": {
       "type": "string",
       "description": "Comma-separated BLS series IDs."
      },
      "startYear": {
       "type": "integer",
       "maximum": 2100,
       "minimum": 1900
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-e337d788/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
