Pushbuild

BLS Data API: Any Bureau of Labor Statistics Series

Any US Bureau of Labor Statistics time series by id (CPI, payrolls by industry, unemployment, wages, PPI, JOLTS, import prices) plus state unemployment and labor force from plain state codes, with month-over-month and year-over-year changes.

$0.16 per 1,000 observations

Get an API key

What it returns

Any time series published by the US Bureau of Labor Statistics, by series id, from the official BLS Public Data API. Also builds state labor force series from plain state codes. - **seriesIds**: any BLS id, for example `CUSR0000SA0` (CPI-U, seasonally adjusted), `LNS14000000` (unemployment rate), `CES0000000001` (total nonfarm payrolls), `WPSFD4` (PPI final demand), `JTS000000000000000JOL` (job openings) - **states**: `CA`, `TX`, `NY` ... with `stateMeasures`: unemployment rate, unemployed, employed, labor force

| field | meaning |. |---|---|. | `seriesId`, `seriesTitle` | the series (titles come with a registration key; state series are labeled always) |. | `state`, `measure` | for state series |. | `year`, `period`, `periodName`, `date` | M01-M12 monthly, Q01-Q04 quarterly, M13 annual average |. | `value` | the published value |. | `preliminary`, `footnotes` | BLS flags, e.g. preliminary values that will be revised |. | `changeFromPrevious`, `pctChangeFromPrevious` | change vs the previous period |. | `changeFromYearAgo`, `pctChangeFromYearAgo` | change vs the same period a year earlier |.

Request

POST https://api.pushbuild.com/bls-data/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
seriesIdslist of stringsAny BLS series id, e.g. CUSR0000SA0 (CPI-U), LNS14000000 (unemployment rate), CES0000000001 (nonfarm payrolls), WPSFD4 (PPI final demand), JTS000000000000000JOL (job openings).
stateslist of stringsTwo-letter state codes (CA, TX, NY, DC, PR) for state labor force statistics.
stateMeasureslist of stringsWhich state series to return (seasonally adjusted). Default: ["unemploymentRate"].
startYearintegerFirst year. Defaults to two years before the end year.
endYearintegerLast year. Defaults to this year.
latestOnlybooleanOne row per series: the most recent observation. Default: false.
annualAveragesbooleanInclude annual averages (period M13). Needs a registration key. Default: false.
registrationKeystringA free BLS key raises the limits from 25 to 500 queries a day, 25 to 50 series per query and 10 to 20 years, and adds series titles.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/bls-data/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"seriesIds": ["CUSR0000SA0", "LNS14000000", "CES0000000001"], "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.16 per 1,000 observations. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.