France is unusually tidy: almost everything comes from RTE through a single developer portal with proper OAuth, versioned APIs and real documentation. The complications are in the market, not the plumbing — nuclear availability and Tempo days.
RTE runs a developer portal at data.rte-france.com. You register, create an application, subscribe it to the specific APIs you need, and receive a client id and secret. Each API is subscribed to separately — a token that works for consumption will return 403 for generation until you add that subscription too.
# 1. exchange credentials for a token (valid ~2 hours)
POST https://digital.iservices.rte-france.com/token/oauth/
Authorization: Basic base64(client_id:client_secret)
# 2. call an API with the bearer token
GET https://digital.iservices.rte-france.com/open_api/
actual_generation/v1/actual_generations_per_production_type
?start_date=2026-09-15T00:00:00+02:00&end_date=2026-09-16T00:00:00+02:00The same guide in French, with the RTE terminology as the portal itself uses it: API RTE et données du marché électrique français.
| API | What it gives you |
|---|---|
actual_generation | Generation per production type and per unit, with nuclear broken out by reactor. |
consumption | Realised and forecast consumption, short and medium term. |
generation_installed_capacities | Installed capacity per type — the denominator for any load factor. |
unavailability_additional_information | Planned and unplanned outages per unit. In France this is the dataset that moves prices. |
big_substations_consumption | Substation-level demand, unusual granularity for a European TSO. |
tempo_like_supply_contract | The Tempo day colour — see below. |
France runs the largest nuclear fleet in Europe, and reactor availability drives prices more than wind does in Germany. A single unplanned outage at a 1.3 GW unit moves the curve. RTE publishes unit-level unavailability with reasons and expected return dates, and ENTSO-E carries the same as urgent market messages.
If you model French prices without an availability feed, you are modelling weather in a market that runs on maintenance schedules.
Tempo is a retail tariff with three day colours — blue, white, red — assigned day by day, with red days carrying very high prices and capped in number per winter. It shapes demand response and is genuinely predictive of stress days. RTE publishes both the assigned colours and the remaining counts. Nothing equivalent exists in the German or British markets.
éCO2mix is the public-facing dataset — generation mix, CO₂ content, cross-border flows, consumption — available both through the portal and as open data downloads. It is the right source for anything presentational or historical.
For anything operational, use the versioned APIs on the developer portal instead: éCO2mix is consolidated on a slower cycle and the open-data files lag the API.
France also publishes to ENTSO-E under bidding zone 10YFR-RTE------C, which is the right choice when you want France in the same schema as every other European zone — see our ENTSO-E API guide.
OAuth token rotation, per-API subscriptions, local-time offsets and outage feeds — we have built this integration and know where it breaks. If you need RTE data flowing into something reliable, talk to us.
Get in touch