Canada Economic Calendar: StatCan CPI, GDP & Jobs Release Dates avatar

Canada Economic Calendar: StatCan CPI, GDP & Jobs Release Dates

Pricing

from $1.40 / 1,000 calendar entry returneds

Go to Apify Store
Canada Economic Calendar: StatCan CPI, GDP & Jobs Release Dates

Canada Economic Calendar: StatCan CPI, GDP & Jobs Release Dates

Canada's official statistics release schedule: every release due in the coming two weeks plus the release-date history and published future dates of the 28 major economic indicators — title, reference period, the 08:30 Eastern moment in UTC, status and the release link.

Pricing

from $1.40 / 1,000 calendar entry returneds

Rating

0.0

(0)

Developer

Samat Makatov

Samat Makatov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Canada's official statistics release schedule: every release due in the coming two weeks plus the release-date history and published future dates of the 28 major economic indicators — title, reference period, the 08:30 Eastern moment in UTC, status and the release link.

The rows come from Statistics Canada's own schedule of The Daily — the two-week list of upcoming releases and the machine-readable schedule of the major economic indicators, which reaches back to March 2012 and forward as far as the office has published. Each row says what is released, which period the number covers, and the exact moment it becomes public, already converted to UTC (08:30 Eastern is 12:30Z in summer and 13:30Z in winter). No API key, no proxy, no browser — two plain GET requests per run.

This is a calendar, not a data feed: it carries release moments and reference periods, never actual, forecast or previous figures.

Use cases

  • Trading and risk desks: line a Canadian macro model up with the minute the number lands — releaseDateUtc and hoursUntilRelease need no timezone arithmetic on your side.
  • Newsroom and content planning: the two-week window lists every release, including the small surveys and the studies that never reach a market calendar.
  • Agents and chatbots: nextRelease answers "when is the next Canadian CPI / GDP / jobs number" with exactly one row per topic, so a tool call always has the same shape.
  • Event studies and backtests: pull the release dates of one indicator for any range back to 2012, each with the link to the release that was published that morning.
  • Data engineering: schedule ingestion and refresh jobs against the published calendar instead of polling a source that is not out yet.
  • Calendar monitoring: run it on a schedule with onlyNew and get a row only when something is added or moved.

Input

Nothing is required — with default settings the run returns the next two weeks of releases.

FieldTypeDefaultAllowed values / notes
modestringupcomingupcoming, keyIndicators, nextRelease — see Modes
querystring—Keyword kept against the release title and the reference period, case-insensitive (price index, trade, crop). Used in upcoming and keyIndicators
indicatorsstring[]allShort codes from the indicator dictionary. Used in keyIndicators
topicsstring[]—One keyword per question; each returns one row. Required in nextRelease
dateFromstring—Earliest release date, YYYY-MM-DD (an Eastern calendar date)
dateTostring—Latest release date, YYYY-MM-DD
withinDaysinteger141–1095. Used only when dateFrom and dateTo are both empty, and never in nextRelease
onlyUpcomingbooleanfalseDrop releases whose 08:30 Eastern moment has passed. Always on in nextRelease
onlyNewbooleanfalseOutput only entries missing from the previous run with the same filters
sortOrderstringsoonestsoonest or latest (by release moment)
maxItemsinteger301–1000
fieldsstring[]allKeep only these output fields, in this order

Reference

Modes

ModeReadsCoversAnswers
upcomingthe two-week scheduleabout 14 days around today, ~50 releases"everything Canada publishes in the coming two weeks"
keyIndicatorsthe major-indicator schedule and the two-week pageMarch 2012 → as far ahead as the office has published"every CPI date since 2012", "the major indicators still ahead"
nextReleaseboth liststhe whole published schedule, from now on"when is the next GDP" — one row per topic

keyIndicators keeps only releases whose title is one of the 28 dictionary titles; everything else on the two-week page is dropped in that mode. The same release printed on both lists is returned once, with the article link if one exists.

Date windows

  • Both dateFrom and dateTo empty → the window is today up to withinDays days ahead (in nextRelease: the whole published schedule).
  • Only dateFrom → withinDays days from it. Only dateTo → everything from 2012 up to it.
  • Dates are the Eastern calendar dates the schedule prints; every row also carries the moment in UTC.
  • A window that reaches past the end of the published schedule returns the releases that exist, and the run's status message says where the schedule stops. It is not an error.

The 28 major economic indicators

indicatorCode is filled by matching the release title against these printed titles, longest title first. A variant keeps the code of the title it extends: Wholesale trade: Advance indicator → wholesale-trade. A title that is not in the list gets indicatorCode: null and isKeyIndicator: false — it is never matched to the nearest neighbour.

CodePrinted title
cpiConsumer Price Index
labour-force-surveyLabour Force Survey
gdp-by-industryGross domestic product by industry
gdp-income-expenditureGross domestic product, income and expenditure
gdp-by-industry-provincesGross domestic product by industry: Provinces and territories
retail-tradeRetail trade
wholesale-tradeWholesale trade
merchandise-tradeCanadian international merchandise trade
manufacturingMonthly Survey of Manufacturing
payroll-employmentPayroll employment, earnings and hours, and job vacancies
building-permitsBuilding permits
investment-building-constructionInvestment in building construction
investment-non-residentialInvestment in non-residential building construction
non-residential-capital-repairNon-residential capital and repair expenditures
ippi-rmpiIndustrial product and raw materials price indexes
balance-of-paymentsCanada's balance of international payments
international-investment-positionCanada's international investment position
securities-transactionsCanada's international transactions in securities
national-balance-sheetNational balance sheet and financial flow accounts
quarterly-financial-statisticsQuarterly financial statistics for enterprises
labour-productivityLabour productivity, hourly compensation and unit labour cost
tourism-indicatorsNational tourism indicators
travel-canadaTravel between Canada and other countries
farm-incomeFarm income
field-crop-estimatesModel-based principal field crop estimates
field-crop-areasPrincipal field crop areas
field-crop-productionProduction of principal field crops
field-crop-stocksStocks of principal field crops

A code with an obvious typo is corrected and the correction is logged (gdp-by-industy → gdp-by-industry); the printed title works in place of the code. Anything else stops the run with a message naming the value — the search is never quietly widened.

Source lists

sourceWhat it isTime rangeArticle link
upcoming-schedulethe two-week list of every forthcoming releasethe current window, ~14 daysno — the row links to the schedule page
key-indicatorsthe machine-readable schedule of the 28 indicatorsMarch 2012 onwardsyes for releases already published

Examples

Everything Canada publishes in the next two weeks — trading desks, newsroom planning.

{ "mode": "upcoming", "withinDays": 14, "sortOrder": "soonest", "maxItems": 25 }

Consumer Price Index release dates of 2024 and 2025 — event studies that need the moment the number became public.

{ "mode": "keyIndicators", "indicators": ["cpi"], "dateFrom": "2024-01-01", "dateTo": "2025-12-31", "maxItems": 30 }

When is the next GDP, jobs and retail number — one row per topic for an agent or a dashboard tile.

{ "mode": "nextRelease", "topics": ["gross domestic product", "labour force survey", "retail trade"], "maxItems": 5 }

Only the major indicators still ahead — a Canada macro panel.

{ "mode": "keyIndicators", "onlyUpcoming": true, "withinDays": 120, "sortOrder": "soonest", "maxItems": 20 }

The whole 2026 schedule by indicator — planning refresh jobs and reporting deadlines for a year.

{ "mode": "keyIndicators", "dateFrom": "2026-01-01", "dateTo": "2026-12-31", "sortOrder": "soonest", "maxItems": 60 }

The trade family of releases for 2025 — one keyword collects merchandise, retail and wholesale trade.

{ "mode": "keyIndicators", "query": "trade", "dateFrom": "2025-01-01", "dateTo": "2025-12-31", "maxItems": 40 }

Output

A real row from cloud run AYTJWJefDsBHbGtka (mode: "keyIndicators", indicators: ["cpi"], 2024–2025, 24 rows):

{
"releaseTitle": "Consumer Price Index",
"referencePeriod": "December 2023",
"releaseDateEastern": "2024-01-16",
"releaseTimeEastern": "08:30",
"releaseDateUtc": "2024-01-16T13:30:00.000Z",
"dayOfWeek": "Tuesday",
"hoursUntilRelease": -23576.4,
"status": "published",
"isKeyIndicator": true,
"indicatorCode": "cpi",
"dailyUrl": "https://www150.statcan.gc.ca/daily-quotidien/240116/dq240116a-eng.htm",
"scheduleWindow": null,
"source": "key-indicators",
"mode": "keyIndicators",
"url": "https://www150.statcan.gc.ca/daily-quotidien/240116/dq240116a-eng.htm",
"fetchedAt": "2026-09-24T21:51:56.586Z"
}
FieldTypeMeaning
releaseTitlestringThe release as the schedule names it; null only on a found: false topic row
referencePeriodstring | nullThe period the numbers cover (July 2026, second quarter 2026, 2024/2025); null when the source prints none
releaseDateEasternstringRelease date, YYYY-MM-DD, the Eastern calendar date the schedule prints
releaseTimeEasternstringAlways 08:30 — the moment the bulletin is published, not a per-release time
releaseDateUtcstringThe release moment in ISO-8601 UTC, daylight saving already applied
dayOfWeekstringWeekday of the release date
hoursUntilReleasenumberHours from the run to the release; negative once it is out
statusstringscheduled before the moment, published after it
isKeyIndicatorbooleanWhether the title is one of the 28 major economic indicators
indicatorCodestring | nullThe dictionary code, or null for a release outside the 28
dailyUrlstring | nullThe published release article, when it exists
scheduleWindowstring | nullThe two-week window the row was printed in (upcoming-schedule rows)
sourcestringupcoming-schedule or key-indicators
modestringThe mode that produced the row
urlstringThe article when known, otherwise the schedule page the row came from
fetchedAtstringFetch time, ISO-8601 UTC
matchedTopicstringnextRelease only: the topic this row answers
foundbooleannextRelease only: false when nothing is scheduled for that topic yet

Dataset views: Release calendar (the full calendar), Major indicators (indicator code, dates, article link), Next release per topic.

A SUMMARY record goes to the run's key-value store: the window, the pages read, how many entries were parsed, how many duplicates were merged, where the published schedule ends, and how many rows were written.

Use it from code / agents

curl -X POST "https://api.apify.com/v2/acts/yadroo~statcan-release-calendar/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"nextRelease","topics":["consumer price index","gross domestic product"],"maxItems":5}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yadroo/statcan-release-calendar').call({
mode: 'upcoming',
withinDays: 14,
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yadroo/statcan-release-calendar").call(run_input={
"mode": "keyIndicators", "indicators": ["cpi"], "dateFrom": "2024-01-01", "dateTo": "2025-12-31", "maxItems": 30,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items

MCP: add https://mcp.apify.com to Claude / Cursor / any MCP client and call the yadroo/statcan-release-calendar tool with the same JSON input. For an agent, nextRelease is the safest shape: one row per topic, found: false instead of a missing row, so the answer never depends on how many rows came back. fields trims the payload, e.g. ["releaseTitle", "referencePeriod", "releaseDateUtc", "hoursUntilRelease"].

Pricing

Pay per event: $0.001 per run start + $0.002 per dataset row. The start event is charged on every run, including runs that return no rows.

RunRowsCost
The next two weeks (upcoming, maxItems 25)250.001 + 25 × 0.002 = $0.051
Next release for 3 topics (nextRelease)30.001 + 3 × 0.002 = $0.007
A full year of the major indicators (keyIndicators, 2026)2000.001 + 200 × 0.002 = $0.401

Apify plan discounts apply to both events: the row price falls to $0.0018 on Bronze, $0.0016 on Silver and $0.0014 on Gold and above. A typical run uses 256 MB for about 20 seconds, so the platform compute behind it is a fraction of a cent.

Limits & FAQ

How far ahead does the schedule go? Two different distances. The two-week list covers about 14 days and is refreshed by the office; the major-indicator schedule reaches further — on 24 September 2026 it ran to 31 March 2027, roughly two quarters ahead. There is no fixed horizon: the run's status message and the coverageEnd field of SUMMARY say where the published schedule ends on the day you run it.

Why is every time 08:30? Because everything in The Daily is published at 08:30 Eastern on working days. The source prints no per-release time, so releaseTimeEastern is the bulletin's time and releaseDateUtc is that moment converted (12:30Z under daylight time, 13:30Z in winter). The actor never invents a more precise time.

Are the dates final? No. The source states the list is compiled for planning purposes and may be updated. Dates move, and statutory holidays shift a whole week. Use onlyNew on a scheduled run to be told when an entry appears or changes — a rescheduled release counts as new.

Do I get the numbers themselves? No. This actor returns the calendar: what is released, for which period, when. Actual, forecast and previous values are not part of the schedule and are not produced here.

Why does a two-week run sometimes return fewer rows than maxItems? Because the window only holds what it holds — around 50 releases, of which the ones from today onwards are returned by default. Set dateFrom to an earlier date to include the days of the window that have already passed.

Nothing matched my filter — is that an error? No, it is an empty result with an explanation in the status message. An input the actor cannot honour (an unknown indicator code, a malformed date, nextRelease without topics) fails the run instead, with a message naming the value to change.

Rate limits and politeness. Two GET requests per run, with the 2-second crawl delay the site's robots.txt asks for, plus bounded retries on throttling. No login, no captcha, no proxy.

Personal data. The two-week page prints a media contact name and phone number beside each release. They are parsed away and never written to the dataset.

Languages. English titles only; the French edition of the schedule is not read.


Made by Yadroo. Data source: Statistics Canada, release schedule of The Daily, used under the Statistics Canada Open Licence. Statistics Canada does not endorse this actor.

Sibling actors: bls-release-calendar · ons-release-calendar · us-treasury-yields · world-bank-indicators · sec-company-financials