BLS Official Print (CPI, PPI, CES) avatar

BLS Official Print (CPI, PPI, CES)

Pricing

$2.00 / 1,000 bls observations

Go to Apify Store
BLS Official Print (CPI, PPI, CES)

BLS Official Print (CPI, PPI, CES)

One dataset row per BLS Public Data API v2 observation. PPE $0.002 per row.

Pricing

$2.00 / 1,000 bls observations

Rating

0.0

(0)

Developer

oddsmith Data

oddsmith Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

What does BLS Official Print do?

One dataset row per observation from the BLS Public Data API v2. This is official print, not a scrape of bls.gov HTML. The Actor POSTs to https://api.bls.gov/publicAPI/v2/timeseries/data/.

Why use it

  • Drop CPI, PPI, and CES print into a scheduler or a notebook without copying tables off bls.gov.
  • Keep suppressed months as value: null with value_raw: "-" and the bureau footnote. No fabricated numbers.
  • Optionally ask BLS for net and percent-change calculations (calculations: true) and annual averages.
  • Cite the series. This SKU does not forecast, nowcast, or wrap non-BLS series.

What you get

Each dataset item is one observation. You are billed the row event once per item actually written, including suppressed - months (those are real BLS rows, not invented values).

FieldTypeNotes
series_idstringBLS series identifier
surveystringInferred from prefix: CPI, CPI-W, C-CPI, PPI, PPI-industry, CES, ECI, CPS, LAUS, or UNKNOWN
yearstringObservation year
periodstringM01M13 or quarter codes
period_namestringJanuary, Annual, etc.
valuenumber | nullNumeric print, or null when BLS published - / NA
value_rawstringRaw BLS value string
latestbooleanTrue when BLS flagged the point as latest
footnotesarrayNon-empty footnote objects
calculationsobject | nullBLS net/percent-change object when you set input calculations: true
catalog_titlestring | nullSeries title when catalog was returned
catalogobject | nullFull catalog object when BLS returned one
retrieved_atstringUTC timestamp of the API call

How much it costs

Pay-per-event. One event, charged only on a successful write.

Event nameTitleBronze price
rowBLS observation$0.002

No row charge on REQUEST_FAILED, a bad year range, or an unknown preset. Store context (Demand, 2026-08-28, retrieved): BLS/FRED/CPI listings on the Store show roughly 0–1 monthly users. This SKU is official-print plumbing, not a demand leader. It ships because CoS locked it, not because the category is crowded.

Input

See the input tab. Required: presets and/or seriesIds (max 50 series per BLS v2 call).

Presets:

InputSeriesSurvey
cpi_uCUUR0000SA0CPI-U, all items
ppi_final_demandWPUFD4PPI final demand
ces_total_nonfarmCES0000000001CES total nonfarm employment

Other fields:

  • startYear / endYear (four-digit). Unregistered calls are limited to 10 years; a registration key allows 20.
  • registrationKey (secret, optional). Raises daily limits and unlocks catalog titles. Never stored in git. Get one at https://data.bls.gov/registrationEngine/
  • catalog (default true). Series titles need a registration key.
  • calculations (default false). When true, BLS returns net and percent-change calculations on each observation; this Actor stores that object on the row.
  • annualAverage (default false)
  • latestOnly (default false). Keeps the first observation BLS returns per series (API v2 is newest-first).

Output

Download the dataset as JSON, CSV, Excel, or HTML. Example rows:

{
"series_id": "CUUR0000SA0",
"survey": "CPI",
"year": "2025",
"period": "M12",
"period_name": "December",
"value": 324.054,
"value_raw": "324.054",
"latest": true,
"footnotes": [],
"calculations": null,
"catalog_title": "All items in U.S. city average, all urban consumers, not seasonally adjusted",
"catalog": { "series_title": "All items in U.S. city average, all urban consumers, not seasonally adjusted" },
"retrieved_at": "2026-08-28T20:00:00+00:00"
}

A suppressed month keeps value null, value_raw "-", and the footnote. You still get the row.

Not in v1

Forecasts, nowcasts, hurricane landfall, elections, or any non-BLS series.

Terms of use and takedown

This Actor reads the BLS Public Data API v2 only. It does not scrape bls.gov HTML and does not invent values for suppressed months.

ToS. You must follow BLS terms of use and citation rules for republished series. Do not present observations as a BLS product, as a forecast, or as anything other than the bureau's published print. A registration key, if you use one, stays in Actor input and out of git.

Takedown. BLS public series are generally redistributable with attribution. If the bureau or a downstream licensee needs a series dropped from presets or docs, email nicholas.jaskolski@gmail.com with the subject takedown bls-official-print and the series ID. Confirmed requests are honored.