CGPI98.7wk -1.4%

Institutional grocery-price intelligence

Canadian grocery prices, repriced every week

GroceryPulse gives institutional teams an analysis-ready weekly panel of advertised grocery prices across 13 Canadian cities and 22 retail banners. Use the free public index to evaluate the series, license the weekly files for research, or integrate the full panel through the Commercial API.

Latest published week 2026-08-09national headline -1.40% w/w4 published weeks since July 2026

Who relies on this panel

Cited by

The weekly panel is shared with Dalhousie University's Agri-Food Analytics Lab, and several of the citations above reach print through the Lab's national grocery-price analysis. Every article, with the sentence that names us, is listed on the press page.

The panel

13
cities
22
banners
~160
stores
50
basket items
9
categories
Weekly
collection

Prices are read every Thursday from publicly accessible retailer storefronts across six retailer families. Walmart and Costco are not in the panel — see coverage.

Evaluate the panel against a real institutional use case

Tell us what the data needs to prove. We will respond with the smallest relevant sample, its coverage notes, and the appropriate Team Data or Commercial API evaluation terms.

We use these details only to evaluate and respond to your request. See the privacy policy.

Plans

The public index remains free. Institutional buyers can license analysis-ready weekly files through Team Data or add production endpoints and the full vintage archive through the Commercial API. Figures are quoted in US dollars; annual contracts can be invoiced in CAD.

Research

Free

CC BY 4.0 · attribution required

  • Free public index endpoint — national, city and banner series by category, no account and no key, ~60 requests/min
  • Monthly CSV pack, published on a 14-day delay
  • Aggregate index only — no per-item observations
  • Attribution to GroceryPulse required in any published use
  • Best-effort support, no SLA

Team Data

Institutional files

$1,250 USD / mo

$12,500 USD/yr by contract · no production API access

  • Full weekly index tables as soon as the run clears quality gates
  • Full per-observation panel in CSV and Parquet
  • Product catalogue, sale flags, package size, unit price, and stock state
  • Five named users within one institution
  • Weekly secure-download delivery and email notification
  • Point-in-time files from the subscription start date
  • Onboarding and methodology session

Qualified founding institutions can apply a private Stripe code for $750/month during their first three months. Five redemptions total.

Commercial API

$2,500 USD / mo

Weekly, full panel · or $30,000 USD/yr

  • ·Full weekly index, all 13 cities × 22 banners
  • ·Category breakdown (9 categories)
  • ·Full per-observation price panel
  • ·REST endpoints: /index, /prices
  • ·Point-in-time vintage historical dumps
  • ·Weekly CSV + monthly Parquet archive
  • ·14-day evaluation trial available on request
  • ·Email support, best-effort 1-business-day response
Annual Commercial API commitment: $25,000 USD/year, 17% below twelve monthly payments. Annual Team Data is $12,500 USD/year. Both are contracted directly, with CAD invoicing against a purchase order available. The Commercial API card's Annual toggle remains the undiscounted self-serve $30,000 USD/year option.

What you actually get

The line is simple and we do not blur it: the index is free, because a published index that everybody can check is what makes the series credible. What you pay for is the microdata underneath it — the individual observations, the product linkage, and the vintages.

Comparison of free and licensed access to GroceryPulse data
 Free (Research)Team DataCommercial API
Aggregate indexNational, city, banner × 9 categoriesLive weekly files and vintages from subscription startSame series plus complete vintage archive
Per-item observationsNot includedFull weekly CSV and Parquet panelFull panel through files and authenticated endpoints
Product catalogBasket list on /basketIncluded in weekly files/api/v1/products — canonical ids, weights, sizes
Shrinkflation detectionsHighlights on /shrinkflationIncluded in weekly files/api/v1/shrinkflation with confidence grades
DeliveryJSON endpoint + delayed monthly CSVSecure weekly CSV and ParquetREST JSON plus weekly files
LatencyIndex live; CSV pack on a 14-day delaySame week after quality gatesSame week after quality gates
Throughput~60 requests/min, per IPFile delivery; no production APIPer-key quota sized to the workflow
LicenceCC BY 4.0, attribution requiredFive named users; internal institutional useInternal use; embedding or redistribution by written licence
SupportBest effortOne-business-day email responseNamed contact and implementation support

Cadence

Collection runs every Thursday at 08:00 UTC, with an automatic Friday re-collection for any city below 90% store coverage. Reporting weeks are bucketed in Canadian local time and end on Sundays.

Latency

A cell publishes as soon as it clears the 60% coverage floor for the week — typically the same Thursday or Friday. We suppress a thin cell rather than publish it early.

Formats

REST JSON over HTTPS with bearer auth and cursor paging, CSV for the weekly pack, and a monthly Parquet archive for bulk loads. An OpenAPI document is served at /api/v1/openapi.json.

A real response, right now

This is the last two weeks of the national headline series, rendered from the same table the endpoint reads — not a mock-up. No key, no account, CORS open:

GET https://grocerypulse.ca/api/public/index?level=national&category=overall

{
  "meta": {
    "source": "GroceryPulse CGPI",
    "series": "v2",
    "endpoint": "public/index",
    "license": "CC BY 4.0 — attribution to GroceryPulse required. Redistribution/resale of the underlying data requires a license (sales@grocerypulse.ca).",
    "note": "Aggregate index only. Per-item price microdata is available under license via /api/v1/prices.",
    "filters": {
      "series": "v2",
      "level": "national",
      "category": "overall",
      "city": "all",
      "banner": "all",
      "from": "2026-07-19",
      "to": "2026-08-09"
    },
    "limit": 5000,
    "offset": 0,
    "count": 2,
    "has_more": false,
    "next_offset": null,
    "generated_at": "2026-08-18T09:39:26.009Z"
  },
  "observations": [
    {
      "date": "2026-08-02",
      "city": null,
      "retailer": null,
      "category": null,
      "index_value": 100.14,
      "basket_cost_cad": 303.63,
      "pct_change_wow": -0.219,
      "pct_change_mom": null,
      "item_count": 50,
      "total_items": 50
    },
    {
      "date": "2026-08-09",
      "city": null,
      "retailer": null,
      "category": null,
      "index_value": 98.74,
      "basket_cost_cad": 297.14,
      "pct_change_wow": -1.398,
      "pct_change_mom": null,
      "item_count": 50,
      "total_items": 50
    }
  ]
}

Swap level=city&city=toronto or level=banner&banner=metro to cut the same series differently. Paid endpoints — /api/v1/index, /api/v1/prices, /api/v1/products, /api/v1/shrinkflation — take the same parameters behind a bearer key.

How access works

Start with the delivery method your team actually needs. Team Data is analysis-ready file delivery; Commercial API adds production endpoints and a complete point-in-time archive.

  1. 1

    Choose the workflow

    Select weekly institutional files or production API access. The free public index remains available for initial methodology and series checks.

  2. 2

    Request an evaluation

    Tell us the use case and scope. Qualified teams receive a focused 14-day sample with the relevant coverage notes.

  3. 3

    Subscribe or contract

    Monthly card subscriptions use Stripe Checkout. Annual institutional commitments can be invoiced in CAD against a purchase order or contracted in USD.

  4. 4

    Receive or integrate

    Team Data receives secure weekly files and onboarding. Commercial API customers receive a one-time API key and implementation support.

Who this is built for

Macro & consumer

Weekly food-price monitoring

Grocery is one of the most closely watched components of household spending, but the advertised prices shoppers actually see are not published anywhere in a standardized weekly form. This panel repriced the same shelves last Thursday, at banner and city level, so you can observe advertised-price moves and promotional cycles as they happen rather than reconstructing them afterwards.

Equities

Consumer-sector research

Banner-level index and basket cost for the listed Canadian grocers — Loblaw (L.TO), Empire (EMP.A.TO) and Metro (MRU.TO) — plus their discount banners. Track promotional intensity, category-level price gaps between a full-service and a discount banner in the same city, and how quickly a competitor's move is matched.

Retail

Competitive intelligence

Benchmark your own shelf against 22 banners in 13 cities on a common 50-item basket, weekly, at the city level. Independent and regional grocers use this where a full syndicated-scanner subscription is not justifiable.

Academic & policy

Research access

The aggregate index is free and citable under CC BY 4.0. Licensed per-observation access supports pass-through studies, regional price-dispersion work, and shrinkflation research. Universities and public-interest researchers should write to us before paying list price.

Before you buy, read the limits

We would rather lose a deal here than in month three of a subscription. All four of these are documented in full on the coverage page.

No Walmart, no Costco

Two of the largest food retailers in Canada are absent — Walmart for collection reliability, Costco because there is no public price to read. Giant Tiger is partial. The index measures the market as covered by the 22 banners in the panel; it is not a census.

The series starts July 2026

Roughly two months of published weekly history today. We report week-over-week and change since inception, and nothing else — there is no year-over-year figure on this site until the data can support one.

Only category levels are cross-comparable

Every series, headline and category, city and banner, shares one base: the week of 13 July 2026 = 100. Levels are therefore directly comparable and each reads as the change since that week. Absolute basket cost in dollars is published alongside for comparisons in levels rather than in index points.

Online list prices, not shelf tags

Prices are read from public retailer storefronts. They can differ from the in-store shelf, particularly for weight-priced produce and meat, and loyalty-card or in-store-only promotions are not captured.

Questions buyers ask

What am I allowed to do with the data?

The free aggregate index is published under CC BY 4.0: use it, chart it, cite it, including commercially, as long as GroceryPulse is credited. A commercial subscription adds the per-observation panel for internal use — research, models, and client-facing notes that quote derived figures with attribution. Redistribution, resale, sub-licensing, or embedding the underlying observations in a product you sell requires a separate written licence. Those are priced per case, not per seat, and we would rather write the licence than discover the breach. Ask for licence terms.

How much history is there?

The continuous published panel begins July 2026. That is the honest answer and it is the main reason to start now rather than later — the series only ever gets more useful, and subscribers accrue point-in-time vintages from their start date. There is no year-over-year figure anywhere on this site, because the data cannot support one until roughly March 2027; anyone quoting you a Canadian grocery YoY off this panel today is splicing something. A March–June 2026 pilot series exists and is retrievable as series=v1, but it was collected under the previous methodology and we do not chain it onto the published series.

Is the index revised, and how is methodology versioned?

Price observations are append-only, and the published index is recomputed from the full observation history under the current, versioned normalization code — so a corrected product match propagates through the whole series rather than leaving a step in it. Methodology changes are dated and documented (v2: chained headline, direct fixed-base categories; adopted 2026-06-12) and the superseded series stays retrievable. Because a recompute can move a historical figure, commercial subscribers also receive point-in-time vintages: the number as it stood on the date it was published, which is what you need for an honest backtest. Full methodology.

Do you cover Walmart or Costco?

No. Walmart Canada runs anti-bot protection that makes unattended collection unreliable, and we will not publish a series we cannot collect consistently; coverage is on the roadmap only if a proxy or licensing arrangement makes it dependable. Costco is member-only and CAPTCHA-gated, with no reliable public price to read — we treat it as infeasible rather than pending. Giant Tiger is a partial-basket merchandiser and publishes only where it clears the 60% coverage floor. If a share-weighted national aggregate matters to you, the missing warehouse-club and supercentre channel is the material caveat, and we would rather you weight around it than assume it away.

What currency is this, and can you invoice in CAD?

Self-serve card subscriptions are charged in USD through Stripe — that is what the checkout above will bill, so it is what we quote. Annual commitments are contracted directly, and Canadian institutions can be invoiced in CAD against a PO at a rate fixed on the contract date; we deliberately do not print a converted CAD figure here, because a rate quoted on a static page is stale the day after it ships. Note that the data itself is priced in Canadian dollars throughout: every basket cost is basket_cost_cad. Request a CAD quote.

Can we evaluate it before committing?

Yes, three ways, in increasing order of effort. The free public index endpoint needs no account and no key, so you can pull the aggregate panel into a notebook in the next five minutes. The free monthly CSV pack on /data gives you the same series in flat files. For the per-item panel, a 14-day evaluation key can be issued on request — that is the only step that involves a human. Request an evaluation.

Talk to the people who build it

Coverage requests, redistribution licences, CAD invoicing, evaluation keys, and methodology questions all go to the same address, and are answered by the person who wrote the pipeline. Write to sales@grocerypulse.ca.

We use cookies for analytics to improve your experience. Privacy Policy