Canada CPI API — Consumer Price Index by Province & City avatar

Canada CPI API — Consumer Price Index by Province & City

Pricing

from $33.50 / 1,000 canada cpi observations

Go to Apify Store
Canada CPI API — Consumer Price Index by Province & City

Canada CPI API — Consumer Price Index by Province & City

Canada's official Consumer Price Index as data: monthly CPI for Canada, provinces, territories and cities across 300+ products and groups (food, shelter, energy, gasoline), back to 1914. Filter by place, product and month. No API key. Part of NexGen Signal — official-source data products

Pricing

from $33.50 / 1,000 canada cpi observations

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

🍁 Canada CPI API — Consumer Price Index by Province & City

Get Canada's official Consumer Price Index as clean JSON — monthly, not seasonally adjusted, for Canada, the provinces and territories and selected cities, across about 360 products and product groups from all-items to food, shelter, rent, gasoline and electricity, back to 1914 for the longest series.

Filter by place, product, vector ID and month, or ask for the latest month of every series. Values come newest month first.

The unit of output is one index value: one place, one product or group, one month. You pay per value delivered; a run that finds nothing costs nothing.

Who buys this and for what job

  • Economists, banks and markets teams tracking Canadian inflation by province, city and component.
  • Pricing, procurement and contract teams indexing prices and wages to a CPI component.
  • Real estate and rental analysts following rent and shelter costs by city.
  • Researchers and dashboards needing the official series as clean records.

Buyers usually search for this as "canada cpi data" or "canada inflation by province".

📊 Sample Output

Table of Canada Consumer Price Index values for Canada, all-items: month and index value (2002=100).

reference_monthgeographyproductvaluebase_period
2026-08CanadaAll-items169.82002=100
2026-07CanadaAll-items169.92002=100
2026-06CanadaAll-items1692002=100
2026-05CanadaAll-items169.62002=100
2026-04CanadaAll-items1682002=100
2026-03CanadaAll-items167.42002=100

Rows from live run 4Ptmtyk0iYMHmr2Tp on Apify (the Store example: Canada, All-items, 10 values). Notice the newest month first and the index base (2002=100) on every row.

✅ What you get

Every field of each record:

  • record_id — cA-CPI:
  • reference_month — reference month (YYYY-MM).
  • geography — canada, a province or territory, or a city, as published.
  • geography_dguid — geography's DGUID.
  • product — product or product group, e.g. All-items, Food, Shelter.
  • base_period — index base, e.g. 2002=100.
  • value — index value (null when not available).
  • status — status flag as published (e.g. .. not available, F too unreliable).
  • symbol — symbol as published.
  • terminated — true for a series the publisher no longer updates.
  • decimals — decimals the publisher uses for this series.
  • vector — series vector ID, e.g. v41690973.
  • coordinate — series coordinate in the table.
  • source_table — 18-10-0004-01.
  • source — product name.
  • licence — acknowledgement notice required by the Statistics Canada Open Licence.
  • attribution — source line.
  • observed_at — when this run read it (UTC).

⚙️ Sample inputs

1. The Store example — Canada all-items

{
"geographies": ["Canada"],
"products": ["All-items"],
"maxRecords": 10
}

Returned the 10 values above in run 4Ptmtyk0iYMHmr2Tp (1,152,913 rows read); $0.50 on the Free plan.

2. Two cities, two products, since 2025

{
"geographyContains": ["toronto", "vancouver"],
"products": ["All-items", "Shelter"],
"monthFrom": "2025-01",
"maxRecords": 40
}

Returned 40 of 80 matching values in run W8kraMDxoajlQjAMf.

3. Latest month for energy components

{
"geographies": ["Canada"],
"productContains": ["gasoline", "rent", "electricity"],
"latestOnly": true,
"maxRecords": 20
}

Returned the latest value of the 10 matching series in run naotjFPh5tznknWht (e.g. Gasoline 252.2 in August 2026).

Input fields:

FieldMeaning
geographiesExact names: Canada, a province (Ontario), or a city as written in the table (Toronto, Ontario). Leave empty for all 30.
geographyContainsPlaces whose name contains any of these words, e.g. Quebec.
productsExact product or group names, e.g. All-items, Food, Shelter, Gasoline, Rent. Leave empty for all.
productContainsProducts whose name contains any of these words, e.g. beef, electricity.
vectorsSeries vector IDs, e.g. v41690973 (Canada, All-items).
monthFromFirst month wanted, e.g. 2020-01.
monthToLast month wanted.
latestOnlyOne record per series: its newest month with a value.
includeTerminatedSeries the publisher no longer updates (older bases and discontinued groups).
orderBy reference month.
maxRecordsStop after this many index values (each is charged once).

🧾 JSON sample record

{
"record_id": "CA-CPI:v41690973:2026-08",
"reference_month": "2026-08",
"geography": "Canada",
"geography_dguid": "2016A000011124",
"product": "All-items",
"base_period": "2002=100",
"value": 169.8,
"status": null,
"symbol": null,
"terminated": false,
"decimals": 1,
"vector": "v41690973",
"coordinate": "2.2",
"source_table": "18-10-0004-01",
"source": "Table 18-10-0004-01 Consumer Price Index, monthly, not seasonally adjusted",
"licence": "Source: Statistics Canada, Table 18-10-0004-01 Consumer Price Index, monthly, not seasonally adjusted, reference period 2026-08. Reproduced and distributed on an \"as is\" basis with the permission of Statistics Canada. Licensed under the Statistics Canada Open Licence.",
"attribution": "Source: Statistics Canada, Table 18-10-0004-01 Consumer Price Index, monthly, not seasonally adjusted",
"observed_at": "2026-10-12T04:08:51Z"
}

🔧 How it works

  1. Robots check. The publisher's robots.txt is read on every run; it allows the table download and asks for two seconds between requests, which the actor honours. A robots file that disallowed the download would stop the run with nothing charged.

  2. One official file. The actor downloads the full table 18-10-0004-01 as the publisher's CSV zip (about 15 MB, 1,152,913 values on 12 Oct 2026) and streams the CSV inside it.

  3. Filter and sort. Each value is checked against your filters as it is read; the newest matches (or the newest per series with latestOnly) are kept.

  4. Deliver, then charge. Records are pushed in batches, each charged after delivery, so records and charges always match.

  5. Receipt. RUN_RECEIPT records the robots result, the file and its date, rows read and matched, and delivered and charged counts.

No login, API key, proxy or bot workaround.

💰 Pricing example

Per index value delivered, no start fee, no monthly charge:

Apify planPrice per index value
Free$0.05
Bronze$0.045
Silver$0.04
Gold, Platinum, Diamond$0.0335
  • 10 records (the Store example): $0.50 on the Free plan, $0.335 on Gold.
  • 1,000 records (the default cap): $50 on Free, $45 on Bronze, $40 on Silver, $33.50 on Gold.

Coverage and size. 30 geographies (Canada, provinces, territories and selected cities) and 359 products and groups; 2,139 series and 1,152,913 values from January 1914 to August 2026 in the file read on 12 Oct 2026 (the publisher updates it monthly). Not seasonally adjusted. Some series are terminated (older bases or discontinued groups); terminated marks them.

Licence: Statistics Canada Open Licence. Every record carries the acknowledgement the licence requires: "Source: Statistics Canada, Table 18-10-0004-01 Consumer Price Index, monthly, not seasonally adjusted, [reference period]. Reproduced and distributed on an "as is" basis with the permission of Statistics Canada."

The licence also says licensees shall not use Statistics Canada's name, crest, logos or domain names on material relating to a value-added product without written authorization, and shall not suggest endorsement. This actor's title and listing therefore do not use that name; it appears only in the required source notice. This actor is not endorsed by Statistics Canada.

Price indexes for areas and product groups only — no personal data. robots.txt and its crawl delay are honoured. One public file, declared User-Agent, no login, key, proxy or form.

❓ FAQ

Is it seasonally adjusted? No. This is the not seasonally adjusted monthly table, which has the full product detail.

Why do some products show a different base, like 2013=100? Some newer product series start later and carry their own base; base_period says which.

How do I get one exact series? Use vectors with the series vector ID (e.g. v41690973 for Canada all-items).

How fresh is it? As fresh as the published table; it is updated with each monthly CPI release.

🆘 Troubleshooting

  • 0 records for a city — city names include the province, e.g. Toronto, Ontario; or use geographyContains.
  • 0 records for a product — product names must match exactly, e.g. All-items; or use productContains.
  • Too many old rows — set monthFrom or latestOnly.
  • SOURCE UNAVAILABLE message — the source did not answer after four tries; nothing was charged — run again later.
  • CAPPED message — your maximum total charge was reached; raise it in the run options.
  • Run failed with "Invalid input" — a filter value is malformed; the message names the field. Nothing was charged.

🏢 About NexGen Signal — official-source data products from government and regulator publications. Browse the catalog: apify.com/nexgensignal

⭐ Found this useful?

If this actor saved you time, a rating on its Apify Store page helps other buyers find it.

Part of NexGen Signal — official-source data products.