This comparison is for EUR/USD traders, quant developers, and analysts who want French macro data in code and are deciding between INSEE's official time-series API and FXMacroData. INSEE, France's national statistics institute, publishes the French consumer price index, the French HICP, quarterly GDP, business climate surveys, and hundreds of other indicators. Its BDM API (Banque de données macroéconomiques, listed on the INSEE API portal as "Séries chronologiques") serves those series over SDMX, free and without an API key.
The core finding is that the two products do different jobs. INSEE is the only place to get French national statistics at full detail, and it costs nothing. FXMacroData does not publish French national series: its EUR coverage is built on euro-area aggregates from Eurostat, the ECB, and the European Commission, and it adds what FX work needs on top: second-level release timestamps, one schema across 22 currencies, a release calendar, pair dashboards, and AI/MCP access. If you trade the euro off French prints specifically, you will want INSEE. If you trade it off the euro-area numbers the ECB targets, alongside US, UK, and Japanese data, FXMacroData covers that workflow.
Decision snapshot
Choose the INSEE BDM API when
You need French national series: CPI and HICP by COICOP item, quarterly accounts, business climate by sector, industrial production, or employment, straight from the publisher and free.
Choose FXMacroData when
You trade EUR crosses on euro-area releases and need second-level announcement times, the same JSON shape for 22 currencies, a calendar, FX rates, COT, yields, and MCP.
Quick answer
INSEE is the source of record for France and is free with no key. FXMacroData is a release-aware FX layer for euro-area and global data: Always Free for USD, $50/month Individual for EUR and the rest.
Takeaway: the overlap is smaller than the names suggest. Most EUR desks that care about French data use INSEE for France and a separate layer for timed, multi-currency release work.
Pricing and access
INSEE is a public body, not a vendor. The BDM API is published on the INSEE API portal under a single plan whose security mode is keyless, with a rate limit of 100 requests per minute. Older INSEE documentation (the 2020 SDMX user guide) described sign-in on the API portal and a quota of 30 requests per minute; those requirements no longer apply to BDM. You can call https://api.insee.fr/series/BDM/ from a script or notebook with no registration, and responses carry rate-limit headers so a client can pace itself.
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 unlocks EUR and 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). Full details are on the pricing page.
What it costs to get the data into code
INSEE BDM API
Free, no key*
Keyless plan, 100 requests/minute*. SDMX 2.1 over HTTPS. 1 to 400 series per idBank request; dataflow queries capped at 5,000 series.
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 rates, COT, yields, and MCP.
Takeaway: on price INSEE cannot be beaten, and for French national data there is no substitute. The FXMacroData fee pays for release timing, cross-currency normalisation, and FX tooling, not for French statistics.
Side-by-side comparison
| Attribute | INSEE BDM API | FXMacroData |
|---|---|---|
| Core job | Official French time series and indices, as published on insee.fr, over SDMX. | Release-timed FX macro data, calendar, FX rates, COT, yields, and dashboards across 22 currencies. |
| Entry pricing | Free* | Always Free (USD only); Individual $50/month; Business $250/month. |
| Free tier / key | Whole API is free; keyless plan, no registration.* | No-key USD tier, 100 requests/day, 15-minute delay; key needed for EUR. |
| Coverage | France only, in depth: 244 dataflows, including CPI and HICP by item, national accounts, business climate, production, and labour. | 700+ series across 22 currencies; EUR is euro-area level (HICP, GDP, unemployment, ECB rates, yield curve, sentiment). No French national series. |
| Release timing | Main indicators published at 08:45 Paris time, a few sensitive ones (incl. first GDP estimate) at 07:30. Series carry a date-level LAST_UPDATE. |
Second-level announcement_datetime on every release row; typically available within seconds, measured publicly. |
| API format | SDMX-ML 2.1 (XML), StructureSpecific or Generic data; idBank or dataflow-key queries. | REST JSON with OpenAPI, header auth, SSE streaming, GraphQL, Python/JS SDKs. |
| Rate limits | 100 requests/minute on the keyless plan.* | 1,000,000/month; bursts 300/minute, 5,000/hour, 20 concurrent. |
| History | Long official histories, archived base-year dataflows back to the 1970s, and access to previous releases via includeHistory. |
Release-by-release announcement history with timestamps and source metadata per series. |
| AI / MCP | No MCP server listed on the API portal. | Official MCP server for Claude, ChatGPT, Cursor, and other clients. |
| Licence for commercial use | Licence Ouverte / Open Licence 2.0 (Etalab): free reuse including commercial, with "Source : Insee" and last-update date. | Plan terms: Individual for own use, Business for teams, self-serve Commercial Redistribution add-on for display to others. |
| Best fit | French macro research, nowcasting, country-level inflation and growth models, data warehouses. | EUR and multi-currency event trading, backtests with no look-ahead, alerts, dashboards, AI agents. |
* Competitor pricing and plan terms retrieved from the INSEE API portal and INSEE legal notice pages in October 2026.
What each side covers for France and the euro
It is worth being precise here, because "EUR data" can mean two different things. INSEE publishes France. The EUR inflation series in FXMacroData is euro-area HICP, sourced from the ECB and Eurostat; euro-area GDP and unemployment come from Eurostat; the ECB policy rate, euro-area yield curve, and money supply come from the ECB; and euro-area economic sentiment comes from the European Commission. FXMacroData does not read INSEE and does not publish a French CPI, French GDP, or the INSEE business climate indicator.
Coverage map: France versus the euro area
INSEE only
French CPI and HICP (headline and by COICOP item), quarterly GDP and its components, business climate by sector, household confidence, industrial production, French employment.
FXMacroData EUR
Euro-area HICP and core HICP, GDP, unemployment, retail sales, PPI, trade and current account, ECB rates, euro-area yield curve, M1 to M3, sentiment.
FXMacroData beyond EUR
The same fields for USD, GBP, JPY, CHF and 17 more currencies, plus FX spot, CFTC COT, commodities, central-bank press releases, and a release calendar.
Takeaway: if your signal is a French print, INSEE is the data. If your signal is the euro-area number the ECB reacts to, and you want it next to other currencies, FXMacroData is the layer.
French data still matters for EUR traders. France is the euro area's second-largest economy, and its provisional HICP usually lands shortly before the euro-area flash estimate (in September 2026, on the last day of the month), so it is often read as a preview. That is a real use case for INSEE's API, and nothing in FXMacroData replaces it.
What the INSEE BDM API gives you
The BDM API exposes the same series INSEE shows in the "indices and time series" section of insee.fr. The portal description says the data is organised into about a hundred thematic groupings; the live dataflow list returned 244 dataflows in October 2026, because older base years are kept as separate flows (CPI has flows for the 1970-1980, 1990, 1998, 2015, and 2025 bases, and HICP for 2005, 2015, and 2025).
There are two ways to query. You can ask for 1 to 400 series at once by their idBank, the numeric identifier INSEE shows on each series page. Or you can query a dataflow with an SDMX key, picking values for each dimension (frequency, area, nature, indicator, correction, and flow-specific dimensions such as the COICOP item), up to 5,000 series per request. Optional parameters include startPeriod, endPeriod, firstNObservations, lastNObservations, updatedAfter, and includeHistory for previous releases.
A call for the last observation of French HICP year-on-year change looks like this, with no headers needed:
curl "https://api.insee.fr/series/BDM/data/SERIES_BDM/011812232?lastNObservations=1"
The response is SDMX-ML. Each Series element carries attributes such as TITLE_EN, NATURE (index, year-on-year change, weight), LAST_UPDATE, and DECIMALS, and each observation carries TIME_PERIOD, OBS_VALUE, and a status flag that distinguishes provisional values (P) from final ones. That metadata is rich and well suited to a statistical warehouse.
Release timing: 08:45 in Paris, and what the API records
INSEE runs a strict, pre-announced release process. Its embargo rules say the main economic indicators are published at 08:45, Paris time, and a small group of indicators classed as sensitive are published at 07:30. The quarterly GDP first estimate is one of them: INSEE's page lists the third-quarter 2026 estimate for 30 October 2026 at 07:30. CPI arrives twice for each month, as a provisional estimate around month end and as final results mid-month; the September 2026 provisional estimate came out on 30 September, and final results are scheduled for 15 October 2026 at 08:45.
What the API records about timing is date-level. A series carries a LAST_UPDATE date, and observations carry a provisional or final flag, but there is no field for the second, or even the minute, a value became public. That is fine for monthly research. For an event study or an intraday backtest, you would have to reconstruct publication times from the release calendar yourself.
How a French and euro-area inflation week unfolds
1. INSEE, 08:45 Paris
French provisional CPI and HICP on insee.fr and in the BDM API, with a date-level update stamp.
2. Other national prints
Germany, Italy, and Spain publish their own estimates on their own schedules.
3. Euro-area flash
Eurostat publishes the flash HICP; FXMacroData stores it with a second-level announcement_datetime.
4. EUR/USD reaction
Join the surprise to spot, yields, and the next ECB decision on the release calendar.
Takeaway: INSEE owns step 1; FXMacroData is built for steps 3 and 4, where the exact release second and cross-currency context decide whether a backtest is honest.
FXMacroData's timing claim is narrow 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 target, not a guarantee, and the record is public.
The data itself: French HICP from INSEE
Here is what INSEE's API serves for the headline French HICP. The chart plots the year-on-year rate for the last twelve months. October 2025 to August 2026 come from the BDM series for HICP year-on-year change (idBank 011812232); September 2026 is the provisional figure from INSEE's 30 September release. When we pulled the data, the year-on-year series ran to August, while the September index was already in the API, flagged provisional.
France HICP, year-on-year change (%)
October 2025 to September 2026 (provisional). Hover a point for the exact value.
Takeaway: French HICP inflation went from 0.4% in January 2026 to a provisional 3.4% in September, a move large enough that the timing of each print matters for EUR pricing.
API format and developer ergonomics
INSEE's API is built for statisticians. SDMX is a sound standard, and if you already run SDMX tooling for the ECB, Eurostat, or the OECD, adding INSEE is straightforward; the community pynsee Python package also wraps it. If you do not, expect to parse XML, look up idBanks or dataflow dimensions, and handle base-year changes yourself. The 2025 rebasing of CPI and HICP, for example, created new dataflows and new idBanks alongside the old ones.
FXMacroData uses one flat JSON shape for every currency and indicator. Euro-area inflation, US CPI, US non-farm payrolls, 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 values)
{
"currency": "EUR",
"indicator": "inflation",
"data": [
{
"date": "2026-09-01",
"val": 3.8,
"prior": 3.2,
"pct_change": 18.75,
"announcement_datetime": 1790845200
}
]
}
announcement_datetime
Epoch seconds for when the value became public, so a backtest can never use a number before it existed.
Same fields everywhere
Swap eur for usd, gbp, or jpy and the parser does not change.
Takeaway: INSEE gives richer statistical metadata per series; FXMacroData gives a timing field and a schema that stays identical across currencies.
Rate limits and history
The keyless BDM plan allows 100 requests per minute. Because one idBank request can return up to 400 series, and one dataflow request up to 5,000, that ceiling is generous for research and nightly refreshes. INSEE's history is the deeper of the two for France: long national series, archived base-year flows, and previous releases through includeHistory, which is valuable for revision analysis.
FXMacroData's Individual and Business plans allow 1,000,000 requests a month with bursts of 300 per minute, 5,000 per hour, and 20 concurrent requests. Its history is organised by release: each row is an announcement with its timestamp and prior value, which is the shape event studies need.
Licence for programmatic and commercial use
INSEE's legal notice states that public information on insee.fr, including data and downloadable files, is made available under the Licence Ouverte / Open Licence 2.0 from Etalab. Reuse is free, including for commercial purposes, provided you cite "Source : Insee", give the date of last update where known, and do not distort the meaning of the data. That is one of the most permissive licences any statistics office offers, and it applies to the API output too.
FXMacroData's plans are licences for use, not open data. Individual covers a trader's own research, scripts, and dashboards; Business covers teams of up to 10; and showing the data to other people, for example inside a client app or a public feed, uses the self-serve Commercial Redistribution add-on.
Where INSEE is genuinely stronger
INSEE strengths
- Publisher of record for every French national statistic.
- Free, keyless, and openly licensed for commercial reuse.
- Detail no aggregator matches: HICP by COICOP item, sector business climate, GDP components.
- Provisional flags, previous releases, and decades of history.
INSEE tradeoffs for FX work
- France only; other countries need other agencies and other parsers.
- SDMX-ML XML and idBank lookups before the first useful row.
- Update stamps are date-level, not release-second.
- No calendar feed, FX context, or MCP server in the API.
Takeaway: for French macro research, INSEE is the better product by any measure. Its gaps only show up when France is one input among many in a timed FX workflow.
If you build a French inflation nowcast, model French growth, or analyse a sector-level business climate, use INSEE. The provisional HICP is also a useful early read on the euro-area flash, and INSEE is where to get it.
Where FXMacroData is stronger
FXMacroData earns its fee where INSEE's design stops. Every release row has a second-level timestamp, so a backtest of EUR/USD around euro-area inflation or the deposit rate decision uses only what was known at the time. The same schema covers the US, UK, Japan, Switzerland, and 17 more currencies, which means a relative-value model compares like with like. A release calendar (/v1/calendar/eur), FX spot rates, CFTC COT positioning, and government bond yields sit behind the same key.
For AI workflows, the MCP server lets Claude, ChatGPT, or Cursor query releases, calendars, and FX data directly, without a custom SDMX adapter. SSE streaming pushes release events as they land, which matters to an alerting job far more than a nightly XML pull.
Decision matrix
| Your task | Better fit | Why |
|---|---|---|
| French CPI or HICP by component | INSEE | Only INSEE publishes it, at full COICOP detail. |
| French GDP or business climate model | INSEE | National accounts and survey series are INSEE's core product. |
| EUR/USD event study on euro-area releases | FXMacroData | Second-level announcement times and euro-area series in one place. |
| Multi-currency macro model | FXMacroData | One schema across 22 currencies instead of one parser per agency. |
| AI assistant answering EUR macro questions | FXMacroData | MCP server and JSON responses an agent can read directly. |
| Free public dataset or open-data product | INSEE | Licence Ouverte 2.0 allows free commercial reuse with attribution. |
| Using the French print as an early read on the euro-area flash | Both | INSEE for the French number; FXMacroData for the timed euro-area result and the pair reaction. |
Recommendation
If France is your subject, use INSEE. It is free, keyless, openly licensed, and far more detailed than any aggregator. Pair it with a calendar of its 08:45 and 07:30 releases if you need timing.
If the euro is your subject and France is one input, FXMacroData is the faster route to a working system: euro-area releases with second-level timestamps, measured delivery speed at /release-speed, the same schema for 21 other currencies, and REST, SSE, GraphQL, and MCP access. Start on the Always Free USD tier to see the schema, check the API reference, and move to the $50/month Individual plan on the pricing page when you need EUR. A 14-day trial is included.
Bottom line
INSEE is the right API for French statistics, and FXMacroData does not try to replace it. FXMacroData is the right API for trading the euro against the world on release-timed, euro-area and global data. Many EUR desks will use both.
Takeaway: choose by subject: France goes to INSEE, timed multi-currency FX work goes to FXMacroData.
Sources checked
Claims about INSEE are based on the official pages below, checked in October 2026, plus live calls to the BDM API.
- INSEE API portal, BDM ("Séries chronologiques") API listing and plan: portail-api.insee.fr
- INSEE API catalogue: insee.fr/fr/information/8184146
- BDM SDMX web service user guide (v2.2): insee.fr user guide (PDF)
- INSEE rules for dissemination of indicators (08:45 and 07:30 release times): insee.fr/en/information/5016601
- INSEE consumer prices, September 2026 provisional estimate: insee.fr/en/statistiques/9056972
- INSEE quarterly national accounts, next release date: insee.fr/en/statistiques/2011476
- INSEE legal notice and reuse licence: insee.fr/fr/information/2008466
- Licence Ouverte / Open Licence 2.0: data.gouv.fr
- FXMacroData: plans and checkout, API reference, release-speed record, and MCP pages linked above.
Related reading
- FXMacroData vs Eurostat API: the euro-area statistics behind FXMacroData's EUR series.
- FXMacroData vs Destatis GENESIS API: the same question for German data.
- FXMacroData vs ECB Data Portal API: ECB rates, money, and yield-curve data.
- Best macroeconomic data APIs in 2026: a wider buyer's guide.