# Economic Calendar Scraper for Official Release Dates (`cleanscrape/economic-calendar-api`) Actor

Economic calendar from official sources: release dates and times for CPI, jobs, GDP, retail sales, FOMC and central bank rate decisions in the US, euro area, UK, Canada and Australia. First-published CPI values, schedule changes, no login. $3 per 1,000 events.

- **URL**: https://apify.com/cleanscrape/economic-calendar-api.md
- **Developed by:** [CleanScrape](https://apify.com/cleanscrape) (community)
- **Categories:** News, Business, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.40 / 1,000 events

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

## Economic Calendar Scraper for Official Release Dates

An economic calendar built only from official sources: release dates and times for CPI, jobs, GDP, retail sales, PCE and central bank rate decisions in the United States, the euro area, the United Kingdom, Canada and Australia. Pick countries and dates, export the calendar to Excel, CSV or JSON, or run it on a schedule to see new, moved and released events. **$3 per 1,000 events**, no login or API key.

Every date comes from the agency that publishes the number: BLS, BEA, Census Bureau, Federal Reserve, Eurostat, ECB, ONS, Statistics Canada, Bank of Canada, ABS and RBA. CPI, jobs, GDP, retail sales, FOMC and other central bank rate decisions, with times in UTC and local time. No forecasts: consensus forecasts are compiled privately by calendar sites and are not included. Calendar coverage is broader than value coverage, and this is not a low-latency trading feed.

### Watch the walkthrough

When does the Fed announce, and what else is coming this week? In this 2-minute demo one run reads the coming week's releases from the official calendars of five economies in 26 seconds, and another returns a year of inflation releases with their values.

https://www.youtube.com/watch?v=NvZ4CM56lpc

### Start with a small run

1. Choose **United States**, or another economy, under Countries.
2. Choose **Next 7 days** and press Start. Optional settings can stay unchanged.
3. Open **Events** for the schedule and **Sources** for coverage notes. Export as JSON, CSV or Excel from Apify.

No source-site account, API key, cookie or proxy is required.

### Choose a ready-to-run example

| Example | What you get |
| --- | --- |
| [High-impact economic releases for the next 7 days](https://apify.com/cleanscrape/economic-calendar-api/examples/high-impact-economic-releases-next-7-days) | CPI, jobs, GDP and central bank decisions in all five economies, with UTC and local times |
| [US CPI and jobs report results for the past year](https://apify.com/cleanscrape/economic-calendar-api/examples/us-cpi-jobs-report-results-past-year) | Every US CPI and jobs report of the past 12 months, with the first published value where matched |
| [Daily watch: central bank rate decision dates](https://apify.com/cleanscrape/economic-calendar-api/examples/central-bank-rate-decisions-watch) | Fed, ECB, Bank of Canada and RBA decisions; after the first run only new, moved or cancelled ones |
| [UK economic release calendar for the next 30 days](https://apify.com/cleanscrape/economic-calendar-api/examples/uk-economic-calendar-next-30-days) | ONS inflation, labour market, GDP, retail sales and trade releases with their times |
| [Weekly economic calendar for Google Sheets](https://apify.com/cleanscrape/economic-calendar-api/examples/weekly-economic-calendar-google-sheets) | Next week's medium and high impact releases; schedule it on Mondays with the Google Sheets integration |

### Examples

US events for the coming week:

```json
{"countries":["US"],"dateRange":"next7"}
```

High-impact releases across all five economies:

```json
{"countries":["US","EA","UK","CA","AU"],"dateRange":"next30","minimumImpact":"high"}
```

Past UK inflation releases:

```json
{"countries":["UK"],"dateRange":"pastYear","categories":["inflation"],"includeValues":true}
```

Watch Canadian releases:

```json
{"countries":["CA"],"dateRange":"next30","watchName":"canada-release-planning","onlyChanges":true}
```

The first watch run returns matching events and creates a baseline. Reuse its name and filters to get changes. Use a new watch name if you change the countries or filters.

### Coverage

| Economy | Calendar sources |
| --- | --- |
| United States | BLS, BEA, Census Bureau, Federal Reserve, DOL weekly claims and EIA weekly petroleum |
| Euro area | Eurostat euro-indicators and ECB monetary policy meetings |
| United Kingdom | Office for National Statistics |
| Canada | Statistics Canada and Bank of Canada rate announcements |
| Australia | ABS and RBA policy board meetings |

Fed Chair and Governor speeches and testimony are optional. **Bank of England dates, consensus forecasts, private PMI values and nowcasts are not included.**

How far back and ahead each agency lists releases (measured October 2026):

| Source | Past | Ahead |
| --- | --- | --- |
| BLS | From January 2025 | To the end of the year (next year's schedule appears in December) |
| BEA, Census Bureau | From January 2025 | About 14 months |
| Federal Reserve | FOMC decisions from 2021; speeches and other events from 2017 | FOMC next year; other events this year |
| DOL weekly claims, EIA petroleum | Any date | To the end of the year |
| Eurostat | The past year | About 12 months |
| ECB | Decisions from 1999 | About 2 years |
| ONS | The past year | About 12 months |
| Statistics Canada | From 2012 (key indicators) | About 5 months |
| Bank of Canada, RBA | This year | About 14 months |
| ABS | About the latest 250 releases (back to late April 2026) | About 5 months |

Each run's Sources table shows the dates each source covered and any gap.

DOL and EIA dates follow published weekly schedules and holiday exceptions. Regular weekly entries are provisional. ECB rate decisions carry the ECB's standard announcement time, 14:15 CET, and Bank of Canada rate announcements its published time, 09:45 ET; both are marked `standard`. RBA board meetings are date-only: the RBA calendar gives no announcement time. Eurostat euro indicators are date-only because Eurostat's calendar does not give a time.

### Reading the output

| Column | Meaning |
| --- | --- |
| Event | Agency's release or meeting name |
| Date | Date in the agency's local time zone |
| Time (UTC) | Exact time where available; otherwise blank |
| Time precision | `confirmed` (the agency's calendar gives the time), `standard` (the institution's published standard time), `provisional` or `date_only` |
| Impact | CleanScrape's classification, not a prediction of market movement |
| Status | Scheduled, released, moved or cancelled, based on source evidence |
| First published | A supported first-release figure, not a later revision |
| Latest value | Current series value for that reference period; it may be revised |
| Unit | Percentage or index base used by the figure |
| Reference period | Month, quarter or other period covered |
| Official source | Link to check the release or calendar |

Blank values are intentional, not zero. Many entries are schedule-only. Passing an announcement time does not by itself mark a release as published. Local times account for daylight-saving changes; date-only entries do not receive an invented midnight timestamp.

#### Values included

| Source | Measure | Treatment |
| --- | --- | --- |
| BLS | All-items CPI annual change | First-published figure from a matched dated release; latest annual change calculated from CUUR0000SA0 and rounded to one decimal |
| ONS | All-items CPI annual change, D7G7/MM23 | Latest value for the exact month |
| Statistics Canada | All-items CPI annual change, vector 41690973 | Calculated from the official index (2002=100) and rounded to one decimal; matched the published headline for June to September 2026 |
| ABS | All-groups monthly CPI annual change, CPI 2.0.0 | Calculated from the official monthly index and rounded to one decimal; matched the published headline for January and May to July 2026 |
| Eurostat | Final HICP annual change, ECOICOP v2 | Official first-published series, not flash or revised values |

Other indicators, policy-rate figures and quarterly ABS CPI are schedule-only for now. `latestValueAsOf` is the retrieval time, not the original announcement time. See Value notes for the treatment of each matched figure.

### Watches and interrupted runs

Watches report new events, moved times, cancellations and changes to supported values. Only complete source reads update their baseline. A disappearing entry is not treated as cancelled. When a source supplies neither a stable identifier nor a reference period, a date change can appear as a new event instead of a move.

If one agency is unavailable, the others can still return data; Sources records the gap. If every requested source fails, the run fails clearly. Sources and the run report are free.

Progress and a billing journal are saved. Restart an interrupted run without changing its input to continue. Start a new run for a fresh snapshot; restarting a completed snapshot does not refresh it.

### Pricing

| Event | Base price |
| --- | --- |
| Event | $0.003 per event saved, or $3 per 1,000 rows |
| Country check | $0.005 per completely checked country per run |
| Sources table and report | Free |

A country check applies only when all of that country's sources were read completely and at least one event was saved for it, or the run has a watch name. A watch run with no changes is therefore charged one check per country. A run without a watch that finds no events is not charged.

Examples at base prices, from real runs:

| Run | Cost |
| --- | --- |
| United States, next 7 days (16 events) | $0.053 |
| All five economies, next 7 days (74 events) | $0.247 |
| All five economies, next 30 days (218 events) | $0.679 |
| Daily watch of all five economies, a day with no changes | $0.025 |

Platform usage is included.

Bronze receives 10% off, Silver 15%, and Gold and higher tiers 20% off both prices. Set Maximum cost per run in Apify to limit spending. A small safety reserve means the Actor can stop slightly below that limit.

### Sources and reuse

Each event and source row includes attribution and an official link. Original data are available directly from the agencies. The Actor charges for collection, formatting and monitoring.

- BLS: public-domain agency data; BLS cannot vouch for analyses after retrieval. [Reuse policy](https://www.bls.gov/opub/copyright-information.htm).
- BEA: source attribution. [Reuse policy](https://www.bea.gov/help/faq/147).
- Census Bureau: source attribution for government-produced statistics.
- Federal Reserve: source attribution, no endorsement. [Disclaimer](https://www.federalreserve.gov/disclaimer.htm).
- Department of Labor: source attribution. [Copyright](https://www.dol.gov/general/aboutdol/copyright).
- EIA: source and access date. [Reuse policy](https://www.eia.gov/about/copyrights_reuse.php).
- Eurostat: source attribution; formatting adapted by CleanScrape. [Copyright](https://ec.europa.eu/eurostat/help/copyright-notice).
- ECB: **Original data available free of charge from the ECB.** [Terms](https://www.ecb.europa.eu/services/using-our-site/disclaimer/html/index.en.html).
- ONS: Open Government Licence v3.0. [Terms](https://www.ons.gov.uk/help/terms-conditions).
- Statistics Canada: adapted from its release calendar and supported tables. This does not constitute an endorsement by Statistics Canada of this product. [Open licence](https://www.statcan.gc.ca/en/terms-conditions/open-licence).
- Bank of Canada: source attribution and adapted formatting. [Terms](https://www.bankofcanada.ca/terms/).
- ABS: CC BY 4.0, formatting adapted by CleanScrape. [Copyright](https://www.abs.gov.au/website-privacy-copyright-and-disclaimer).
- RBA: **Original cash-rate data available free of charge from the RBA.** [Copyright and data conditions](https://www.rba.gov.au/copyright/).

### Use it from the API

Python (`pip install apify-client`):

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("cleanscrape/economic-calendar-api").call(run_input={
    "countries": ["US", "EA", "UK"],
    "dateRange": "next7",
    "minimumImpact": "high",
})
for event in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(event["scheduledAt"], event["country"], event["name"], event["actual"] or event["latestValue"])
```

The Sources table is a separate dataset: its ID is in the run's `storageIds.datasets.sources`.

It also works as a tool in Claude, Cursor and other assistants that support MCP, through Apify's MCP server:

```
https://mcp.apify.com?tools=cleanscrape/economic-calendar-api
```

Then ask, for example: "Which high-impact releases are scheduled in the US and the euro area next week, and at what time in London?"

### Common questions

#### Where does the data come from?

From the agencies that publish the numbers: their release calendars, calendar files and public data APIs. Free calendar websites copy the same agency schedules and type the values in by hand; this Actor reads them directly and links to the official release.

#### Does it include consensus forecasts?

No. Consensus forecasts are collected privately by data vendors and calendar sites, and no official source publishes them. The Actor gives the official schedule, the first-published value where it can be read from the release itself, and the latest value of the series.

#### How accurate are the times?

They come from the agencies' own calendars and are converted to UTC with daylight-saving changes taken into account (the UK and the US change clocks a week apart). In October 2026 all 27 US releases for November and December matched an independent release calendar to the minute.

#### Can I export to Excel or Google Sheets?

Yes. Export the Events table as Excel or CSV from the Output tab, or connect Google Sheets through an Apify integration.

#### How much does a typical run cost?

A week of all five economies is about 74 events and costs $0.25. One country for a week costs about $0.05. A daily watch costs $0.005 per country on days with no changes.

#### Is it legal to use the data?

The data is published by government agencies and central banks for public use; each row carries the source's attribution and licence link. Some sources ask you to mention that the original data is available free of charge from them (ECB, RBA). This is not legal advice.

### Help

Open an Actor issue with the agency, expected release and run ID, or email contact.cleanscrape@gmail.com. Do not send API tokens or private datasets.

Happy with the results? A quick review on the Store page would help me a lot. If something’s off, tell me in the Issues tab and I’ll fix it. – Niko / CleanScrape

Maintained by CleanScrape. This independent tool is not affiliated with or endorsed by the source agencies. Source names identify coverage, not sponsorship. Schedules can change. This is not investment advice.

### More tools from CleanScrape

- [ATP and WTA Tennis Rankings Scraper](https://apify.com/cleanscrape/tennis-rankings-scraper): current ATP and WTA singles, doubles and race rankings with points and movement
- [Flashscore Tennis Scraper](https://apify.com/cleanscrape/tennis-match-data): tennis results, statistics, point-by-point and head-to-head
- [Kick Sponsor Tracker](https://apify.com/cleanscrape/kick-sponsor-tracker): which Kick streamers promote which brands, with codes and broadcast hours
- [Whatnot Scraper](https://apify.com/cleanscrape/whatnot-scraper): Whatnot listings with prices and seller stats, and live shows
- [Whatnot Seller Tracker](https://apify.com/cleanscrape/whatnot-seller-tracker): top sellers per category, items sold, sales per day and followers over time
- [TikTok Shop Product Scraper](https://apify.com/cleanscrape/tiktok-shop-product-scraper): US TikTok Shop prices, sellers and ratings
- [Bilibili Scraper](https://apify.com/cleanscrape/bilibili-scraper): Bilibili videos, danmaku, comments and creators
- [App Store Reviews & Google Play Reviews Scraper](https://apify.com/cleanscrape/app-store-reviews-scraper): reviews from both app stores in one table
- [Google Trends Scraper API](https://apify.com/cleanscrape/google-trends-scraper): search interest over time, by region, related queries and trending searches
- [Map Your Show Exhibitor List Scraper](https://apify.com/cleanscrape/event-exhibitor-monitor): trade show exhibitor lists and booth changes
- [Shopify Product Reviews Scraper API](https://apify.com/cleanscrape/shopify-reviews-scraper): Judge.me and Okendo reviews from Shopify product links
- [Google News Scraper and RSS Feed Reader](https://apify.com/cleanscrape/google-news-scraper): headlines from Google News and publisher feeds
- [Google Jobs Scraper](https://apify.com/cleanscrape/google-jobs-scraper): job listings with salaries and apply links
- [Pinterest Scraper API](https://apify.com/cleanscrape/pinterest-scraper): keyword search, public pin links and board previews; search results may lack a pin link
- [Google Hotels Scraper](https://apify.com/cleanscrape/google-hotels-scraper): hotel prices and booking offers for your dates
- [Meta Threads Scraper](https://apify.com/cleanscrape/threads-scraper): public Threads posts from accounts or post links
- [Likee Scraper API](https://apify.com/cleanscrape/likee-scraper): Likee videos and comments
- [Casino Bonus Checker](https://apify.com/cleanscrape/casino-bonus-checker): the casino bonus each affiliate and review site shows, with promo codes, 18+ notices and affiliate IDs
- [Video Frame Extractor for Scene Changes and Thumbnails](https://apify.com/cleanscrape/video-frame-extractor): still images from video files at scene changes, intervals or timestamps, with contact sheets
- [Career Page Jobs Scraper for Workday, Greenhouse and Lever](https://apify.com/cleanscrape/career-site-jobs-scraper): open jobs from company career pages, with salaries and new or closed jobs per company

# Actor input Schema

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

Choose one or more economies.

## `dateRange` (type: `string`):

Which release dates to include. Choose dates uses Start date and End date below (up to one year).

## `startDate` (type: `string`):

Only used when Dates is set to Choose dates.

## `endDate` (type: `string`):

Inclusive. Up to one year per run.

## `minimumImpact` (type: `string`):

CleanScrape classification, not a forecast of market movement.

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

Leave empty for all categories.

## `includeSpeeches` (type: `boolean`):

Chair and Governor appearances listed by the Federal Reserve.

## `includeValues` (type: `boolean`):

Adds verified figures where supported. Many releases are schedule-only; see README for coverage.

## `watchName` (type: `string`):

Optional. Reuse a name such as weekly-planning to compare runs with the same filters.

## `onlyChanges` (type: `boolean`):

Requires a watch name. The first run creates the baseline and returns its matching events.

## Actor input object example

```json
{
  "countries": [
    "US"
  ],
  "dateRange": "next7",
  "minimumImpact": "low",
  "includeSpeeches": false,
  "includeValues": true,
  "onlyChanges": false
}
```

# Actor output Schema

## `events` (type: `string`):

No description

## `report` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("cleanscrape/economic-calendar-api").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("cleanscrape/economic-calendar-api").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 '{}' |
apify call cleanscrape/economic-calendar-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,cleanscrape/economic-calendar-api"
        }
    }
}
```

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/hiPVizEpuXB2Wrh7N/builds/4R5aNUwnQuR14Tny5/openapi.json
