# Economic Calendar API: Official Release Dates, 7 Economies (`jp-data-lab/global-economic-calendar`) Actor

Upcoming CPI, jobs, GDP and central bank decisions for the US, euro area, Germany, UK, Canada, Australia and Japan, read only from official agency calendars. UTC times, importance, reference period and the latest official values. No scraping of ForexFactory or Investing.com.

- **URL**: https://apify.com/jp-data-lab/global-economic-calendar.md
- **Developed by:** [JP Data Lab](https://apify.com/jp-data-lab) (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 $2.00 / 1,000 releases

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 API: Official Release Dates, 6 Economies

Get the upcoming CPI, jobs, GDP and central bank dates for the United States, euro area, United Kingdom, Canada, Australia and Japan as clean JSON. Every row comes from the calendar of the agency that publishes the number, so times are the agency's own and the data is licensed for reuse. The Actor does not scrape ForexFactory, Investing.com or any other private site.

Use it to pause a trading bot around big releases, to send a morning note of today's events, to build a macro dashboard, or to give an AI agent an answer to "what market-moving data is out this week?". Run it on a schedule: a default run covers 2 weeks of high and medium importance releases and usually returns 25 to 40 rows.

### What you get

```json
{
  "id": "econ:bls:6d2f0a1c9b3e4f57",
  "title": "Consumer Price Index",
  "country": "US",
  "currency": "USD",
  "agency": "U.S. Bureau of Labor Statistics",
  "source": "bls",
  "category": "inflation",
  "importance": "high",
  "scheduledDate": "2026-11-10",
  "scheduledAtUtc": "2026-11-10T13:30:00Z",
  "timezone": "America/New_York",
  "dateConfirmed": true,
  "referencePeriod": null,
  "hasPassed": false,
  "latestValues": [
    {
      "series": "us-cpi",
      "label": "CPI-U, all items, seasonally adjusted",
      "unit": "index 1982-84=100",
      "latestPeriod": "2026-09",
      "latestValue": 336.298,
      "previousPeriod": "2026-08",
      "previousValue": 334.131
    }
  ],
  "url": "https://www.bls.gov/schedule/",
  "sourceTitle": "Consumer Price Index",
  "attribution": "Source: U.S. Bureau of Labor Statistics. Retrieved on the date in scrapedAt. BLS.gov cannot vouch for the data or analyses derived from these data after the data have been retrieved from BLS.gov.",
  "scrapedAt": "2026-11-01T09:00:00+00:00"
}
```

| Field | Meaning |
|---|---|
| `id` | Stable key for the release. Use it to remove repeats between runs |
| `title`, `sourceTitle` | A plain English name, and the agency's own wording. Japanese releases have an English `title` and a Japanese `sourceTitle` |
| `country` | `US`, `EA` (euro area), `GB`, `CA`, `AU` or `JP` |
| `currency` | The currency most affected, for filtering by FX pair |
| `agency`, `source` | Who publishes it, and a short key |
| `category` | `monetary-policy`, `inflation`, `employment`, `growth`, `consumer`, `production`, `trade`, `housing`, `energy`, `rates` or `other` |
| `importance` | `high`, `medium` or `low`. Our own fixed ranking, not a rating from the agency |
| `scheduledDate` | The date in the agency's own time zone |
| `scheduledAtUtc` | The release time in UTC. `null` when the agency publishes only a date |
| `timezone` | The agency's time zone |
| `dateConfirmed` | `false` when the agency marks the date as provisional or a latest possible date |
| `referencePeriod` | The month or quarter covered, when the calendar states it |
| `hasPassed` | `true` if the scheduled time was before this run. It does not prove the data came out on time |
| `latestValues` | The latest and previous official value for major indicators, see below |
| `url` | The agency's page for the release or its calendar |
| `attribution` | The credit line to keep when you pass the data on |
| `scrapedAt` | When this run produced the row |

### Input

```json
{
  "daysAhead": 7,
  "countries": ["US", "EA"],
  "importance": ["high"],
  "keywords": ["CPI", "FOMC"]
}
```

| Field | Default | |
|---|---|---|
| `daysAhead` | 14 | Days from today, up to 180 |
| `daysBack` | 0 | Also include the last N days, up to 60 |
| `countries` | all | Any of the country codes above |
| `importance` | high, medium | An empty list means all levels |
| `categories` | all | Any of the `category` values |
| `keywords` | none | Title contains any of these words |
| `includeLatestValues` | `true` | Add `latestValues` |
| `maxItems` | 100 | Total for the run, soonest first. You pay per result |

The default run takes 15 to 30 seconds. The widest possible range returns about 600 rows in under a minute.

### Latest official values

`latestValues` shows what the agency has published so far for that indicator, read from its statistics API when the run starts. It is exactly what it says: the newest figure available at that moment, with its period. It is on every upcoming row and on the most recent past row of each indicator.

- Compare `latestPeriod` with the release. An upcoming CPI row shows last month's figure, the number the market will compare against.
- Just after a release, the API can lag the agency's press release by a few minutes to a few hours. Until `latestPeriod` moves on, the figure is still the old one.
- Values are as published, with no month-on-month or year-on-year calculation. `unit` says whether it is an index, a percent or a level.

Available for US CPI, payrolls, unemployment and PPI; euro area HICP and unemployment; UK CPI, unemployment and monthly GDP; Canada CPI, unemployment and GDP; Australia unemployment. Other rows have an empty list. The US figures come from a public API that allows 25 queries a day for unregistered use, and that limit can run out on shared cloud servers. If an API cannot be reached or refuses a request, the calendar still comes through, `latestValues` is empty on those rows, and `RUN_SUMMARY` lists the error under `valueErrors`.

### Coverage

| Country | Agency | How far ahead | Time |
|---|---|---|---|
| US | Bureau of Labor Statistics | To the end of the published year | Yes |
| US | Bureau of Economic Analysis | To the end of the published year | Yes |
| US | Census Bureau | To the end of the published year | Yes |
| US | Federal Reserve Board: FOMC, Beige Book, industrial production, consumer credit | To the end of the current year | Yes |
| US | Energy Information Administration: weekly oil and gas reports | Any date. Standard weekly time plus the agency's holiday table | Yes |
| EA | European Central Bank: rate decisions, statistics | Over a year for decisions, weeks for statistics | Statistics only |
| EA | Eurostat: euro indicators | Weeks to months | No |
| GB | Office for National Statistics | Months | Yes |
| CA | Statistics Canada | 2 weeks | Yes |
| CA | Bank of Canada: rate decisions | Over a year | No |
| AU | Australian Bureau of Statistics | Up to 6 months | Yes |
| AU | Reserve Bank of Australia | Over a year | Yes |
| JP | e-Stat, the government statistics portal | Weeks to months | Yes |

### Limitations

- **No forecasts.** Market consensus is private data, so there is no `forecast` field. If you need consensus numbers, this Actor does not provide them.
- **No Bank of England and no Bank of Japan decisions.** Their website terms do not allow commercial reuse, so those dates are left out rather than copied. UK and Japanese statistics are included.
- **No speeches.** Scheduled talks by officials are not included.
- **No national euro area statistics yet.** Germany and other member states are not covered, only the euro area as a whole.
- **Some agencies publish only a date.** `scheduledAtUtc` is `null` for Eurostat and for ECB and Bank of Canada rate decisions. They are sorted at the end of their day. We do not fill in a usual time.
- **`importance` is a judgement.** It is a fixed table by release type. A release that is not in the table is left out, so unusual one-off statistics do not appear.
- **Dates can change.** Agencies move releases, for example during a government shutdown. Run the Actor close to when you need the date.
- **`daysBack` is partial.** Australia and Canada publish future dates only.
- If one agency cannot be read, the run still succeeds with the others and `RUN_SUMMARY` shows `incomplete: true` with the error.
- This is an independent tool. It is not an official product and is not affiliated with or endorsed by any agency listed here. Not investment advice.

### Data source and attribution

Each row carries its own `attribution`. Keep it when you pass the data on.

- US agencies: public domain works of the United States Government. Please cite the agency.
- U.S. Bureau of Labor Statistics: values are retrieved from the public API on the date in `scrapedAt`. BLS.gov cannot vouch for the data or analyses derived from these data after the data have been retrieved from BLS.gov.
- European Central Bank: source ECB. The information may be obtained free of charge at [ecb.europa.eu](https://www.ecb.europa.eu/).
- Bank of Canada: source Bank of Canada. The information may be obtained free of charge at [bankofcanada.ca](https://www.bankofcanada.ca/).
- Eurostat: reused under the [Eurostat copyright notice](https://ec.europa.eu/eurostat/help/copyright-notice). Reformatted by this Actor. Eurostat has no responsibility for this version.
- Office for National Statistics: contains public sector information licensed under the [Open Government Licence v3.0](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/).
- Adapted from Statistics Canada, The Daily, Release schedule. This does not constitute an endorsement by Statistics Canada of this product.
- Based on Australian Bureau of Statistics data, licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
- Reserve Bank of Australia material licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).
- Source: e-Stat, Portal Site of Official Statistics of Japan ([e-stat.go.jp](https://www.e-stat.go.jp/)). Titles translated and reformatted by this Actor.

***

### 日本語

主要 6 か国・地域（米国、ユーロ圏、英国、カナダ、オーストラリア、日本）の経済指標と中央銀行の発表日程を、各機関の公式の情報だけから取得します。ForexFactory や Investing.com は巡回しません。時刻は UTC にそろえ、重要度、対象期間、最新の公式の値を付けます。市場予想（コンセンサス）は民間のデータなので含みません。イングランド銀行と日本銀行の政策決定は、サイトの規約が商用の再利用を認めていないので含みません。

# Actor input Schema

## `daysAhead` (type: `integer`):

How many days from today to cover. Some agencies only publish a few weeks ahead, see the README.

## `daysBack` (type: `integer`):

Also include releases from the last N days. Some agencies only publish future dates, so past coverage is partial.

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

Leave empty for all. EA is the euro area.

## `importance` (type: `array`):

Our own fixed ranking of how much each release usually matters to markets, not a rating from the agency. Empty means all levels.

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

Leave empty for all.

## `keywords` (type: `array`):

Keep releases whose title contains any of these words, e.g. CPI, FOMC. Case-insensitive.

## `includeLatestValues` (type: `boolean`):

Add the latest and previous published value for major indicators, read from official statistics APIs. Turn off for a slightly faster run.

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

Total for the run, soonest first. You are charged per result.

## Actor input object example

```json
{
  "daysAhead": 14,
  "daysBack": 0,
  "countries": [],
  "importance": [
    "high",
    "medium"
  ],
  "categories": [],
  "keywords": [],
  "includeLatestValues": true,
  "maxItems": 100
}
```

# Actor output Schema

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

One item per scheduled release: title, country, currency, agency, category, importance, date, UTC time, reference period, latest official values, source link and attribution.

## `runSummary` (type: `string`):

Rows read per agency in this run, which value series were read, and any agency errors.

# 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("jp-data-lab/global-economic-calendar").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("jp-data-lab/global-economic-calendar").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 jp-data-lab/global-economic-calendar --silent --output-dataset

```

## MCP server setup

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

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/00GSrhNQyaOnnb8bI/builds/wj7NDaGEvjpiQmCIN/openapi.json
