This comparison is for EUR/USD traders, quant developers, and analysts who need euro-area macro data in code and are weighing Eurostat's free official APIs against FXMacroData. Eurostat is the statistical office of the European Union and the publisher of record for euro-area HICP inflation, GDP, unemployment, and the rest of the "euro indicators" that move the single currency. If you want euro-area numbers straight from the source, at no cost and with no API key, Eurostat is where they originate.
The core finding: Eurostat wins on official depth, price (free), and statistical breadth across the EU; FXMacroData wins when the job is release-timed FX work. Eurostat's APIs serve datasets with a dataset-level "last updated" stamp, and its own documentation says datasets are refreshed twice a day, at 11:00 and 23:00 CET. FXMacroData stores each release as a row with a second-level announcement_datetime, puts euro data next to US, UK, Japanese, and 18 other currencies in one schema, and adds calendars, pair dashboards, and AI/MCP access on top.
Decision snapshot
Choose the Eurostat API when
You need official EU and euro-area statistics, deep breakdowns by country and component, full history, and free access with no key for research or a data warehouse.
Choose FXMacroData when
You trade or model EUR crosses around releases and need second-level release timestamps, one schema across 22 currencies, a release calendar, and REST, SSE, or MCP access.
Quick answer
Eurostat is the source of record and costs nothing. FXMacroData is the release-aware FX layer: Always Free for USD, $50/month Individual for EUR and every other currency.
Takeaway: many EUR desks use both: Eurostat for official depth and audits, FXMacroData for timed, multi-currency release workflows.
Pricing and access
Eurostat is not a commercial vendor. Its API introduction page states that its APIs provide free-of-charge programmatic access to statistical data and metadata, and the getting-started guide does not describe any registration, account, or API key. You can call the endpoints from a script, a notebook, or a browser right away; the Statistics API also sends CORS headers, so front-end code can query it directly.
FXMacroData publishes self-serve pricing. The Always Free tier needs no key and covers USD data only, at 100 requests/day, with USD announcements delayed 15 minutes. The Individual plan is $50/month or $500/year with a 14-day trial, and it unlocks EUR plus the other 21 currencies, with 1,000,000 requests/month and bursts of 300/minute. Business is $250/month or $2,500/year for companies and teams of up to 10 people. Enterprise is by custom agreement, and a self-serve Commercial Redistribution add-on costs $10/month per block of up to 100 measured users (or 1,000 public-feed followers).
What it costs to get euro-area data into code
Eurostat APIs
Free, no key*
Statistics API (JSON-stat 2.0), SDMX 2.1, SDMX 3.0, and Catalogue API. Large extractions are moved to an asynchronous queue.
FXMacroData Always Free
$0
No key, USD data only, 100 requests/day, USD announcements delayed 15 minutes. Useful for testing the schema.
FXMacroData Individual
$50/month
EUR and 21 other currencies, 14-day trial, 1,000,000 requests/month, calendar, FX, COT, yields, and MCP.
Takeaway: on price alone Eurostat cannot be beaten. The FXMacroData fee pays for release timing, cross-currency normalisation, and the FX tooling around the numbers, not for the euro-area statistics themselves.
Side-by-side comparison
| Attribute | Eurostat APIs | FXMacroData |
|---|---|---|
| Core job | Official dissemination of EU and euro-area statistics: datasets, metadata, codelists, catalogue. | FX macro data layer: release rows, calendar, FX rates, COT, yields, dashboards, and AI access. |
| Entry pricing | Free* | $0 (USD only) or $50/month Individual for all 22 currencies |
| Free tier | Everything is free; no key described* | Always Free: USD only, 100 requests/day, 15-minute delay on USD announcements |
| Coverage | EU member states, euro area, and many other European aggregates across thousands of datasets; euro area only for the currency itself | 22 currencies including EUR, USD, GBP, JPY, CHF, AUD, CAD; 700+ indicator series |
| Release timing / latency | Euro indicator news releases at 11:00 CET/CEST (09:00 UTC in summer); datasets updated twice a day, at 11:00 and 23:00 CET; dataset-level updated stamp |
Second-level announcement_datetime on every row; typically available within seconds of official publication, measured publicly at /release-speed |
| API format | JSON-stat 2.0, SDMX-ML, SDMX-CSV, TSV | REST JSON with OpenAPI, SSE streaming, GraphQL, Python/JS SDKs |
| Rate limits | No fixed public quota; fair-use rules push heavy users to async; 500,000 to 5,000,000 cells async, above 5,000,000 rejected | 1,000,000 requests/month on paid plans; bursts 300/min, 5,000/hour, 20 concurrent |
| History | Long official history, e.g. euro-area HICP from 1996; first-release vintages for some datasets | Release history with announcement timestamps and prior values for point-in-time backtests |
| AI / MCP | None official; developers build their own adapters | Official MCP server for Claude, ChatGPT, Cursor, and other clients |
| Licence for programmatic / commercial use | Commercial and non-commercial reuse authorised with source acknowledgement (Decision 2011/833/EU); exceptions for some non-EU and third-party data | Personal/internal use on Individual; company use on Business; redistribution via the self-serve add-on |
| Best fit | Official research, warehouses, country and component depth | Release-timed EUR trading, cross-currency models, agents |
* Competitor pricing retrieved from the Eurostat API introduction and getting-started pages in October 2026. Eurostat publishes no paid API tier.
What the Eurostat API actually gives you
Eurostat runs four REST APIs from the same base, https://ec.europa.eu/eurostat/api/dissemination/. The Statistics API returns JSON-stat 2.0 and is the simplest entry point. The SDMX 2.1 and SDMX 3.0 APIs follow the international SDMX standards and serve data plus full structural metadata (data structure definitions, codelists, concept schemes) in SDMX-ML, SDMX-CSV, or TSV. The Catalogue API exposes the table of contents so you can discover dataset codes programmatically.
A euro-area headline inflation query on the Statistics API looks like this, using the current HICP dataset prc_hicp_minr, the euro-area aggregate EA, and the annual rate of change:
curl "https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_hicp_minr?geo=EA&coicop18=TOTAL&unit=RCH_A&lastTimePeriod=2&lang=en"
The response is a JSON-stat cube: dimension objects (freq, unit, coicop18, geo, time), a flat value map keyed by cell position, a status map for flags such as e (estimated), and a single dataset-level updated timestamp. It is compact and well designed, but you have to unfold the positional index into rows yourself, and there is no per-observation release time.
Dataset codes change
prc_hicp_manr
Long-standing "HICP monthly data (annual rate of change)". Eurostat's catalogue now lists it as covering 1997 to 2025, with its last observation in December 2025.
prc_hicp_minr
The ECOICOP ver.2 dataset with indices and rates of change, from 1996 to the latest month, including the flash estimate flagged e.
EA, EA20, EA21
EA is the changing-composition euro area (labelled through EA21-2026); EA21 is the 21-country area from 2026. Membership changes mean the geo code has to be chosen deliberately.
Takeaway: a script hard-coded to prc_hicp_manr still returns HTTP 200 but stops at December 2025. With the Eurostat API, you have to track classification and composition changes yourself.
Release timing: the 11:00 slot and what the API shows
Eurostat publishes euro indicators, including the HICP flash estimate, GDP, and unemployment, as news releases on a calendar set a year ahead. The flash estimate for September 2026 is a clean example: the news release "Euro area annual inflation up to 3.8%" carries a publication time of 09:00 UTC on 2 October 2026, which is 11:00 CEST. Through the Statistics API, the HICP table teicp000 and the dataset prc_hicp_minr both report "updated": "2026-10-02T11:00:00+0200", and the September observation carried the e flag.
The Eurostat database is therefore aligned with the 11:00 release slot, and its API introduction states that datasets are updated twice a day, at 11:00 and 23:00 CET, when newer data is available. What the API does not give you is a documented per-release latency figure or a timestamp per observation. The updated field describes the dataset as a whole and changes whenever anything in it changes, including revisions to other countries or months. To build a point-in-time event study from Eurostat alone, you need to poll around 11:00, detect the change, and record your own receipt time.
Euro-area HICP flash, 2 October 2026
Scheduled
The euro indicators calendar lists the flash estimate for the 11:00 slot. FXMacroData mirrors it in /v1/calendar/eur.
11:00 CEST (09:00 UTC)
Eurostat news release: annual inflation expected at 3.8%, up from 3.2% in August.
Eurostat API
Dataset updated stamp reads 11:00+02:00; value flagged e. One timestamp for the whole dataset.
FXMacroData row
A release row with val, previous_value, and a second-level announcement_datetime, pushed over SSE and readable via REST or MCP.
Takeaway: Eurostat tells you the dataset changed at 11:00; FXMacroData tells you which release happened and when, row by row, so the event can be joined to EUR/USD price data without rebuilding the timeline.
FXMacroData's timing claim is narrower and measurable: releases are typically available within seconds of official publication, against a target of one second from publication, and the measured record, by source, is published at /release-speed, including every release that took longer. It is a measured target, not a guarantee, and the record is public.
The data itself: euro-area inflation from Eurostat
The numbers are the same official statistics whichever route you take. The chart below plots euro-area HICP annual inflation for the last twelve months, as served by the Eurostat Statistics API, with September 2026 being the flash estimate. This is the series EUR traders watch most closely before an ECB meeting.
Euro-area HICP, annual rate of change (%)
October 2025 to September 2026 (flash). Hover a point for the exact value.
Takeaway: headline inflation moved from 1.7% in January to a 3.8% flash reading in September 2026, the sort of swing where the exact release time matters for EUR/USD event studies.
API format and developer ergonomics
Eurostat's formats are built for statisticians and data engineers. JSON-stat is efficient but positional: values are addressed by the product of dimension sizes, so a client library or a few lines of unfolding code is required. SDMX gives you complete structural metadata and is the right choice if you already run SDMX tooling for the ECB, the IMF, or the OECD. Dataset discovery is a real task: Eurostat's table of contents runs to thousands of entries, and the same series can appear in a main dataset and a "tec"/"tei" summary table.
FXMacroData uses one flat JSON shape for every currency and indicator. EUR inflation, the ECB policy rate, US CPI, and UK GDP all come back as rows with the same fields, documented in OpenAPI at /documentation/reference. Authentication is a single header.
curl -H "X-API-Key: YOUR_API_KEY" "https://api.fxmacrodata.com/v1/announcements/eur/inflation"
Example response (abridged, illustrative)
{
"currency": "EUR",
"indicator": "inflation",
"data": [
{
"date": "2026-09-01",
"val": 3.8,
"previous_value": 3.2,
"announcement_datetime": 1790931600
}
]
}
date is the reference period (September 2026).
announcement_datetime 1790931600 is 2026-10-02 09:00:00 UTC, the 11:00 CEST release.
previous_value sits on the row, so the surprise versus the previous print needs no second query.
Takeaway: the same row shape works for every currency, so one parser covers EUR, USD, GBP, and JPY releases.
Rate limits, async extraction, and history
Eurostat does not publish a fixed request quota. Instead, its asynchronous API page sets out cost rules: extractions estimated below 500,000 cells are served synchronously, those between 500,000 and 5,000,000 cells are moved to an asynchronous queue, and anything above 5,000,000 cells is rejected with an EXTRACTION_TOO_BIG error (HTTP 413). Fair-use criteria (concurrent requests, request counts, and cumulative extraction cost over daily, 7-day, and 30-day windows) can also force a request into async mode. Async jobs return an id that you poll at /1.0/async/status/{id} and download from /1.0/async/data/{id}; results expire after a few days or when the dataset changes. For a handful of euro-area headline series, you will rarely hit these limits. For bulk pulls across all member states and COICOP components, plan for the queue.
On history, Eurostat is hard to beat: the HICP dataset starts in 1996, the monthly unemployment dataset (une_rt_m) in 1983, and quarterly national accounts (namq_10_gdp) in 1975, with first-release vintages such as prc_hicp_fpd for some series. FXMacroData's paid plans allow 1,000,000 requests/month with bursts of 300/minute, and history is organised as release rows with announcement times and priors, which is the shape a no-lookahead backtest needs.
Licence for programmatic and commercial use
Eurostat's copyright notice authorises reuse of its statistical data and metadata for commercial or non-commercial purposes, provided the source is acknowledged, under the Commission's reuse decision 2011/833/EU. There are exceptions, notably some data on non-EU countries, certain trade data, and third-party material, which are restricted to non-commercial reuse. For euro-area headline indicators, this is a generous licence.
FXMacroData licences are plan-based: Individual covers one person's research, dashboards, and scripts; Business covers company use for up to 10 people; and the Commercial Redistribution add-on lets you show data to your own users for $10/month per block, without a quote process.
Where Eurostat is genuinely stronger
Eurostat strengths
- Publisher of record for euro-area statistics.
- Free, with no API key described.
- Country, component, and seasonal-adjustment depth no FX vendor replicates.
- SDMX metadata and long official history.
- Broad commercial reuse with attribution.
Eurostat tradeoffs
- Dataset-level
updatedstamp, no per-release time. - Dataset codes and aggregates change (e.g. the ECOICOP ver.2 migration, EA21).
- JSON-stat or SDMX parsing required.
- European statistics only; no USD, JPY, or GBP side of the pair.
FXMacroData strengths
- Second-level
announcement_datetimeper release. - One schema for 22 currencies, 700+ series.
- Calendar, FX rates, COT, yields, press releases.
- SSE streaming, OpenAPI, SDKs, and MCP.
FXMacroData tradeoffs
- Not the original publisher.
- Headline FX-relevant series, not every Eurostat breakdown.
- EUR data requires a paid plan.
Takeaway: Eurostat's advantages are depth and cost; FXMacroData's are timing and cross-currency packaging.
If your work involves HICP by country and COICOP category, regional labour-market data, national-accounts components, or official citations for a paper or a policy note, use Eurostat. FXMacroData focuses on the headline series that move currencies, such as euro-area inflation, core inflation, GDP, unemployment, and the ECB rate, and does not try to mirror Eurostat's full catalogue.
Where FXMacroData is stronger
FXMacroData's advantage shows up once the euro number has to sit next to everything else on the trade. A EUR/USD model needs the US side as well: non-farm payrolls, the Fed policy rate, and US CPI, plus FX spot, CFTC positioning on the COT dashboard, and the bond-yield spread. Eurostat covers none of the non-European side, so you would otherwise stitch together BLS, BEA, the Fed, and a price feed, each with its own format and timing.
EUR/USD on flash-HICP day
Before 11:00
The release calendar shows the EUR flash and any US data that afternoon.
At release
An SSE event delivers the row; the bot compares val with previous_value and, optionally, a forecast.
After
/v1/forex/EUR/USD and yields put the surprise in price context on the pair dashboard.
In an agent
An MCP-connected assistant summarises the print, the ECB path, and the US calendar ahead.
Takeaway: the release-day workflow uses euro and US data in one schema, with timestamps a backtest can trust.
For AI workflows, FXMacroData's official MCP server lets Claude, ChatGPT, Cursor, and other clients query release rows, calendars, and FX rates directly, without writing a JSON-stat or SDMX adapter. Trading-platform guides cover MetaTrader, TradingView, and NinjaTrader.
Decision matrix
| Your situation | Better fit | Why |
|---|---|---|
| Academic or policy research on EU inflation | Eurostat | Official source, full component and country depth, citable dataset codes. |
| Building an internal EU statistics warehouse | Eurostat | SDMX metadata, bulk async extraction, free reuse with attribution. |
| Event study of EUR/USD around euro releases | FXMacroData | Per-release announcement_datetime instead of a dataset-level update stamp. |
| Automated EUR trading bot | FXMacroData | SSE release events, calendar, FX spot, and measured release speed. |
| Cross-currency macro model (EUR, USD, GBP, JPY) | FXMacroData | One schema for 22 currencies; Eurostat covers only the European side. |
| Occasional headline check at zero cost | Eurostat | Free, no key, and the numbers are the official ones. |
| Audit trail for a published number | Both | Cite Eurostat as the source; use FXMacroData rows for when the market knew it. |
Recommendation
If you need the deepest official view of euro-area statistics and can live with dataset-level timestamps and some parsing work, use Eurostat: it is free, authoritative, and broadly licensed. Keep an eye on dataset-code migrations such as prc_hicp_manr to prc_hicp_minr.
If you trade EUR crosses or build models that react to releases, FXMacroData is the better fit. You get second-level release timestamps, a measured speed record at /release-speed, EUR alongside 21 other currencies, and FX, COT, and yield data in the same API. Compare plans at /pricing, read the endpoint reference at /documentation/reference, or start the 14-day Individual trial from the subscribe page.
Bottom line
Eurostat is the free, official source for euro-area statistics, and it is the right choice for depth and citation. FXMacroData turns those releases into timestamped, cross-currency rows built for EUR/USD trading, backtests, and AI agents. Use Eurostat to know what the number is; use FXMacroData to act on when it landed.
Sources checked (October 2026)
- Eurostat API introduction (free of charge, four APIs, 11:00 and 23:00 CET updates): ec.europa.eu/eurostat API introduction
- Eurostat API getting started (base URIs, API types): ec.europa.eu/eurostat API getting started
- Eurostat asynchronous API (cell thresholds, fair use, status and data endpoints): ec.europa.eu/eurostat asynchronous API
- Eurostat euro indicators and release calendar: ec.europa.eu/eurostat euro indicators
- Eurostat news release, euro area flash inflation September 2026: ec.europa.eu/eurostat product 2-02102026-ap
- Eurostat copyright notice and reuse policy: ec.europa.eu/eurostat copyright notice
- Eurostat Statistics API dataset responses for
prc_hicp_minr,prc_hicp_manr, andteicp000, plus the Catalogue API table of contents, queried directly. - FXMacroData: pricing, API reference, release speed record, and MCP server.