The CPI release dates API returns the next consumer price index release for the United States, United Kingdom, euro area, Germany, Japan, Canada, Australia and China as JSON, with the time in UTC and Eastern Time, the consensus forecast, the prior reading and the actual once published. Each country has its own series code, and /history returns past prints with the outcome.
CPI is 8 series in the Finance Calendar API, one per statistical agency. The generic alias cpi means US CPI; every other country has a prefixed code. The US schedule in plain English is on the US CPI report hub.
Series codes
| Country | Code | Aliases | Publisher | Unit |
|---|---|---|---|---|
| United States | us-cpi |
cpi, inflation, consumer-price-index | Bureau of Labor Statistics | % y/y |
| United Kingdom | gb-cpi |
uk-cpi, uk-inflation | Office for National Statistics | % y/y |
| Euro area (flash) | eu-cpi |
eurozone-cpi, hicp, eurozone-inflation, ea-cpi | Eurostat | % y/y |
| Germany (flash) | de-cpi |
germany-cpi, german-cpi | Destatis | % y/y |
| Japan | jp-cpi |
japan-cpi | Statistics Bureau of Japan | % y/y |
| Canada | ca-cpi |
canada-cpi | Statistics Canada | % y/y |
| Australia | au-cpi |
australia-cpi | Australian Bureau of Statistics | % y/y |
| China | cn-cpi |
china-cpi | National Bureau of Statistics | % y/y |
Next release
US CPI:
curl "https://www.financecalendar.com/wp-json/fc/v1/next?series=cpi"
UK CPI in London time. You can write series=uk-cpi or series=cpi&country=uk; both resolve to gb-cpi:
curl "https://www.financecalendar.com/wp-json/fc/v1/next?series=uk-cpi&tz=Europe/London"
{
"series": "uk-cpi",
"series_code": "gb-cpi",
"country": "GB",
"next": {
"id": "uk-cpi-inflation-october-2026",
"series_code": "gb-cpi",
"series_name": "UK CPI Inflation",
"name": "UK CPI Inflation",
"title": "UK CPI Inflation October 2026",
"country": "GB",
"category": "economic-indicators",
"impact": "high",
"date": "2026-10-21",
"release_at_utc": "2026-10-21T06:00:00+00:00",
"time_utc": "2026-10-21T06:00:00+00:00",
"time_et": "02:00",
"time_local": "07:00",
"release_tz": "Europe/London",
"all_day": false,
"period": "September 2026",
"status": "confirmed",
"consensus": null,
"prior": "2.9% (August 2026)",
"actual": null,
"unit": "% y/y",
"source_url": "https://www.ons.gov.uk/releasecalendar",
"source_name": "Office for National Statistics",
"url": "https://www.financecalendar.com/event/uk-cpi-inflation-october-2026/",
"exchange": null,
"holiday_status": null,
"close_time_local": null,
"updated_at": "2026-10-19T16:02:05+00:00",
"note": "Covers September 2026"
},
"attribution": { "source": "financecalendar.com", "terms": "...", "docs": "..." }
}
Canada CPI through the country parameter:
curl "https://www.financecalendar.com/wp-json/fc/v1/next?series=cpi&country=ca"
This returns "series_code": "ca-cpi" and the 19 October 2026 release at 08:30 Eastern, "time_utc": "2026-10-19T12:30:00+00:00", with "prior": "3.0% y/y (July 2026)" and "unit": "% y/y". Japan works the same way with country=jp or series=japan-cpi.
Asking for a CPI that does not exist returns HTTP 404 rather than a guess. series=cpi&country=no gives: No series "cpi" for country NO. See /series?country=NO.
Every CPI release in one call
curl "https://www.financecalendar.com/wp-json/fc/v1/calendar?series=us-cpi,gb-cpi,eu-cpi,de-cpi,jp-cpi,ca-cpi,au-cpi,cn-cpi&to=2027-01-19&tz=Europe/London"
Add format=ics for a calendar subscription or format=csv for a spreadsheet.
Past prints with the outcome
curl "https://www.financecalendar.com/wp-json/fc/v1/history?series=us-cpi&limit=12"
Rows come newest first with consensus, prior and actual as they stood on the day, for example:
{
"series_code": "us-cpi",
"from": "2025-10-19",
"to": "2026-10-19",
"count": 6,
"total": 6,
"events": [
{ "id": "us-cpi-report-october-2026", "date": "2026-10-14", "time_utc": "2026-10-14T12:30:00+00:00", "time_et": "08:30", "status": "released", "consensus": null, "prior": null, "actual": null, "unit": "% y/y", "url": "https://www.financecalendar.com/event/us-cpi-report-october-2026/", ... },
{ "id": "us-cpi-report-september-2026", "date": "2026-09-11", "time_utc": "2026-09-11T12:30:00+00:00", "time_et": "08:30", "status": "released", "consensus": null, "prior": "July 2026 CPI unchanged month-on-month; up 3.4% year-on-year (US Bureau of Labor Statistics data cited via USDA ERS)", "actual": "+0.1% MoM, 3.4% YoY (core +0.3% MoM, 2.4% YoY)", "unit": "% y/y", "url": "https://www.financecalendar.com/event/us-cpi-report-september-2026/", ... }
// 4 more rows
],
"attribution": { ... }
}
Figures are strings as reported, not parsed numbers. A released row can still show null figures for a short while if the write-back has not happened; poll /changes?series=us-cpi to catch them when they land. /series/us-cpi adds a verified long-run dataset of monthly CPI readings. For code, see How to get CPI release dates in Python.
Frequently asked questions
What time is US CPI released?
08:30 Eastern Time, which is 12:30 UTC in summer and 13:30 UTC in winter. The API’s time_utc already accounts for the clock change.
Why does the euro area have a “flash” CPI?
Eurostat publishes a flash estimate at the end of the reference month and a final figure later. The API tracks the flash, which is the market-moving one, as eu-cpi.
Does “cpi” mean US CPI?
Yes. Generic aliases default to the US release. Use a prefix (uk-cpi, japan-cpi) or country= for another country.
Where do the dates come from?
Each statistical agency’s own release calendar, linked in source_url on every row, re-checked hourly. A date that comes from a rule rather than a published calendar carries status: estimated.
Attribution
Data from this API is free for any use, commercial included, on one condition: a visible link to https://www.financecalendar.com near where the data appears, or on your credits page. Earnings dates are not included.