# Eurostat Macro Data & Official Release Calendar (`boliveira/eurostat-releases`) Actor

Official Eurostat HICP inflation, GDP growth, unemployment observations and linked release calendar. EU-only allowlist, source attribution and licensing on every row.

- **URL**: https://apify.com/boliveira/eurostat-releases.md
- **Developed by:** [Bruno Scherer Oliveira](https://apify.com/boliveira) (community)
- **Categories:** Business, News
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.80 / 1,000 row returneds

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

## Eurostat Macro Data & Official Release Calendar

Official **EU inflation (HICP), GDP growth and unemployment** figures for every EU country, the EU and the euro area, together with **Eurostat's release calendar**, so you know exactly when the next figure comes out.

The data comes straight from Eurostat's own data API and calendar, which allow commercial reuse with acknowledgement. You get clean rows ready for spreadsheets, dashboards, trading or research models, and AI agents. Unlike economic-calendar Actors that scrape investing sites, this one comes from the official publisher.

### Use cases

- Keep a macro dashboard of EU and euro-area inflation, growth and unemployment up to date
- Schedule pipelines and alerts around official release dates
- Compare countries: Germany vs. Portugal vs. the euro area, monthly or quarterly
- Backfill history from 1996 for models and research

### What's included

| Series | Eurostat dataset | Meaning | Frequency |
|---|---|---|---|
| `hicp` | `prc_hicp_minr` | All-items HICP inflation, % change on a year earlier | Monthly |
| `gdp` | `namq_10_gdp` | Real GDP growth vs. previous quarter, seasonally and calendar adjusted | Quarterly |
| `unemployment` | `une_rt_m` | Unemployment rate, % of labour force, seasonally adjusted | Monthly |

**Geographies:** all 27 EU countries (`EL` = Greece), `EU27_2020`, and the euro area as `EA20` or `EA21`. The euro area grew to 21 members in 2026, and some series are only published for `EA21`. Combinations Eurostat doesn't publish are listed in `RUN_SUMMARY` and not charged.

**Release calendar:** Eurostat's own scheduled releases for the selected series, up to 90 days ahead, including flash estimates.

### Input

```json
{
  "series": ["hicp", "gdp", "unemployment"],
  "geos": ["EA21", "DE", "PT"],
  "since": "2026-01-01",
  "includeCalendar": true,
  "calendarStart": "2026-10-30",
  "calendarEnd": "2026-12-31",
  "maxRows": 1000
}
```

`since` keeps periods that **start** on or after that date. `2026-07-02`, for example, leaves out July and the third quarter. The calendar window defaults to today plus 31 days.

### Output

**Observation** (`type: "observation"`)

```json
{
  "series": "hicp", "dataset": "prc_hicp_minr", "period": "2026-09", "geo": "EA20", "geoName": "Euro area – 20 countries (2023-2025)",
  "value": 3.8, "unit": "RCH_A", "unitLabel": "Annual rate of change", "frequency": "M",
  "status": null, "datasetUpdatedAt": "2026-10-16T23:00:00+0200",
  "datasetUrl": "https://ec.europa.eu/eurostat/databrowser/view/prc_hicp_minr/default/table?lang=en",
  "acknowledgement": "Source: Eurostat (prc_hicp_minr), accessed 2026-10-30."
}
```

**Calendar release** (`type: "calendar"`)

```json
{ "releaseId": "22494428", "title": "Flash estimate inflation euro area", "date": "2026-11-04", "allDay": true, "preliminary": false, "series": ["hicp"], "datasets": ["prc_hicp_minr"] }
```

Missing values are left out, never filled in as zero. GDP and unemployment figures get revised, so keep `datasetUpdatedAt` and `status` when you compare runs. When Eurostat marks a release as all-day, `scheduledAt` is null rather than a guessed time.

### Pricing

You pay per row (observation or calendar release). Empty requests are free.

### Licence and acknowledgement

Eurostat's [copyright notice](https://ec.europa.eu/eurostat/help/copyright-notice): *"Reuse of statistical data, metadata, publications, and other dissemination tools published on this website for commercial or non-commercial purposes is authorised provided the source is acknowledged."* Some third-party and trade datasets are excepted. This Actor only serves Eurostat-owned series from a fixed allowlist, and every row carries the acknowledgement, source URL, dataset DOI and access date. This Actor is not affiliated with or endorsed by Eurostat.

# Actor input Schema

## `series` (type: `array`):

Allowlisted series: HICP all-items annual inflation (current ECOICOP v2); quarterly GDP real growth versus previous quarter; monthly seasonally adjusted total unemployment rate.

## `geos` (type: `array`):

EU member reporting areas or EU/euro-area aggregates only; EL means Greece. No non-EU third-party geographic series. Calendar events are EU-wide and are not filtered to individual countries.

## `since` (type: `string`):

Include monthly/quarterly periods whose START date is on or after this YYYY-MM-DD date. A quarter containing this date but starting earlier is excluded. Earliest supported input: 1996-01-01.

## `includeCalendar` (type: `boolean`):

Append official Eurostat-authored releases linked to selected series; one row per release, not per country. Calendar endpoints are discovered from the public Eurostat calendar page.

## `calendarStart` (type: `string`):

Optional YYYY-MM-DD date; defaults to today in UTC. Does not change the observations since-date.

## `calendarEnd` (type: `string`):

Optional YYYY-MM-DD date; defaults to 31 days after calendarStart. Maximum interval 90 days. Published schedules may not cover this entire interval.

## `maxRows` (type: `integer`):

Cap for observations and calendar rows combined; 1 to 100000. Observations are processed first. The pay-per-event budget may stop output sooner.

## Actor input object example

```json
{
  "series": [
    "hicp",
    "gdp",
    "unemployment"
  ],
  "geos": [
    "EU27_2020",
    "PT"
  ],
  "since": "2025-01-01",
  "includeCalendar": true,
  "maxRows": 10000
}
```

# Actor output Schema

## `results` (type: `string`):

Default dataset: type observation or calendar; every row includes source, licence and acknowledgement.

## `summary` (type: `string`):

Rows, per-series/geography counts, failures, empty requests, cap/budget flags and request log.

# 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 = {
    "series": [
        "hicp",
        "gdp",
        "unemployment"
    ],
    "geos": [
        "EU27_2020",
        "PT"
    ],
    "since": "2025-01-01"
};

// Run the Actor and wait for it to finish
const run = await client.actor("boliveira/eurostat-releases").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 = {
    "series": [
        "hicp",
        "gdp",
        "unemployment",
    ],
    "geos": [
        "EU27_2020",
        "PT",
    ],
    "since": "2025-01-01",
}

# Run the Actor and wait for it to finish
run = client.actor("boliveira/eurostat-releases").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 '{
  "series": [
    "hicp",
    "gdp",
    "unemployment"
  ],
  "geos": [
    "EU27_2020",
    "PT"
  ],
  "since": "2025-01-01"
}' |
apify call boliveira/eurostat-releases --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,boliveira/eurostat-releases"
        }
    }
}
```

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/epOXXUgawE49zn6SP/builds/Sg5t8h3zChdNIdhI7/openapi.json
