---
type: "firecrawl-provider"
description: "US Bureau of Labor Statistics time series: list surveys, discover series ids (curated Top Picks and full flat-file catalogs), read a series catalog page, and retrieve employment, wage, price and inflation observations from the keyless public API."
use_when: "US Bureau of Labor Statistics time series: list surveys, discover series ids (curated Top Picks and full flat-file catalogs), read a series catalog page, and retrieve employment, wage, price and inflation observations from the keyless public API."
categories: "Public records"
capabilities: 7
credits_per_call: 5
---
# BLS labor statistics on Firecrawl Alexandria

US Bureau of Labor Statistics time series: list surveys, discover series ids (curated Top Picks and full flat-file catalogs), read a series catalog page, and retrieve employment, wage, price and inflation observations from the keyless public API.

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `bls-gov`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/bls-gov)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/bls-gov/openapi.json)

## Capabilities

- [Bls cpi](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_cpi): Consumer Price Index for All Urban Consumers (CPI-U) for one expenditure category (all_items, core, food, energy, gasoline, shelter, rent, apparel, medical_care, ...) and area (U.S. city average by default), over an optional year window of at most 10 years (the latest 3 years when omitted). Returns the index observations with the resolved BLS series id (CUUR/CUSR + area + item).
- [Bls series](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_series): Observations for 1-25 BLS series ids (LNS14000000 unemployment rate, CUUR0000SA0 CPI-U all items, CES0000000001 nonfarm payrolls, CES0500000003 private average hourly earnings, LAUCN060370000000003 Los Angeles County unemployment) from the public API: an optional year window of at most 10 years (the latest 3 years when omitted), or `latest` for the newest observation only. Values are numeric with the source string kept in raw_value; ids BLS does not know come back with exists=false, and a request where none exist is not_found.
- [Bls series detail](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_series_detail): The data.bls.gov catalog page of one series: survey name, series title, seasonal adjustment and the survey-specific catalog labels (area, item, industry, ...), plus the year-by-period observation table for the requested window (the site's default of the latest 10 years, an explicit `start_year`/`end_year`, or `all_years`). Values keep the site's footnote markers in `raw_value`.
- [Bls series search](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_series_search): Find BLS series ids by keyword inside one survey's full flat-file catalog (download.bls.gov <survey>.series: every published series with its title, dimension codes, seasonal flag and first/last period). Every whitespace-separated word of `query` must appear (case-insensitive) in the series id, title or codes. Paged locally with `offset`; `total_matches` counts every match.
- [Bls surveys](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_surveys): List every BLS survey the public API serves (2-letter abbreviation and name, about 70 rows), or with `survey` the metadata of one survey: whether it allows net-change and percent-change calculations and publishes annual averages. The abbreviation is the first two letters of every series id and the key for bls_top_picks and bls_series_search.
- [Bls top picks](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_top_picks): BLS Top Picks: the curated series list data.bls.gov shows for one survey (Consumer Price Index items, payroll employment industries, state and metro unemployment, ...). Returns human-readable names with the series ids behind them; state-level surveys (LA, SM) accept a 2-digit state FIPS code to narrow the list to one state. Paged locally with `offset`.
- [Bls unemployment rate](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_unemployment_rate): Unemployment rate (percent) for the nation, a state (2-digit FIPS) or a county (state + 3-digit county FIPS) from the Current Population Survey (LNS14000000 / LNU04000000) and Local Area Unemployment Statistics (LASST.., LAUST.., LAUCN..), over an optional year window of at most 10 years (the latest 3 years when omitted). Nation and state default to seasonally adjusted; counties are published not seasonally adjusted only.

## 1. Choose this provider when

US Bureau of Labor Statistics time series: list surveys, discover series ids (curated Top Picks and full flat-file catalogs), read a series catalog page, and retrieve employment, wage, price and inflation observations from the keyless public API.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "bls-gov",
  "capability": "economic-statistics/bls_cpi",
  "options": {
    "category": "food",
    "end_year": 2026,
    "start_year": 2025
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `area_code` (string): BLS CPI area code: 0000 U.S. city average, 0100 Northeast, 0200 Midwest, 0300 South, 0400 West, S49A Los Angeles, S12A New York, S23A Chicago, S37B Houston, S49B San Francisco. Pattern: ^[A-Za-z0-9]{4}$. Example: `0000`
- `category` (string, required): CPI-U expenditure category. Example: `all_items`
- `end_year` (number): end_year Example: `1900`
- `seasonally_adjusted` (boolean): Seasonally adjusted (CUSR) instead of unadjusted (CUUR). Only available for area_code 0000. Example: `false`
- `start_year` (number): start_year Example: `1900`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "bls-gov",
    capability: "economic-statistics/bls_cpi",
    options: {
      category: "food",
      end_year: 2026,
      start_year: 2025,
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "bls-gov",
  "capability": "economic-statistics/bls_cpi",
  "options": {
    "category": "food",
    "end_year": 2026,
    "start_year": 2025
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "bls-gov",
    "capability": "economic-statistics/bls_cpi",
    "options": {
      "category": "food",
      "end_year": 2026,
      "start_year": 2025
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'bls-gov/economic-statistics/bls_cpi' \
  --options '{"category":"food","end_year":2026,"start_year":2025}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "bls-gov",
  "capability": "economic-statistics/bls_cpi",
  "options": {
    "category": "food",
    "end_year": 2026,
    "start_year": 2025
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "bls-gov",
  "capability": "economic-statistics/bls_cpi",
  "options": {
    "category": "food",
    "end_year": 2026,
    "start_year": 2025
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "area_code": "0000",
  "category": "food",
  "count": 20,
  "exists": true,
  "first_date": "2025-01-01",
  "item_code": "SAF1",
  "item_name": "Food",
  "last_date": "2026-08-01",
  "latest": {
    "date": "2026-08-01",
    "footnotes": [],
    "latest": true,
    "period": "M08",
    "period_name": "August",
    "raw_value": "350.418",
    "value": 350.418,
    "year": 2026
  },
  "messages": [],
  "observations": [
    {
      "date": "2025-01-01",
      "footnotes": [],
      "latest": false,
      "period": "M01",
      "period_name": "January",
      "raw_value": "335.517",
      "value": 335.517,
      "year": 2025
    },
    {
      "date": "2025-02-01",
      "footnotes": [],
      "latest": false,
      "period": "M02",
      "period_name": "February",
      "raw_value": "336.274",
      "value": 336.274,
      "year": 2025
    },
    {
      "date": "2025-03-01",
      "footnotes": [],
      "latest": false,
      "period": "M03",
      "period_name": "March",
      "raw_value": "337.751",
      "value": 337.751,
      "year": 2025
    },
    {
      "date": "2025-04-01",
      "footnotes": [],
      "latest": false,
      "period": "M04",
      "period_name": "April",
      "raw_value": "337.747",
      "value": 337.747,
      "year": 2025
    },
    {
      "date": "2025-05-01",
      "footnotes": [],
      "latest": false,
      "period": "M05",
      "period_name": "May",
      "raw_value": "338.598",
      "value": 338.598,
      "year": 2025
    },
    {
      "date": "2025-06-01",
      "footnotes": [],
      "latest": false,
      "period": "M06",
      "period_name": "June",
      "raw_value": "339.498",
      "value": 339.498,
      "year": 2025
    },
    {
      "date": "2025-07-01",
      "footnotes": [],
      "latest": false,
      "period": "M07",
      "period_name": "July",
      "raw_value": "340.036",
      "value": 340.036,
      "year": 2025
    },
    {
      "date": "2025-08-01",
      "footnotes": [],
      "latest": false,
      "period": "M08",
      "period_name": "August",
      "raw_value": "341.295",
      "value": 341.295,
      "year": 2025
    },
    {
      "date": "2025-09-01",
      "footnotes": [],
      "latest": false,
      "period": "M09",
      "period_name": "September",
      "raw_value": "342.405",
      "value": 342.405,
      "year": 2025
    },
    {
      "date": "2025-10-01",
      "footnotes": [
        "X: Data unavailable due to the 2025 lapse in appropriations"
      ],
      "latest": false,
      "period": "M10",
      "period_name": "October",
      "raw_value": "-",
      "value": null,
      "year": 2025
    },
    {
      "date": "2025-11-01",
      "footnotes": [],
      "latest": false,
      "period": "M11",
      "period_name": "November",
      "raw_value": "341.721",
      "value": 341.721,
      "year": 2025
    },
    {
      "date": "2025-12-01",
      "footnotes": [],
      "latest": false,
      "period": "M12",
      "period_name": "December",
      "raw_value": "343.795",
      "value": 343.795,
      "year": 2025
    },
    {
      "date": "2026-01-01",
      "footnotes": [],
      "latest": false,
      "period": "M01",
      "period_name": "January",
      "raw_value": "345.165",
      "value": 345.165,
      "year": 2026
    },
    {
      "date": "2026-02-01",
      "footnotes": [],
      "latest": false,
      "period": "M02",
      "period_name": "February",
      "raw_value": "346.564",
      "value": 346.564,
      "year": 2026
    },
    {
      "date": "2026-03-01",
      "footnotes": [],
      "latest": false,
      "period": "M03",
      "period_name": "March",
      "raw_value": "346.796",
      "value": 346.796,
      "year": 2026
    },
    {
      "date": "2026-04-01",
      "footnotes": [],
      "latest": false,
      "period": "M04",
      "period_name": "April",
      "raw_value": "348.499",
      "value": 348.499,
      "year": 2026
    },
    {
      "date": "2026-05-01",
      "footnotes": [],
      "latest": false,
      "period": "M05",
      "period_name": "May",
      "raw_value": "349.032",
      "value": 349.032,
      "year": 2026
    },
    {
      "date": "2026-06-01",
      "footnotes": [],
      "latest": false,
      "period": "M06",
      "period_name": "June",
      "raw_value": "349.731",
      "value": 349.731,
      "year": 2026
    },
    {
      "date": "2026-07-01",
      "footnotes": [],
      "latest": false,
      "period": "M07",
      "period_name": "July",
      "raw_value": "350.164",
      "value": 350.164,
      "year": 2026
    },
    {
      "date": "2026-08-01",
      "footnotes": [],
      "latest": true,
      "period": "M08",
      "period_name": "August",
      "raw_value": "350.418",
      "value": 350.418,
      "year": 2026
    }
  ],
  "observed_at_ms": 1790283458256,
  "seasonally_adjusted": false,
  "series_id": "CUUR0000SAF1",
  "source_url": "https://data.bls.gov/timeseries/CUUR0000SAF1",
  "units": "index (1982-84=100 unless the item footnotes say otherwise)"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Bls cpi

- Capability: `economic-statistics/bls_cpi`
- Description: Consumer Price Index for All Urban Consumers (CPI-U) for one expenditure category (all_items, core, food, energy, gasoline, shelter, rent, apparel, medical_care, ...) and area (U.S. city average by default), over an optional year window of at most 10 years (the latest 3 years when omitted). Returns the index observations with the resolved BLS series id (CUUR/CUSR + area + item).
- Instructions: A direct inflation lookup by category; for other CPI items or percent changes use bls_series_search on survey cu and bls_series.
- Cost: 5 credits per call
- Capability file: [Bls cpi](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_cpi)

Accepted options:
- `area_code` (string): BLS CPI area code: 0000 U.S. city average, 0100 Northeast, 0200 Midwest, 0300 South, 0400 West, S49A Los Angeles, S12A New York, S23A Chicago, S37B Houston, S49B San Francisco. Pattern: ^[A-Za-z0-9]{4}$. Example: `0000`
- `category` (string, required): CPI-U expenditure category. Example: `all_items`
- `end_year` (number): end_year Example: `1900`
- `seasonally_adjusted` (boolean): Seasonally adjusted (CUSR) instead of unadjusted (CUUR). Only available for area_code 0000. Example: `false`
- `start_year` (number): start_year Example: `1900`

Response schema example:
```json
{
  "area_code": "0000",
  "category": "food",
  "count": 20,
  "exists": true,
  "first_date": "2025-01-01",
  "item_code": "SAF1",
  "item_name": "Food",
  "last_date": "2026-08-01",
  "latest": {
    "date": "2026-08-01",
    "footnotes": [],
    "latest": true,
    "period": "M08",
    "period_name": "August",
    "raw_value": "350.418",
    "value": 350.418,
    "year": 2026
  },
  "messages": [],
  "observations": [
    {
      "date": "2025-01-01",
      "footnotes": [],
      "latest": false,
      "period": "M01",
      "period_name": "January",
      "raw_value": "335.517",
      "value": 335.517,
      "year": 2025
    },
    {
      "date": "2025-02-01",
      "footnotes": [],
      "latest": false,
      "period": "M02",
      "period_name": "February",
      "raw_value": "336.274",
      "value": 336.274,
      "year": 2025
    },
    {
      "date": "2025-03-01",
      "footnotes": [],
      "latest": false,
      "period": "M03",
      "period_name": "March",
      "raw_value": "337.751",
      "value": 337.751,
      "year": 2025
    },
    {
      "date": "2025-04-01",
      "footnotes": [],
      "latest": false,
      "period": "M04",
      "period_name": "April",
      "raw_value": "337.747",
      "value": 337.747,
      "year": 2025
    },
    {
      "date": "2025-05-01",
      "footnotes": [],
      "latest": false,
      "period": "M05",
      "period_name": "May",
      "raw_value": "338.598",
      "value": 338.598,
      "year": 2025
    },
    {
      "date": "2025-06-01",
      "footnotes": [],
      "latest": false,
      "period": "M06",
      "period_name": "June",
      "raw_value": "339.498",
      "value": 339.498,
      "year": 2025
    },
    {
      "date": "2025-07-01",
      "footnotes": [],
      "latest": false,
      "period": "M07",
      "period_name": "July",
      "raw_value": "340.036",
      "value": 340.036,
      "year": 2025
    },
    {
      "date": "2025-08-01",
      "footnotes": [],
      "latest": false,
      "period": "M08",
      "period_name": "August",
      "raw_value": "341.295",
      "value": 341.295,
      "year": 2025
    },
    {
      "date": "2025-09-01",
      "footnotes": [],
      "latest": false,
      "period": "M09",
      "period_name": "September",
      "raw_value": "342.405",
      "value": 342.405,
      "year": 2025
    },
    {
      "date": "2025-10-01",
      "footnotes": [
        "X: Data unavailable due to the 2025 lapse in appropriations"
      ],
      "latest": false,
      "period": "M10",
      "period_name": "October",
      "raw_value": "-",
      "value": null,
      "year": 2025
    },
    {
      "date": "2025-11-01",
      "footnotes": [],
      "latest": false,
      "period": "M11",
      "period_name": "November",
      "raw_value": "341.721",
      "value": 341.721,
      "year": 2025
    },
    {
      "date": "2025-12-01",
      "footnotes": [],
      "latest": false,
      "period": "M12",
      "period_name": "December",
      "raw_value": "343.795",
      "value": 343.795,
      "year": 2025
    },
    {
      "date": "2026-01-01",
      "footnotes": [],
      "latest": false,
      "period": "M01",
      "period_name": "January",
      "raw_value": "345.165",
      "value": 345.165,
      "year": 2026
    },
    {
      "date": "2026-02-01",
      "footnotes": [],
      "latest": false,
      "period": "M02",
      "period_name": "February",
      "raw_value": "346.564",
      "value": 346.564,
      "year": 2026
    },
    {
      "date": "2026-03-01",
      "footnotes": [],
      "latest": false,
      "period": "M03",
      "period_name": "March",
      "raw_value": "346.796",
      "value": 346.796,
      "year": 2026
    },
    {
      "date": "2026-04-01",
      "footnotes": [],
      "latest": false,
      "period": "M04",
      "period_name": "April",
      "raw_value": "348.499",
      "value": 348.499,
      "year": 2026
    },
    {
      "date": "2026-05-01",
      "footnotes": [],
      "latest": false,
      "period": "M05",
      "period_name": "May",
      "raw_value": "349.032",
      "value": 349.032,
      "year": 2026
    },
    {
      "date": "2026-06-01",
      "footnotes": [],
      "latest": false,
      "period": "M06",
      "period_name": "June",
      "raw_value": "349.731",
      "value": 349.731,
      "year": 2026
    },
    {
      "date": "2026-07-01",
      "footnotes": [],
      "latest": false,
      "period": "M07",
      "period_name": "July",
      "raw_value": "350.164",
      "value": 350.164,
      "year": 2026
    },
    {
      "date": "2026-08-01",
      "footnotes": [],
      "latest": true,
      "period": "M08",
      "period_name": "August",
      "raw_value": "350.418",
      "value": 350.418,
      "year": 2026
    }
  ],
  "observed_at_ms": 1790283458256,
  "seasonally_adjusted": false,
  "series_id": "CUUR0000SAF1",
  "source_url": "https://data.bls.gov/timeseries/CUUR0000SAF1",
  "units": "index (1982-84=100 unless the item footnotes say otherwise)"
}
```

### Bls series

- Capability: `economic-statistics/bls_series`
- Description: Observations for 1-25 BLS series ids (LNS14000000 unemployment rate, CUUR0000SA0 CPI-U all items, CES0000000001 nonfarm payrolls, CES0500000003 private average hourly earnings, LAUCN060370000000003 Los Angeles County unemployment) from the public API: an optional year window of at most 10 years (the latest 3 years when omitted), or `latest` for the newest observation only. Values are numeric with the source string kept in raw_value; ids BLS does not know come back with exists=false, and a request where none exist is not_found.
- Instructions: Retrieving the numbers once the series ids are known (from bls_top_picks, bls_series_search or the id conventions). The unregistered API allows 25 queries per day per address; the failure is upstream_rate_limited.
- Cost: 5 credits per call
- Capability file: [Bls series](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_series)

Accepted options:
- `annual_average` (boolean): Also return annual averages (period M13) for surveys that publish them. Example: `false`
- `end_year` (number): Last year; requires start_year. Example: `1900`
- `latest` (boolean): Only the newest observation of each series. Not combined with a year window. Example: `false`
- `series_ids` (string[], required): BLS series ids as shown on data.bls.gov/timeseries/<id>. Example: `[]`
- `start_year` (number): First year; requires end_year, at most 10 years apart. Example: `1900`

Response schema example:
```json
{
  "count": 2,
  "messages": [],
  "observed_at_ms": 1790283428642,
  "request": {
    "annual_average": false,
    "end_year": null,
    "latest": true,
    "series_ids": [
      "LNS14000000",
      "CUUR0000SA0"
    ],
    "start_year": null,
    "url": "https://api.bls.gov/publicAPI/v2/timeseries/data/"
  },
  "series": [
    {
      "count": 1,
      "exists": true,
      "first_date": "2026-08-01",
      "last_date": "2026-08-01",
      "latest": {
        "date": "2026-08-01",
        "footnotes": [],
        "latest": true,
        "period": "M08",
        "period_name": "August",
        "raw_value": "4.1",
        "value": 4.1,
        "year": 2026
      },
      "observations": [
        {
          "date": "2026-08-01",
          "footnotes": [],
          "latest": true,
          "period": "M08",
          "period_name": "August",
          "raw_value": "4.1",
          "value": 4.1,
          "year": 2026
        }
      ],
      "series_id": "LNS14000000",
      "source_url": "https://data.bls.gov/timeseries/LNS14000000"
    },
    {
      "count": 1,
      "exists": true,
      "first_date": "2026-08-01",
      "last_date": "2026-08-01",
      "latest": {
        "date": "2026-08-01",
        "footnotes": [],
        "latest": true,
        "period": "M08",
        "period_name": "August",
        "raw_value": "334.980",
        "value": 334.98,
        "year": 2026
      },
      "observations": [
        {
          "date": "2026-08-01",
          "footnotes": [],
          "latest": true,
          "period": "M08",
          "period_name": "August",
          "raw_value": "334.980",
          "value": 334.98,
          "year": 2026
        }
      ],
      "series_id": "CUUR0000SA0",
      "source_url": "https://data.bls.gov/timeseries/CUUR0000SA0"
    }
  ],
  "source_url": "https://api.bls.gov/publicAPI/v2/timeseries/data/"
}
```

### Bls series detail

- Capability: `economic-statistics/bls_series_detail`
- Description: The data.bls.gov catalog page of one series: survey name, series title, seasonal adjustment and the survey-specific catalog labels (area, item, industry, ...), plus the year-by-period observation table for the requested window (the site's default of the latest 10 years, an explicit `start_year`/`end_year`, or `all_years`). Values keep the site's footnote markers in `raw_value`.
- Instructions: To learn what a series id means (its labels) without an API key, or to read history older than the API's 10-year window. For many series at once use bls_series.
- Cost: 5 credits per call
- Capability file: [Bls series detail](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_series_detail)

Accepted options:
- `all_years` (boolean): Return the whole published history instead of the latest 10 years. Not combined with start_year/end_year. Example: `false`
- `end_year` (number): Last year of the table; requires start_year. Example: `1900`
- `series_id` (string, required): BLS series id (LNS14000000, CUUR0000SA0, CES0000000001, LAUST060000000000003) or a pasted https://data.bls.gov/timeseries/<id> URL. Example: `<series_id>`
- `start_year` (number): First year of the table; requires end_year. Example: `1900`

Response schema example:
```json
{
  "catalog": [
    {
      "label": "Series Id",
      "value": "LNS14000000"
    },
    {
      "label": "Adjustment",
      "value": "Seasonally Adjusted"
    },
    {
      "label": "Series title",
      "value": "(Seas) Unemployment Rate"
    },
    {
      "label": "Labor force status",
      "value": "Unemployment rate"
    },
    {
      "label": "Type of data",
      "value": "Percent or rate"
    },
    {
      "label": "Age",
      "value": "16 years and over"
    }
  ],
  "columns": [
    "Jan",
    "Feb",
    "Mar",
    "Apr",
    "May",
    "Jun",
    "Jul",
    "Aug",
    "Sep",
    "Oct",
    "Nov",
    "Dec"
  ],
  "count": 32,
  "first_year": 2024,
  "footnotes": [
    {
      "code": "9",
      "text": "Data unavailable due to the 2025 lapse in appropriations."
    },
    {
      "code": "12",
      "text": "January 2026 estimates were revised to incorporate updated population controls. For more information, see www.bls.gov/cps/documentation.htm#pop."
    }
  ],
  "last_year": 2026,
  "observations": [
    {
      "footnote_codes": [],
      "period": "M01",
      "period_label": "Jan",
      "raw_value": "3.7",
      "value": 3.7,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M02",
      "period_label": "Feb",
      "raw_value": "3.9",
      "value": 3.9,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M03",
      "period_label": "Mar",
      "raw_value": "3.9",
      "value": 3.9,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M04",
      "period_label": "Apr",
      "raw_value": "3.9",
      "value": 3.9,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M05",
      "period_label": "May",
      "raw_value": "3.9",
      "value": 3.9,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M06",
      "period_label": "Jun",
      "raw_value": "4.1",
      "value": 4.1,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M07",
      "period_label": "Jul",
      "raw_value": "4.2",
      "value": 4.2,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M08",
      "period_label": "Aug",
      "raw_value": "4.2",
      "value": 4.2,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M09",
      "period_label": "Sep",
      "raw_value": "4.1",
      "value": 4.1,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M10",
      "period_label": "Oct",
      "raw_value": "4.1",
      "value": 4.1,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M11",
      "period_label": "Nov",
      "raw_value": "4.2",
      "value": 4.2,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M12",
      "period_label": "Dec",
      "raw_value": "4.1",
      "value": 4.1,
      "year": 2024
    },
    {
      "footnote_codes": [],
      "period": "M01",
      "period_label": "Jan",
      "raw_value": "4.0",
      "value": 4,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M02",
      "period_label": "Feb",
      "raw_value": "4.2",
      "value": 4.2,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M03",
      "period_label": "Mar",
      "raw_value": "4.2",
      "value": 4.2,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M04",
      "period_label": "Apr",
      "raw_value": "4.2",
      "value": 4.2,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M05",
      "period_label": "May",
      "raw_value": "4.3",
      "value": 4.3,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M06",
      "period_label": "Jun",
      "raw_value": "4.1",
      "value": 4.1,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M07",
      "period_label": "Jul",
      "raw_value": "4.3",
      "value": 4.3,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M08",
      "period_label": "Aug",
      "raw_value": "4.3",
      "value": 4.3,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M09",
      "period_label": "Sep",
      "raw_value": "4.4",
      "value": 4.4,
      "year": 2025
    },
    {
      "footnote_codes": [
        "9"
      ],
      "period": "M10",
      "period_label": "Oct",
      "raw_value": "-(9)",
      "value": null,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M11",
      "period_label": "Nov",
      "raw_value": "4.5",
      "value": 4.5,
      "year": 2025
    },
    {
      "footnote_codes": [],
      "period": "M12",
      "period_label": "Dec",
      "raw_value": "4.4",
      "value": 4.4,
      "year": 2025
    },
    {
      "footnote_codes": [
        "12"
      ],
      "period": "M01",
      "period_label": "Jan",
      "raw_value": "4.3(12)",
      "value": 4.3,
      "year": 2026
    },
    {
      "footnote_codes": [],
      "period": "M02",
      "period_label": "Feb",
      "raw_value": "4.4",
      "value": 4.4,
      "year": 2026
    },
    {
      "footnote_codes": [],
      "period": "M03",
      "period_label": "Mar",
      "raw_value": "4.3",
      "value": 4.3,
      "year": 2026
    },
    {
      "footnote_codes": [],
      "period": "M04",
      "period_label": "Apr",
      "raw_value": "4.3",
      "value": 4.3,
      "year": 2026
    },
    {
      "footnote_codes": [],
      "period": "M05",
      "period_label": "May",
      "raw_value": "4.3",
      "value": 4.3,
      "year": 2026
    },
    {
      "footnote_codes": [],
      "period": "M06",
      "period_label": "Jun",
      "raw_value": "4.2",
      "value": 4.2,
      "year": 2026
    },
    {
      "footnote_codes": [],
      "period": "M07",
      "period_label": "Jul",
      "raw_value": "4.1",
      "value": 4.1,
      "year": 2026
    },
    {
      "footnote_codes": [],
      "period": "M08",
      "period_label": "Aug",
      "raw_value": "4.1",
      "value": 4.1,
      "year": 2026
    }
  ],
  "observed_at_ms": 1790283406694,
  "seasonally_adjusted": true,
  "series_id": "LNS14000000",
  "source_url": "https://data.bls.gov/timeseries/LNS14000000",
  "survey_name": "Labor Force Statistics from the Current Population Survey",
  "title": "(Seas) Unemployment Rate"
}
```

### Bls series search

- Capability: `economic-statistics/bls_series_search`
- Description: Find BLS series ids by keyword inside one survey's full flat-file catalog (download.bls.gov <survey>.series: every published series with its title, dimension codes, seasonal flag and first/last period). Every whitespace-separated word of `query` must appear (case-insensitive) in the series id, title or codes. Paged locally with `offset`; `total_matches` counts every match.
- Instructions: Free-text series discovery (the site's own Data Finder is reCAPTCHA-gated). Pick the survey first with bls_surveys or bls_top_picks; catalogs range from 1 MB (cu) to 15 MB (ln), and a few (sm, oe, en) exceed the 32 MB fetch limit and fail with a clear message.
- Cost: 5 credits per call
- Capability file: [Bls series search](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_series_search)

Accepted options:
- `limit` (number): limit Example: `25`
- `offset` (number): Skip this many matches; pass `next_offset` from the previous page. Example: `0`
- `query` (string, required): Words that must all appear in the row (series id, title or codes), e.g. `unemployment rate women`, `SA0 U.S. city average`, `LNS14000000`. Example: `unemployment rate women`
- `seasonal` (string): Keep only seasonally adjusted (S) or unadjusted (U) series. Example: `S`
- `survey` (string, required): 2-letter survey abbreviation whose catalog to search (cu, ln, ce, la, ap, wp, pr, ...). Pattern: ^[A-Za-z]{2}$. Example: `<survey>`

Response schema example:
```json
{
  "catalog_url": "https://download.bls.gov/pub/time.series/cu/cu.series",
  "columns": [
    "series_id",
    "area_code",
    "item_code",
    "seasonal",
    "periodicity_code",
    "base_code",
    "base_period",
    "series_title",
    "footnote_codes",
    "begin_year",
    "begin_period",
    "end_year",
    "end_period"
  ],
  "count": 5,
  "next_offset": 5,
  "observed_at_ms": 1790283387355,
  "offset": 0,
  "query": "U.S. city average All items",
  "results": [
    {
      "begin_period": "M01",
      "begin_year": 1913,
      "codes": {
        "area_code": "0000",
        "base_code": "A",
        "base_period": "1967=100",
        "footnote_codes": "",
        "item_code": "AA0",
        "periodicity_code": "R"
      },
      "end_period": "M08",
      "end_year": 2026,
      "seasonal": "U",
      "series_id": "CUUR0000AA0",
      "series_title": "All items - old base in U.S. city average, all urban consumers, not seasonally adjusted",
      "source_url": "https://data.bls.gov/timeseries/CUUR0000AA0"
    },
    {
      "begin_period": "M01",
      "begin_year": 1913,
      "codes": {
        "area_code": "0000",
        "base_code": "S",
        "base_period": "1982-84=100",
        "footnote_codes": "",
        "item_code": "SA0",
        "periodicity_code": "R"
      },
      "end_period": "M08",
      "end_year": 2026,
      "seasonal": "U",
      "series_id": "CUUR0000SA0",
      "series_title": "All items in U.S. city average, all urban consumers, not seasonally adjusted",
      "source_url": "https://data.bls.gov/timeseries/CUUR0000SA0"
    },
    {
      "begin_period": "M03",
      "begin_year": 1935,
      "codes": {
        "area_code": "0000",
        "base_code": "S",
        "base_period": "1982-84=100",
        "footnote_codes": "",
        "item_code": "SA0L1",
        "periodicity_code": "R"
      },
      "end_period": "M08",
      "end_year": 2026,
      "seasonal": "U",
      "series_id": "CUUR0000SA0L1",
      "series_title": "All items less food in U.S. city average, all urban consumers, not seasonally adjusted",
      "source_url": "https://data.bls.gov/timeseries/CUUR0000SA0L1"
    },
    {
      "begin_period": "M01",
      "begin_year": 1967,
      "codes": {
        "area_code": "0000",
        "base_code": "S",
        "base_period": "1982-84=100",
        "footnote_codes": "",
        "item_code": "SA0L12",
        "periodicity_code": "R"
      },
      "end_period": "M08",
      "end_year": 2026,
      "seasonal": "U",
      "series_id": "CUUR0000SA0L12",
      "series_title": "All items less food and shelter in U.S. city average, all urban consumers, not seasonally adjusted",
      "source_url": "https://data.bls.gov/timeseries/CUUR0000SA0L12"
    },
    {
      "begin_period": "M01",
      "begin_year": 1967,
      "codes": {
        "area_code": "0000",
        "base_code": "S",
        "base_period": "1982-84=100",
        "footnote_codes": "",
        "item_code": "SA0L12E",
        "periodicity_code": "R"
      },
      "end_period": "M08",
      "end_year": 2026,
      "seasonal": "U",
      "series_id": "CUUR0000SA0L12E",
      "series_title": "All items less food, shelter, and energy in U.S. city average, all urban consumers, not seasonally adjusted",
      "source_url": "https://data.bls.gov/timeseries/CUUR0000SA0L12E"
    }
  ],
  "survey": "cu",
  "total_matches": 26
}
```

### Bls surveys

- Capability: `economic-statistics/bls_surveys`
- Description: List every BLS survey the public API serves (2-letter abbreviation and name, about 70 rows), or with `survey` the metadata of one survey: whether it allows net-change and percent-change calculations and publishes annual averages. The abbreviation is the first two letters of every series id and the key for bls_top_picks and bls_series_search.
- Instructions: To learn which survey abbreviation covers a topic (CU consumer prices, LA local unemployment, CE payroll employment, SM state employment, LN labor force, WP producer prices, AP average prices) before discovering series.
- Cost: 5 credits per call
- Capability file: [Bls surveys](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_surveys)

Accepted options:
- `survey` (string): Optional 2-letter survey abbreviation (LA, CU, CE, ...). When given, only that survey is returned, with its calculation flags. Pattern: ^[A-Za-z]{2}$. Example: `<survey>`

Response schema example:
```json
{
  "count": 1,
  "observed_at_ms": 1790283343296,
  "source_url": "https://api.bls.gov/publicAPI/v2/surveys/LA",
  "surveys": [
    {
      "allows_net_change": true,
      "allows_percent_change": true,
      "has_annual_averages": true,
      "survey_abbreviation": "LA",
      "survey_name": "Local Area Unemployment Statistics"
    }
  ]
}
```

### Bls top picks

- Capability: `economic-statistics/bls_top_picks`
- Description: BLS Top Picks: the curated series list data.bls.gov shows for one survey (Consumer Price Index items, payroll employment industries, state and metro unemployment, ...). Returns human-readable names with the series ids behind them; state-level surveys (LA, SM) accept a 2-digit state FIPS code to narrow the list to one state. Paged locally with `offset`.
- Instructions: The cheapest way to find well-known series ids for a survey before calling bls_series; use bls_series_search for anything not in the curated list.
- Cost: 5 credits per call
- Capability file: [Bls top picks](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_top_picks)

Accepted options:
- `limit` (number): limit Example: `100`
- `offset` (number): Skip this many picks; pass `next_offset` from the previous page. Example: `0`
- `state_fips` (string): 2-digit state FIPS code (06 California, 48 Texas). Only meaningful for state-level surveys such as la and sm. Pattern: ^[0-9]{2}$. Example: `<state_fips>`
- `survey` (string, required): 2-letter survey abbreviation: cu (CPI), ce (national employment), la (local unemployment), sm (state and metro employment), ln (labor force), ap (average prices), wp (PPI), ... Pattern: ^[A-Za-z]{2}$. Example: `<survey>`

Response schema example:
```json
{
  "count": 10,
  "next_offset": 10,
  "observed_at_ms": 1790283362534,
  "offset": 0,
  "picks": [
    {
      "name": "U.S. city average, All items",
      "series_ids": [
        "CUUR0000SA0"
      ]
    },
    {
      "name": "U.S. city average, Food and Beverages",
      "series_ids": [
        "CUUR0000SAF"
      ]
    },
    {
      "name": "U.S. city average, Food at home",
      "series_ids": [
        "CUUR0000SAF11"
      ]
    },
    {
      "name": "U.S. city average, Cereals and bakery products",
      "series_ids": [
        "CUUR0000SAF111"
      ]
    },
    {
      "name": "U.S. city average, Meats, poultry, fish, and eggs",
      "series_ids": [
        "CUUR0000SAF112"
      ]
    },
    {
      "name": "U.S. city average, Fruits and vegetables",
      "series_ids": [
        "CUUR0000SAF113"
      ]
    },
    {
      "name": "U.S. city average, Nonalcoholic beverages and bev. materials",
      "series_ids": [
        "CUUR0000SAF114"
      ]
    },
    {
      "name": "U.S. city average, Other food at home",
      "series_ids": [
        "CUUR0000SAF115"
      ]
    },
    {
      "name": "U.S. city average, Dairy and related products",
      "series_ids": [
        "CUUR0000SEFJ"
      ]
    },
    {
      "name": "U.S. city average, Food away from home",
      "series_ids": [
        "CUUR0000SEFV"
      ]
    }
  ],
  "source_url": "https://data.bls.gov/toppicks/getSeries?survey=cu",
  "state_fips": null,
  "survey": "cu",
  "total": 30
}
```

### Bls unemployment rate

- Capability: `economic-statistics/bls_unemployment_rate`
- Description: Unemployment rate (percent) for the nation, a state (2-digit FIPS) or a county (state + 3-digit county FIPS) from the Current Population Survey (LNS14000000 / LNU04000000) and Local Area Unemployment Statistics (LASST.., LAUST.., LAUCN..), over an optional year window of at most 10 years (the latest 3 years when omitted). Nation and state default to seasonally adjusted; counties are published not seasonally adjusted only.
- Instructions: A direct answer to 'what is the unemployment rate in X'; the resolved series id is returned for follow-up calls.
- Cost: 5 credits per call
- Capability file: [Bls unemployment rate](https://firecrawl.dev/alexandria/agents/providers/bls-gov/economic-statistics/bls_unemployment_rate)

Accepted options:
- `county_fips` (string): 3-digit county FIPS within the state; requires state_fips. Pattern: ^[0-9]{3}$. Example: `<county_fips>`
- `end_year` (number): end_year Example: `1900`
- `seasonally_adjusted` (boolean): Default true for nation and state; must be false or omitted for counties. Example: `false`
- `start_year` (number): start_year Example: `1900`
- `state_fips` (string): 2-digit state FIPS (06 California, 48 Texas, 36 New York). Omit for the national rate. Pattern: ^[0-9]{2}$. Example: `<state_fips>`

Response schema example:
```json
{
  "area_code": "06",
  "area_type": "state",
  "count": 20,
  "exists": true,
  "first_date": "2025-01-01",
  "last_date": "2026-08-01",
  "latest": {
    "date": "2026-08-01",
    "footnotes": [
      "P: Preliminary."
    ],
    "latest": true,
    "period": "M08",
    "period_name": "August",
    "raw_value": "5.1",
    "value": 5.1,
    "year": 2026
  },
  "messages": [],
  "observations": [
    {
      "date": "2025-01-01",
      "footnotes": [],
      "latest": false,
      "period": "M01",
      "period_name": "January",
      "raw_value": "5.4",
      "value": 5.4,
      "year": 2025
    },
    {
      "date": "2025-02-01",
      "footnotes": [],
      "latest": false,
      "period": "M02",
      "period_name": "February",
      "raw_value": "5.4",
      "value": 5.4,
      "year": 2025
    },
    {
      "date": "2025-03-01",
      "footnotes": [],
      "latest": false,
      "period": "M03",
      "period_name": "March",
      "raw_value": "5.4",
      "value": 5.4,
      "year": 2025
    },
    {
      "date": "2025-04-01",
      "footnotes": [],
      "latest": false,
      "period": "M04",
      "period_name": "April",
      "raw_value": "5.4",
      "value": 5.4,
      "year": 2025
    },
    {
      "date": "2025-05-01",
      "footnotes": [],
      "latest": false,
      "period": "M05",
      "period_name": "May",
      "raw_value": "5.5",
      "value": 5.5,
      "year": 2025
    },
    {
      "date": "2025-06-01",
      "footnotes": [],
      "latest": false,
      "period": "M06",
      "period_name": "June",
      "raw_value": "5.5",
      "value": 5.5,
      "year": 2025
    },
    {
      "date": "2025-07-01",
      "footnotes": [],
      "latest": false,
      "period": "M07",
      "period_name": "July",
      "raw_value": "5.5",
      "value": 5.5,
      "year": 2025
    },
    {
      "date": "2025-08-01",
      "footnotes": [],
      "latest": false,
      "period": "M08",
      "period_name": "August",
      "raw_value": "5.5",
      "value": 5.5,
      "year": 2025
    },
    {
      "date": "2025-09-01",
      "footnotes": [],
      "latest": false,
      "period": "M09",
      "period_name": "September",
      "raw_value": "5.5",
      "value": 5.5,
      "year": 2025
    },
    {
      "date": "2025-10-01",
      "footnotes": [
        "X: Data unavailable due to the 2025 lapse in appropriations."
      ],
      "latest": false,
      "period": "M10",
      "period_name": "October",
      "raw_value": "-",
      "value": null,
      "year": 2025
    },
    {
      "date": "2025-11-01",
      "footnotes": [],
      "latest": false,
      "period": "M11",
      "period_name": "November",
      "raw_value": "5.5",
      "value": 5.5,
      "year": 2025
    },
    {
      "date": "2025-12-01",
      "footnotes": [],
      "latest": false,
      "period": "M12",
      "period_name": "December",
      "raw_value": "5.5",
      "value": 5.5,
      "year": 2025
    },
    {
      "date": "2026-01-01",
      "footnotes": [],
      "latest": false,
      "period": "M01",
      "period_name": "January",
      "raw_value": "5.4",
      "value": 5.4,
      "year": 2026
    },
    {
      "date": "2026-02-01",
      "footnotes": [],
      "latest": false,
      "period": "M02",
      "period_name": "February",
      "raw_value": "5.4",
      "value": 5.4,
      "year": 2026
    },
    {
      "date": "2026-03-01",
      "footnotes": [],
      "latest": false,
      "period": "M03",
      "period_name": "March",
      "raw_value": "5.3",
      "value": 5.3,
      "year": 2026
    },
    {
      "date": "2026-04-01",
      "footnotes": [],
      "latest": false,
      "period": "M04",
      "period_name": "April",
      "raw_value": "5.3",
      "value": 5.3,
      "year": 2026
    },
    {
      "date": "2026-05-01",
      "footnotes": [],
      "latest": false,
      "period": "M05",
      "period_name": "May",
      "raw_value": "5.3",
      "value": 5.3,
      "year": 2026
    },
    {
      "date": "2026-06-01",
      "footnotes": [],
      "latest": false,
      "period": "M06",
      "period_name": "June",
      "raw_value": "5.2",
      "value": 5.2,
      "year": 2026
    },
    {
      "date": "2026-07-01",
      "footnotes": [],
      "latest": false,
      "period": "M07",
      "period_name": "July",
      "raw_value": "5.1",
      "value": 5.1,
      "year": 2026
    },
    {
      "date": "2026-08-01",
      "footnotes": [
        "P: Preliminary."
      ],
      "latest": true,
      "period": "M08",
      "period_name": "August",
      "raw_value": "5.1",
      "value": 5.1,
      "year": 2026
    }
  ],
  "observed_at_ms": 1790283448340,
  "seasonally_adjusted": true,
  "series_id": "LASST060000000000003",
  "source_url": "https://data.bls.gov/timeseries/LASST060000000000003",
  "units": "percent"
}
```
