# CPI Inflation Data: US, UK, EU, Canada, Australia (`maliksaid/inflation-cpi-tracker`) Actor

Latest consumer price index (CPI) and inflation rate data from official statistics offices: ONS, Statistics Canada, ABS, Eurostat HICP and OECD (US, China, India, Brazil, Korea). Monthly economic data and macroeconomic indicators: year-on-year and month-on-month change, release date and source link.

- **URL**: https://apify.com/maliksaid/inflation-cpi-tracker.md
- **Developed by:** [Malik Said](https://apify.com/maliksaid) (community)
- **Categories:** AI
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.20 / 1,000 cpi records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## CPI Inflation Data: US, UK, EU, Canada, Australia

This Actor returns CPI inflation data from official statistics offices. Every row is one country and one month. Each row has the consumer price index level, the year-on-year inflation rate, the month-on-month rate, the release date where the office gives it, and a link to the source.

Use this economic data to feed an inflation dashboard, an economic calendar, a pricing model or an AI agent. Schedule it in monitor mode to get each new CPI release once.

### CPI inflation data coverage

Counted on 21 October 2026 with the latest-month option on.

| Source | Countries | Measure | Latest month on 21 Oct 2026 |
|---|---|---|---|
| UK Office for National Statistics (ONS) | United Kingdom | CPI, 2015=100 | 2026-09 |
| Statistics Canada | Canada | CPI, 2002=100 | 2026-09 |
| Australian Bureau of Statistics (ABS) | Australia | Monthly CPI, Sep 2025=100 | 2026-08 |
| Eurostat | European Union, euro area, 27 EU members, Iceland, Norway, Switzerland, Türkiye, Serbia, Montenegro, North Macedonia, Albania, Georgia, Kosovo | HICP, 2025=100 | 2026-09 |
| OECD prices database | United States, Korea, China, India, Indonesia, Brazil, Argentina, Colombia, OECD total, G7, G20 | National CPI, 2015=100 | 2026-08 or 2026-09 |

The latest-month run returned 53 rows. A 12-month window returned 627 rows.

The OECD database also holds Mexico, Saudi Arabia, South Africa, Chile, Costa Rica and Japan. Their latest months lag by months or years. They appear only when your window reaches back to them.

### Core, food and energy inflation

Set **Price categories** to get more than the headline index. Each category is its own row, with the same fields.

| Category | Meaning | Countries |
|---|---|---|
| `all-items` | Headline CPI (the default) | Every country |
| `core` | All items less food and energy | Eurostat countries, UK, Canada, Australia, US, Korea, Colombia, OECD total, G7 |
| `food` | Food and non-alcoholic beverages | Same as core, plus China and Argentina |
| `energy` | Energy | Eurostat countries, UK, Canada, US, Korea, Colombia, OECD total, G7 |

Checked on 23 October 2026. Each office uses its own definition of core. Eurostat also excludes alcohol and tobacco. The `categoryName` field gives the office's own name. UK core, food and energy come from the OECD copy of the ONS series. The OECD definition of UK core keeps alcohol and tobacco, so it can differ from the ONS core rate. Australia's monthly CPI has no energy total. Categories can lag the headline by a month.

Eurostat publishes the harmonised index (HICP). It can differ from a country's own national CPI. The `measure` field says which one each row holds.

### Inflation rate data returned

| Field | Meaning |
|---|---|
| `countryCode` | Two-letter country code, or EU, EA, OECD, G7, G20 |
| `countryName` | Country or group name |
| `period` | Reference month, YYYY-MM |
| `measure` | CPI or HICP |
| `category` | all-items, core, food or energy |
| `categoryName` | The office's own name for the category |
| `indexValue` | Index level for the month and category |
| `indexBase` | Base period of the index |
| `yoyPercent` | Change from the same month a year earlier, in percent |
| `momPercent` | Change from the previous month, in percent |
| `ratesComputed` | True when the Actor computed the rates from the index (Statistics Canada only) |
| `releaseDate` | Date the office published the figure (ONS and Statistics Canada) |
| `sourceUpdatedAt` | When the source last updated the series or dataset |
| `statisticsOffice` | Office that compiles the figure |
| `source` | ONS, STATCAN, ABS, EUROSTAT or OECD |
| `sourceUrl` | Page on the official site |
| `dataUrl` | API address the Actor read |
| `id` | Country code and month, for example GB-2026-09. Other categories add the category, for example GB-2026-09-core |
| `scrapedAt` | When the Actor collected the row |

Empty fields:

- `releaseDate` is empty for Eurostat, ABS and OECD rows. Their APIs give no release date per month.
- `sourceUpdatedAt` is empty for ABS and OECD rows for the same reason.
- `indexValue` is empty for Argentina. The OECD database holds only its rates.
- A rate can be empty when the office has yet to publish it for that month.

The Actor never fills a missing value with a guess.

### How to get CPI inflation data

1. Leave **Countries** empty for every country, or enter codes such as `US`, `GB`, `DE`, `EA`.
2. Keep **Latest month only** on for a snapshot. Turn it off and set **Months back** or **Start month** for history.
3. For a release feed, turn on **Monitor mode** and schedule the Actor daily. Each run returns only country-months it has not returned before.

| Option | Default | Meaning |
|---|---|---|
| Countries | All | Two-letter or three-letter codes, or English names |
| Statistics sources | All five | ONS, STATCAN, ABS, EUROSTAT, OECD |
| Price categories | All items | all-items, core, food, energy |
| Latest month only | On | Newest month per country inside the window |
| Months back | 12 | Size of the period window |
| Start month / End month | Empty | Fixed window, YYYY-MM |
| Monitor mode | Off | Return only country-months returned for the first time |
| Monitor name | `default` | Name of the monitor memory. The old field `stateKey` still works |
| Maximum rows | 100 | Stop after this many rows. Set 0 for no limit |

Monitor mode remembers a country-month once it has been returned. A later revision to that month is skipped.

### Inflation data pricing

The Actor uses pay-per-event pricing.

| Event | Price |
|---|---|
| Actor start | $0.02 per run at the default 256 MB memory (one event per GB, minimum one) |
| CPI record | $0.004 per country-month saved to the dataset |

A latest-month snapshot of all 53 countries and groups costs about $0.21 plus the start fee. Rows outside your filters cost nothing. The Pricing tab always shows the current price.

### Input and output example

Input from a real run on 21 October 2026:

```json
{
  "countries": ["US", "GB", "DE", "CA", "AU", "EA"],
  "latestOnly": false,
  "monthsBack": 6,
  "maxItems": 30
}
```

The first output row from that run (the `category` fields were added on 23 October 2026):

```json
{
  "id": "CA-2026-09",
  "countryCode": "CA",
  "countryName": "Canada",
  "period": "2026-09",
  "measure": "CPI",
  "category": "all-items",
  "categoryName": "All-items",
  "indexValue": 170,
  "indexBase": "2002=100",
  "yoyPercent": 3.1,
  "momPercent": 0.1,
  "ratesComputed": true,
  "releaseDate": "2026-10-19",
  "sourceUpdatedAt": "2026-10-19T12:30:00.000Z",
  "statisticsOffice": "Statistics Canada",
  "source": "STATCAN",
  "sourceUrl": "https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1810000401",
  "dataUrl": "https://www150.statcan.gc.ca/t1/wds/rest/getDataFromVectorsAndLatestNPeriods",
  "scrapedAt": "2026-10-21T11:17:02.958Z"
}
```

### CPI and inflation FAQ

#### Where do the US inflation figures come from?

They come from the OECD prices database. The U.S. Bureau of Labor Statistics API blocks automated access in its robots.txt.

#### What is the difference between CPI and HICP?

HICP is the harmonised index that Eurostat uses to compare EU countries. A national CPI can use different weights. The `measure` field tells you which one a row holds.

#### How fast do new CPI releases appear?

A row appears as soon as the official API publishes the month. Schedule the Actor daily in monitor mode to catch each release once.

#### Can I get core inflation?

Yes. Add `core` to **Price categories**. You get one extra row per country and month, for example `EA-2026-09-core`. Food and energy work the same way.

#### Can I get a history of inflation rates?

Yes. Turn off **Latest month only** and set **Months back** or a fixed start and end month.

#### Can AI agents use it?

Yes. An agent can ask for a few country codes and get one flat JSON row per country-month.

### Data sources and use

- All data comes from official public APIs that need no login or key.
- The Actor sends a handful of requests per run. It waits and retries when a source is busy. If one source stays down, the run finishes with the others and the status message names the missing source.
- Licences: ONS under the Open Government Licence v3.0. Statistics Canada under the Statistics Canada Open Licence. ABS, Eurostat and OECD under CC BY 4.0. Credit the office when you republish.
- Rows hold aggregate national statistics only. They contain no personal data.

### Related Actors

- [Regulator Circulars Monitor](https://apify.com/maliksaid/regulator-circulars-monitor): track new circulars from the Central Bank of Jordan and the Saudi National Cybersecurity Authority.
- [US Building Permits](https://apify.com/maliksaid/us-building-permits): new building permits from ten US city open-data portals.

### Support

Report a problem in the Issues tab. Include the run link.

# Actor input Schema

## `countries` (type: `array`):

Keep only these countries. Use two-letter codes (US, GB, DE), three-letter codes (USA, GBR) or English names. EU and EA give the European Union and euro area totals. Leave empty for every country.

## `sources` (type: `array`):

Which sources to read. Leave empty for all five.

## `categories` (type: `array`):

Which price indexes to return. All items is the headline CPI. Core is all items less food and energy (each office's own definition). Leave empty for all items only. Not every country publishes every category; see the README table.

## `latestOnly` (type: `boolean`):

Return only the newest month for each country inside the period window.

## `monthsBack` (type: `integer`):

Period window: return months from this many months ago up to the newest. Ignored when you set a start month.

## `fromPeriod` (type: `string`):

Optional. First month to return, as YYYY-MM, for example 2024-01.

## `toPeriod` (type: `string`):

Optional. Last month to return, as YYYY-MM. Leave empty for the newest month.

## `monitorMode` (type: `boolean`):

Return only country-months that earlier monitor-mode runs with the same monitor name did not return. Schedule the Actor with this on to get each new CPI release once.

## `monitorName` (type: `string`):

Name of the memory that monitor mode uses. Use a different name for each separate watch list. Inputs that still send the old field `stateKey` keep working.

## `maxItems` (type: `integer`):

Stop after saving this many rows. The default keeps test runs short and cheap. Set 0 for no limit.

## Actor input object example

```json
{
  "countries": [
    "US",
    "GB",
    "DE",
    "CA",
    "AU",
    "EA"
  ],
  "sources": [],
  "categories": [
    "all-items"
  ],
  "latestOnly": true,
  "monthsBack": 12,
  "monitorMode": false,
  "monitorName": "default",
  "maxItems": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "countries": [
        "US",
        "GB",
        "DE",
        "CA",
        "AU",
        "EA"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("maliksaid/inflation-cpi-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "countries": [
        "US",
        "GB",
        "DE",
        "CA",
        "AU",
        "EA",
    ],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("maliksaid/inflation-cpi-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "countries": [
    "US",
    "GB",
    "DE",
    "CA",
    "AU",
    "EA"
  ],
  "maxItems": 100
}' |
apify call maliksaid/inflation-cpi-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maliksaid/inflation-cpi-tracker"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3DtbnuUArZ8zYXmlS/builds/wj7OhOkebbBpKPdGL/openapi.json
