Consommation / L’API
L’API par l’exemple
Un endpoint par bloc, sa requête écrite en entier, et ce qu’elle dessine. La référence complète dit ce que veut dire chaque paramètre ; cette page dit à quoi ils servent.
Ce que la base couvre, filière par filière
Les neuf lignes de tête — huit filières et le pompage — remontent à 2012, leurs treize sous-filières à 2013, et quatre barres ne tiennent qu’à droite : ce sont celles que ODRÉ ne publie que dans son flux temps réel. realtimeOnly se voit ici, il ne se lit pas.
GET/v1/sectors
- nucleaire — de 2012-01-01 à 2026-10-20
- gaz — de 2012-01-01 à 2026-10-20
- charbon — de 2012-01-01 à 2026-10-20
- fioul — de 2012-01-01 à 2026-10-20
- hydraulique — de 2012-01-01 à 2026-10-20
- eolien — de 2012-01-01 à 2026-10-20
- solaire — de 2012-01-01 à 2026-10-20
- bioenergies — de 2012-01-01 à 2026-10-20
- pompage — de 2012-01-01 à 2026-10-20
- fioul_tac — de 2013-01-01 à 2026-10-20
- fioul_cogen — de 2013-01-01 à 2026-10-20
- fioul_autres — de 2013-01-01 à 2026-10-20
- gaz_tac — de 2013-01-01 à 2026-10-20
- gaz_cogen — de 2013-01-01 à 2026-10-20
- gaz_ccg — de 2013-01-01 à 2026-10-20
- gaz_autres — de 2013-01-01 à 2026-10-20
- hydraulique_fil_eau_eclusee — de 2013-01-01 à 2026-10-20
- hydraulique_lacs — de 2013-01-01 à 2026-10-20
- hydraulique_step_turbinage — de 2013-01-01 à 2026-10-20
- bioenergies_dechets — de 2013-01-01 à 2026-10-20
- bioenergies_biomasse — de 2013-01-01 à 2026-10-20
- bioenergies_biogaz — de 2013-01-01 à 2026-10-20
- eolien_terrestre — de 2026-07-01 à 2026-10-20
- eolien_offshore — de 2026-07-01 à 2026-10-20
- stockage_batterie — de 2026-07-01 à 2026-10-20
- destockage_batterie — de 2026-07-01 à 2026-10-20
Période couverte par chaque filière. En rose, les quatre que ODRÉ ne publie qu’en temps réel.
Voir un extrait de la réponse
{
"data": [
{
"id": "nucleaire",
"label": "Nucléaire",
"unit": "MW",
"parent": null,
"availableFrom": "2011-12-31T23:00:00.000Z",
"availableTo": "2026-10-20T00:45:00.000Z",
"realtimeOnly": false,
"role": "generation"
},
{
"id": "gaz",
"label": "Gaz",
"unit": "MW",
"parent": null,
"availableFrom": "2011-12-31T23:00:00.000Z",
"availableTo": "2026-10-20T00:45:00.000Z",
"realtimeOnly": false,
"role": "generation"
},
{
"id": "charbon",
"label": "Charbon",
"unit": "MW",
"parent": null,
"availableFrom": "2011-12-31T23:00:00.000Z",
"availableTo": "2026-10-20T00:45:00.000Z",
"realtimeOnly": false,
"role": "generation"
},
"… 23 de plus"
]
}Deux jours de production, trois filières
Le nucléaire est un socle presque plat, le solaire deux bosses symétriques, l’éolien fait sa propre météo — et les trois courbes s’arrêtent à la même minute, celle du dernier lot ingéré.
GET/v1/generation?from=2026-10-18T01:00:00Z&granularity=15min§or=eolien,nucleaire,solaire&to=2026-10-20T01:00:00Z
Et ce que parent veut dire : trois machines derrière deux filières
Une semaine de janvier, sous-secteur par sous-secteur. Le cycle combiné suit la demande de 1,2 à 6,3 GW ; la cogénération ne bouge presque pas, parce qu’elle fait d’abord de la chaleur ; et la turbine à combustion au fioul passe 141 heures sur 168 à l’arrêt, puis monte à 1,1 GW. Demander gaz et fioul moyenne tout ça.
GET/v1/generation?from=2024-01-08T00:00:00Z&granularity=1h§or=fioul_tac,gaz_ccg,gaz_cogen&to=2024-01-15T00:00:00Z
Les dix séries nationales
Toutes ne sont pas des puissances : taux_co2 est en gCO2eq/kWh, et deux des dix sont des prévisions plutôt que des mesures. C’est pour ça que l’unité voyage sur chaque entrée et pas sur la réponse.
GET/v1/metrics
| id | Libellé | Nature | Unité |
|---|---|---|---|
consommation | Consommation | mesure | MW |
prevision_j1 | Prévision J-1 | prévision | MW |
prevision_j | Prévision J | prévision | MW |
taux_co2 | Taux de CO2 | intensité | gCO2eq/kWh |
ech_physiques | Échanges physiques | échange | MW |
ech_comm_angleterre | Échanges commerciaux — Angleterre | échange | MW |
ech_comm_espagne | Échanges commerciaux — Espagne | échange | MW |
ech_comm_italie | Échanges commerciaux — Italie | échange | MW |
ech_comm_suisse | Échanges commerciaux — Suisse | échange | MW |
ech_comm_allemagne_belgique | Échanges commerciaux — Allemagne-Belgique | échange | MW |
Voir un extrait de la réponse
{
"data": [
{
"id": "consommation",
"label": "Consommation",
"unit": "MW",
"kind": "consumption",
"border": null,
"availableFrom": "2011-12-31T23:00:00.000Z",
"availableTo": "2026-10-20T00:45:00.000Z"
},
{
"id": "prevision_j1",
"label": "Prévision J-1",
"unit": "MW",
"kind": "forecast",
"border": null,
"availableFrom": "2011-12-31T23:00:00.000Z",
"availableTo": "2026-10-20T21:45:00.000Z"
},
{
"id": "prevision_j",
"label": "Prévision J",
"unit": "MW",
"kind": "forecast",
"border": null,
"availableFrom": "2011-12-31T23:00:00.000Z",
"availableTo": "2026-10-20T21:45:00.000Z"
},
"… 7 de plus"
]
}La prévision de la veille contre ce qui s’est passé
Sur huit jours, la prévision J-1 colle à la mesure à quelques centaines de mégawatts. Puis la mesure s’arrête et la prévision continue seule : la fenêtre va vingt-quatre heures plus loin que le dernier point mesuré, exprès.
GET/v1/series?from=2026-10-12T01:00:00Z&granularity=1h&metric=consommation,prevision_j1&to=2026-10-21T01:00:00Z
Les six autres métriques : ce qui traverse les frontières
Les échanges sont signés — négatif veut dire que la France exporte. Sur la même semaine de janvier, l’Italie reste en dessous de zéro d’un bout à l’autre, pendant que l’Allemagne-Belgique traverse l’axe en permanence, de −4,5 à +8,0 GW.
GET/v1/series?from=2024-01-08T00:00:00Z&granularity=1h&metric=ech_comm_allemagne_belgique,ech_comm_angleterre,ech_comm_italie&to=2024-01-15T00:00:00Z
Une semaine d’enchères, et celle de demain
Le prix day-ahead au quart d’heure, en €/MWh : deux bosses par jour ouvré, le matin et le soir, et un creux à midi que le solaire creuse parfois sous zéro. Après 13 h, la courbe va jusqu’au bout de demain — c’est la seule série du site publiée un jour à l’avance en entier.
GET/v1/prices?from=2026-10-13T22:00:00Z&granularity=15min&to=2026-10-21T22:00:00Z&zone=FR
Douze ans d’enchères, une ligne par année
Deux histoires dans la même réponse : la crise de 2022, où le prix moyen a été multiplié par huit, et la montée des heures à prix négatif, qui ne cesse pas depuis. Pondéré par le temps, parce qu’une ligne vaut une heure avant le 30 septembre 2025 et un quart d’heure après.
GET/v1/prices/annual?zone=FR
Heures passées à un prix négatif, par année civile. 2015 et l’année en cours sont hachurées : incomplètes.
Voir un extrait de la réponse
{
"data": [
{
"year": 2015,
"hours": 8664,
"complete": false,
"base": 38.46385156971363,
"median": 39,
"negativeHours": 0,
"highestDay": {
"date": "2015-11-23",
"base": 64.72958333333334
},
"lowestDay": {
"date": "2015-05-10",
"base": 11.938749999999999
},
"highest": {
"at": "2015-11-23T17:00:00.000Z",
"value": 123.46
},
"lowest": {
"at": "2015-05-10T13:00:00.000Z",
"value": 0.02
}
},
{
"year": 2016,
"hours": 8784,
"complete": true,
"base": 36.74894125683053,
"median": 32.44,
"negativeHours": 2,
"highestDay": {
"date": "2016-11-07",
"base": 125.67333333333335
},
"lowestDay": {
"date": "2016-05-08",
"base": 7.318333333333334
},
"highest": {
"at": "2016-11-07T17:00:00.000Z",
"value": 874.01
},
"lowest": {
"at": "2016-05-08T14:00:00.000Z",
"value": -10.69
}
},
{
"year": 2017,
"hours": 8760,
"complete": true,
"base": 44.96531050228318,
"median": 40.11,
"negativeHours": 4,
"highestDay": {
"date": "2017-01-25",
"base": 121.09708333333334
},
"lowestDay": {
"date": "2017-12-31",
"base": 10.935
},
"highest": {
"at": "2017-01-25T07:00:00.000Z",
"value": 206.12
},
"lowest": {
"at": "2017-04-30T13:00:00.000Z",
"value": -2.17
}
},
"… 9 de plus"
]
}Janvier 2026, un jour Tempo après l’autre
Trente et une couleurs, chacune avec l’heure où RTE l’a annoncée — la veille, à 10 h 20. Six jours rouges, tous en semaine et par séries : du 5 au 7, le 26, puis les 28 et 29. Aucun dimanche n’est blanc, aucun week-end rouge : ce sont les règles de l’offre, et la réponse les montre sans les énoncer.
GET/v1/tempo?from=2026-01-01&to=2026-02-01
Jours blancs : 1, 2, 3, 8, 10, 14, 16, 19, 20, 22, 27 et 31 janvier. Jours rouges : 5, 6, 7, 26, 28 et 29 janvier.
Voir un extrait de la réponse
{
"from": "2026-01-01",
"to": "2026-02-01",
"source": "RTE — calendrier Tempo",
"data": [
{
"date": "2026-01-01",
"color": "WHITE",
"publishedAt": "2025-12-31T09:20:00.000Z"
},
{
"date": "2026-01-02",
"color": "WHITE",
"publishedAt": "2026-01-01T09:20:00.000Z"
},
{
"date": "2026-01-03",
"color": "WHITE",
"publishedAt": "2026-01-02T09:20:00.000Z"
},
"… 28 de plus"
]
}Une ligne par saison, et le quota tenu onze fois sur douze
43 jours blancs et 22 rouges par saison, du 1er septembre au 31 août. Onze saisons closes sur douze tombent exactement sur le quota ; 2019-2020 s’est close sur 47 et 18. Pour la saison en cours, remaining dit ce qu’il reste à tirer.
GET/v1/tempo/seasons
| Remarque | ||||
|---|---|---|---|---|
| 2026-2027 (en cours) | 50 | 0 | 0 | |
| 2025-2026 | 300 | 43 | 22 | |
| 2024-2025 | 299 | 43 | 22 | RTE n’a publié aucune couleur pour le 17 août 2025 |
| 2023-2024 | 301 | 43 | 22 | |
| 2022-2023 | 300 | 43 | 22 | |
| 2021-2022 | 300 | 43 | 22 | |
| 2020-2021 | 300 | 43 | 22 | |
| 2019-2020 | 301 | 47 | 18 | Seule saison hors quota : 47 blancs, 18 rouges |
| 2018-2019 | 300 | 43 | 22 | |
| 2017-2018 | 300 | 43 | 22 | |
| 2016-2017 | 300 | 43 | 22 | |
| 2015-2016 | 301 | 43 | 22 | |
| 2014-2015 | 300 | 43 | 22 |
Voir un extrait de la réponse
{
"quota": {
"white": 43,
"red": 22
},
"source": "RTE — calendrier Tempo",
"data": [
{
"season": 2014,
"from": "2014-09-01",
"to": "2015-09-01",
"finished": true,
"days": 365,
"blue": 300,
"white": 43,
"red": 22,
"remaining": null,
"lastDay": "2015-08-31"
},
{
"season": 2015,
"from": "2015-09-01",
"to": "2016-09-01",
"finished": true,
"days": 366,
"blue": 301,
"white": 43,
"red": 22,
"remaining": null,
"lastDay": "2016-08-31"
},
{
"season": 2016,
"from": "2016-09-01",
"to": "2017-09-01",
"finished": true,
"days": 365,
"blue": 300,
"white": 43,
"red": 22,
"remaining": null,
"lastDay": "2017-08-31"
},
"… 10 de plus"
]
}Pas une heure décarbonée pendant les jours rouges
La semaine des trois premiers jours Tempo rouges de 2026, heure par heure. Du 5 au 7 janvier, aucune heure au niveau 0 ; le vendredi 9, vingt et une. Sans paramètre, la même route donne aujourd’hui et les trois jours suivants, en prévision — kind dit lequel des deux on lit.
GET/v1/ecowatt?from=2026-01-05&to=2026-01-12
| 5 janvier 2026 | 0 h décarbonées | |
|---|---|---|
| 6 janvier 2026 | 0 h décarbonées | |
| 7 janvier 2026 | 0 h décarbonées | |
| 8 janvier 2026 | 3 h décarbonées | |
| 9 janvier 2026 | 21 h décarbonées | |
| 10 janvier 2026 | 16 h décarbonées | |
| 11 janvier 2026 | 3 h décarbonées |
Voir un extrait de la réponse
{
"from": "2026-01-05",
"to": "2026-01-12",
"source": "RTE — signal Ecowatt (prévision) ; RTE / ODRÉ (historique)",
"data": [
{
"date": "2026-01-05",
"kind": "record",
"issuedAt": null,
"level": 1,
"hours": [
1,
1,
1,
"… 21 de plus"
]
},
{
"date": "2026-01-06",
"kind": "record",
"issuedAt": null,
"level": 1,
"hours": [
1,
1,
1,
"… 21 de plus"
]
},
{
"date": "2026-01-07",
"kind": "record",
"issuedAt": null,
"level": 1,
"hours": [
1,
1,
1,
"… 21 de plus"
]
},
"… 4 de plus"
]
}L’éolien de la journée, prévu la veille puis dans la journée
Aujourd’hui, quart d’heure par quart d’heure, tel que RTE l’a annoncé la veille vers 16 h (D-1) puis révisé au fil du jour (ID). Chaque valeur porte l’heure où elle a été calculée : c’est la provenance que la réponse transporte, et ce qui permet de noter une prévision une fois le jour passé.
GET/v1/generation-forecast?from=2026-10-20&issues=latest&to=2026-10-21&type=WIND_ONSHORE
Voir un extrait de la réponse
{
"type": "WIND_ONSHORE",
"from": "2026-10-20",
"to": "2026-10-21",
"issues": "latest",
"source": "RTE — prévisions de production",
"data": [
{
"ts": "2026-10-19T22:00:00.000Z",
"spanMinutes": 15,
"horizon": "D-1",
"subType": null,
"issuedAt": "2026-10-19T14:15:00.000Z",
"mw": 6703.84
},
{
"ts": "2026-10-19T22:00:00.000Z",
"spanMinutes": 15,
"horizon": "ID",
"subType": null,
"issuedAt": "2026-10-19T17:15:00.000Z",
"mw": 6549.76
},
{
"ts": "2026-10-19T22:00:00.000Z",
"spanMinutes": 15,
"horizon": "CURRENT",
"subType": null,
"issuedAt": "2026-10-19T17:15:00.000Z",
"mw": 6549.76
},
"… 285 de plus"
]
}D’ici demain soir, tout ce qui est prévu, sur une seule grille
La consommation, l’éolien et le solaire tels que RTE les prévoit, ce qu’il reste à couvrir une fois le vent et le soleil retirés, le prix, la couleur Tempo et Ecowatt — du quart d’heure en cours à minuit demain. Chaque colonne dit ce qu’elle est : forecast, computed, auction ou announcement. Sans paramètre : une fenêtre passée servirait le savoir d’aujourd’hui comme celui d’hier.
GET/v1/outlook
Voir un extrait de la réponse
{
"now": "2026-10-20T01:00:00.000Z",
"from": "2026-10-20T01:00:00.000Z",
"to": "2026-10-21T22:00:00.000Z",
"stepMinutes": 15,
"t": [
"2026-10-20T01:00:00.000Z",
"2026-10-20T01:15:00.000Z",
"2026-10-20T01:30:00.000Z",
"… 177 de plus"
],
"consumption": {
"kind": "forecast",
"mw": [
39900,
39300,
38700,
"… 177 de plus"
],
"horizon": [
"J",
"J",
"J",
"… 177 de plus"
]
},
"windOnshore": {
"kind": "forecast",
"mw": [
6281.32,
6399.55,
6517.89,
"… 177 de plus"
],
"horizon": [
"CURRENT",
"CURRENT",
"CURRENT",
"… 177 de plus"
],
"issuedAt": [
"2026-10-19T17:15:00.000Z",
"2026-10-19T17:15:00.000Z",
"2026-10-19T17:15:00.000Z",
"… 177 de plus"
]
},
"windOffshore": {
"kind": "forecast",
"mw": [
247.87,
259.06,
270.27,
"… 177 de plus"
],
"horizon": [
"CURRENT",
"CURRENT",
"CURRENT",
"… 177 de plus"
],
"issuedAt": [
"2026-10-19T17:15:00.000Z",
"2026-10-19T17:15:00.000Z",
"2026-10-19T17:15:00.000Z",
"… 177 de plus"
]
},
"solar": {
"kind": "forecast",
"mw": [
0,
0,
0,
"… 177 de plus"
],
"horizon": [
"CURRENT",
"CURRENT",
"CURRENT",
"… 177 de plus"
],
"issuedAt": [
"2026-10-19T17:15:00.000Z",
"2026-10-19T17:15:00.000Z",
"2026-10-19T17:15:00.000Z",
"… 177 de plus"
]
},
"residualDemand": {
"kind": "computed",
"formula": "consumption − windOnshore − windOffshore − solar",
"mw": [
33370.81,
32641.389999999996,
31911.84,
"… 177 de plus"
]
},
"price": {
"kind": "auction",
"zone": "FR",
"eurMwh": [
175.35,
173.62,
173.25,
"… 177 de plus"
]
},
"ecowatt": {
"kind": "forecast",
"level": [
0,
0,
0,
"… 177 de plus"
]
},
"days": [
{
"date": "2026-10-20",
"hours": 24,
"tempo": {
"kind": "announcement",
"color": "BLUE",
"publishedAt": "2026-10-19T08:20:00.000Z"
},
"ecowatt": {
"kind": "forecast",
"issuedAt": "2026-10-19T20:00:00.000Z",
"level": 1,
"hours": [
1,
1,
1,
"… 21 de plus"
]
}
},
{
"date": "2026-10-21",
"hours": 24,
"tempo": null,
"ecowatt": {
"kind": "forecast",
"issuedAt": "2026-10-19T20:00:00.000Z",
"level": 1,
"hours": [
1,
0,
0,
"… 21 de plus"
]
}
}
],
"sources": {
"consumption": "RTE / ODRÉ — eCO2mix",
"generationForecast": "RTE — prévisions de production",
"price": "ENTSO-E Transparency Platform — prix day-ahead (EPEX SPOT, Nord Pool)",
"tempo": "RTE — calendrier Tempo",
"ecowatt": "RTE — signal Ecowatt (prévision) ; RTE / ODRÉ (historique)"
}
}Treize ans de consommation, en un kilo-octet
Les extrêmes, les moyennes et la bande habituelle sur 4 749 journées complètes — calculés en SQL plutôt qu’en tirant la série. La fenêtre est close, donc la réponse est servie immutable : elle ne changera plus jamais.
GET/v1/stats/summary?from=2011-12-31T23:00:00Z&metric=consommation&to=2024-12-31T23:00:00Z
Ce que la réponse contient
Les mêmes chiffres, mis en phrases.
- Pointe
- 102,1 GW8 février 2012
- Creux
- 29,1 GW10 mai 2020
- Moyenne
- 1 276,2 GWhpar jour
- Total
- 6 060,58 TWhsur la période
La France y a consommé 6 060,58 TWh d'électricité, soit 1 276,2 GWh par jour en moyenne.
La journée la plus chargée a été le 8 février 2012, avec 2 258,3 GWh — une moyenne de 94,1 GW sur les vingt-quatre heures. La plus calme a été le 16 août 2015, avec 854,1 GWh, soit 35,6 GW en moyenne.
La pointe de puissance a été atteinte le 8 février 2012 à 19:00, à 102,1 GW. Le creux est tombé le 10 mai 2020 à 07:00, à 29,1 GW.
Neuf journées sur dix tombent entre 938,4 GWh et 1 755,4 GWh : c'est l'amplitude ordinaire, hors vagues de froid et hors ponts d'été.
Voir un extrait de la réponse
{
"metric": "consommation",
"unit": "MW",
"energyUnit": "MWh",
"from": "2011-12-31T23:00:00.000Z",
"to": "2024-12-31T23:00:00.000Z",
"source": "RTE / ODRÉ — eCO2mix",
"meta": {
"statusMin": "definitive",
"frozen": true,
"watermarks": {
"definitive": {
"from": "2011-12-31T23:00:00.000Z",
"through": "2024-12-31T22:45:00.000Z"
},
"consolidated": {
"from": "2024-12-31T23:00:00.000Z",
"through": "2026-08-31T21:45:00.000Z"
},
"realtime": {
"from": "2026-06-30T22:15:00.000Z",
"through": "2026-10-20T21:45:00.000Z"
}
},
"daysComplete": 4749,
"daysExcluded": 0
},
"daily": {
"rankedBy": "energyMwh",
"highest": {
"date": "2012-02-08",
"meanMw": 94096.6875,
"energyMwh": 2258320.5
},
"lowest": {
"date": "2015-08-16",
"meanMw": 35589.166666666664,
"energyMwh": 854140
},
"meanEnergyMwh": 1276179.739295992,
"totalEnergyMwh": 6060577581.916666,
"p05EnergyMwh": 938432.4,
"p95EnergyMwh": 1755410.4999999998
},
"instant": {
"peak": {
"at": "2012-02-08T18:00:00.000Z",
"date": "2012-02-08",
"value": 102098
},
"trough": {
"at": "2020-05-10T05:00:00.000Z",
"date": "2020-05-10",
"value": 29124
}
}
}Le week-end n’est pas seulement plus léger, il est plus propre
Le contenu carbone heure par heure, samedi et dimanche mis à part. C’est la question que le navigateur ne peut pas poser lui-même : un profil sur treize ans demande treize ans de points horaires, et /v1/series plafonne le pas horaire à 366 jours.
GET/v1/stats/profile?by=hour-of-day&from=2011-12-31T23:00:00Z&metric=taux_co2&to=2024-12-31T23:00:00Z
Le même endpoint groupé par mois
by prend trois valeurs et la galerie n’en montrait qu’une. Groupé par mois, sur treize ans de consommation : janvier appelle 71,0 GW un jour ouvré contre 64,3 le week-end, août 44,4 contre 39,3 — l’écart se resserre en valeur absolue et s’élargit en proportion.
GET/v1/stats/profile?by=month&from=2011-12-31T23:00:00Z&metric=consommation&to=2024-12-31T23:00:00Z
Lundi-vendredi · Samedi-dimanche
GW · médiane de la puissance appelée par mois, jours ouvrés puis week-ends, sur treize ans. Chaque paire est lue « semaine / week-end ».
Une ligne par année civile
Treize années *entières*, donc comparables entre elles : aucune n’est partielle, et complete le dit ligne par ligne. Treize lignes et un seul parcours, contre cinq mille points quotidiens à additionner soi-même.
GET/v1/stats/annual?from=2011-12-31T23:00:00Z&metric=consommation&to=2024-12-31T23:00:00Z
TWh consommés par année civile, heure de Paris. Le trait discontinu est la moyenne de la période.
Voir un extrait de la réponse
{
"metric": "consommation",
"unit": "MW",
"energyUnit": "MWh",
"from": "2011-12-31T23:00:00.000Z",
"to": "2024-12-31T23:00:00.000Z",
"source": "RTE / ODRÉ — eCO2mix",
"meta": {
"statusMin": "definitive",
"frozen": true,
"watermarks": {
"definitive": {
"from": "2011-12-31T23:00:00.000Z",
"through": "2024-12-31T22:45:00.000Z"
},
"consolidated": {
"from": "2024-12-31T23:00:00.000Z",
"through": "2026-08-31T21:45:00.000Z"
},
"realtime": {
"from": "2026-06-30T22:15:00.000Z",
"through": "2026-10-20T21:45:00.000Z"
}
},
"daysComplete": 4749,
"daysExcluded": 0
},
"years": [
{
"year": 2012,
"totalEnergyMwh": 486614652.2291667,
"meanMw": 55397.84292226397,
"minMw": 30521,
"maxMw": 102098,
"daysComplete": 366,
"daysInYear": 366,
"complete": true
},
{
"year": 2013,
"totalEnergyMwh": 492164509.5208333,
"meanMw": 56183.163187309736,
"minMw": 29632,
"maxMw": 92629,
"daysComplete": 365,
"daysInYear": 365,
"complete": true
},
{
"year": 2014,
"totalEnergyMwh": 462344000.3958333,
"meanMw": 52778.99547897641,
"minMw": 29477,
"maxMw": 82607,
"daysComplete": 365,
"daysInYear": 365,
"complete": true
},
"… 10 de plus"
]
}La forme de l’année française
Une cellule par jour du calendrier, la médiane de ce jour-là sur treize ans et les quartiles autour. La crête de janvier, le creux du 15 août, et l’encoche de Noël — que seule une médiane sur plusieurs années fait sortir du bruit.
GET/v1/stats/seasonal?from=2011-12-31T23:00:00Z&grain=day&metric=consommation&to=2024-12-31T23:00:00Z
Les treize tranches charbon, dont quatre à l’arrêt
La question que la courbe par filière ne peut pas poser : *quelle* centrale. Émile-Huchet 6 à 600 MW, les deux tranches de Cordemais à 580, puis quatre unités En retrait provisoire — Bouchain et La Maxe. Elles sont rendues et non masquées : pour le charbon français, elles *sont* l’histoire.
GET/v1/plants?limit=13§or=charbon
| Cordemais 4 | TAV | Cordemais | 580 MW | 1984 | 323 GWh | 6 % |
|---|---|---|---|---|---|---|
| Cordemais 5 | TAV | Cordemais | 580 MW | 1984 | 87 GWh | 2 % |
| Emile-Huchet 6 | TAV | Saint-Avold | 600 MW | 1982 | 72 GWh | 1 % |
| Dombasle (Ste Solvay) 4 | Autre | Varangéville | 14 MW | 1964 | 57 GWh | 47 % |
| Dombasle (Ste Solvay) 5 | Autre | Varangéville | 14 MW | 1967 | 57 GWh | 47 % |
| Dombasle (Ste Solvay) 3 | Autre | Varangéville | 6 MW | 1941 | 24 GWh | 47 % |
| Peage-De-Roussillon-Nord 3 | Cogénération | Roussillon | 12 MW | — | 0 GWh | — |
| Bouchain 2 — en retrait provisoire | TAV | Bouchain | 250 MW | 1970 | — | — |
| Maxe (La) 2 — en retrait provisoire | TAV | La Maxe | 250 MW | 1971 | — | — |
| Maxe (La) 1 — en retrait provisoire | TAV | La Maxe | 250 MW | 1971 | — | — |
| Bouchain 1 — en retrait provisoire | TAV | Bouchain | 250 MW | 1970 | — | — |
| AQUITAINE GEOGAZ PONTENX | Autre | Parentis-en-Born | 4 MW | 2019 | — | — |
| Confidentiel | TAV | Brest | 0 MW | 2022 | — | — |
Et ce que total sert à dire : dix installations sur 2742
Le même classement pour l’hydraulique renvoie dix lignes sur 2742, là où le charbon en renvoyait treize sur treize. Sans total, les deux réponses se ressemblent — et l’une couvre le parc entier quand l’autre en montre 0,4 %.
GET/v1/plants?limit=10§or=hydraulique
| Grand-Maison | Pompage turbinage | Vaujany | 1 690 MW | — | 2 122 GWh | — |
|---|---|---|---|---|---|---|
| Montezic | Pompage turbinage | Montézic | 910 MW | 1990 | 1 864 GWh | — |
| Bollene (Specialise) | Fil de l'eau | Bollène | 345 MW | — | 1 693 GWh | — |
| Genissiat | Lac | Injoux-Génissiat | 405 MW | 1990 | 1 490 GWh | 42 % |
| Chateauneuf-Du-Rhone | Fil de l'eau | Châteauneuf-du-Rhône | 285 MW | — | 1 325 GWh | — |
| Beaucaire | Fil de l'eau | Beaucaire | 210 MW | — | 1 069 GWh | — |
| Revin | Pompage turbinage | Les Mazures | 808 MW | 1990 | 1 063 GWh | — |
| Beauchastel | Fil de l'eau | Beauchastel | 222 MW | — | 984 GWh | — |
| Bourg-Les-Valence | Fil de l'eau | Bourg-lès-Valence | 186 MW | — | 894 GWh | — |
| Fessenheim | Fil de l'eau | Fessenheim | 175 MW | 1990 | 774 GWh | 51 % |
Voir un extrait de la réponse
{
"sector": "charbon",
"total": 13,
"totalCapacityMw": 2810.719,
"source": "RTE, Enedis, EDF SEI, ELD / ODRÉ — registre national des installations",
"data": [
{
"eic": "17W100P100P0017S",
"name": "CORD5T04 - GROUPE 04 DE LA CENTRALE THERMIQUE DE CORDEMAIS",
"filiere": "Thermique non renouvelable",
"fuel": "Charbon",
"technology": "Turbine à vapeur",
"capacityMw": 580,
"units": 1,
"regime": "En service",
"commune": "Cordemais",
"departement": "Loire-Atlantique",
"region": "Pays de la Loire",
"commissionedOn": "1984-05-12",
"energyMwh": 322891.874,
"loadFactor": 0.064
},
{
"eic": "17W100P100P0018Q",
"name": "CORD5T05 - GROUPE 05 DE LA CENTRALE THERMIQUE DE CORDEMAIS",
"filiere": "Thermique non renouvelable",
"fuel": "Charbon",
"technology": "Turbine à vapeur",
"capacityMw": 580,
"units": 1,
"regime": "En service",
"commune": "Cordemais",
"departement": "Loire-Atlantique",
"region": "Pays de la Loire",
"commissionedOn": "1984-12-21",
"energyMwh": 87216.43,
"loadFactor": 0.017
},
{
"eic": "17W100P100P0005Z",
"name": "E.HUCT06 - GROUPE 06 DE LA CENTRALE THERMIQUE DE EMILE-HUCHET",
"filiere": "Thermique non renouvelable",
"fuel": "Charbon",
"technology": "Turbine à vapeur",
"capacityMw": 600,
"units": 1,
"regime": "En service",
"commune": "Saint-Avold",
"departement": "Moselle",
"region": "Grand Est",
"commissionedOn": "1982-01-01",
"energyMwh": 72184.416,
"loadFactor": 0.014
},
"… 10 de plus"
]
}Cestas, vingt-cinq lots et une seule centrale
Le registre publie des raccordements, pas des centrales : la plus grande centrale solaire de France y figure en vingt-cinq lots de 9,2 MW, et un classement ligne à ligne ne la montre jamais. Ici les lots d’un même site sont réunis — lots dit combien, lotRows lesquels — et Cestas passe en tête, à 229 MW.
GET/v1/plants/sites?limit=10§or=solaire&sort=energy
Les principales installations
Les 10 premiers des 91 058 sites que le registre national recense pour le solaire, qui totalisent 28,7 GW. Le registre publie certains sites en plusieurs lots : Constantin en compte 25, réunis ici en une ligne.
Constantin25 lots
| Cestas | 229 MW | 2015 | 300 GWh | 15 % |
|---|---|---|---|---|---|
Jametz10 lots
| Jametz | 137 MW | 2021 | 112 GWh | 9 % |
Toul-Rosieres10 lots
| Blénod-lès-Pont-à-Mousson, Toul | 97 MW | 2012 | 111 GWh | — |
| Nivouville | Châteaudun | 88 MW | 2025 | 71 GWh | — |
Crucey-Villages5 lots
| Thimert-Gâtelles | 50 MW | 2013 | 61 GWh | 14 % |
Betjanot4 lots
| Casteljaloux | 34 MW | — | 42 GWh | — |
Massangis3 lots
| Avallon | 30 MW | 2012 | 38 GWh | 14 % |
Verrerie (La)2 lots
| Néoules | 22 MW | 2013 | 33 GWh | 17 % |
Blaux3 lots
| Curbans | 23 MW | — | 32 GWh | — |
Sulauze2 lots
| Istres | 20 MW | 2014 | 31 GWh | 18 % |
Voir un extrait de la réponse
{
"sector": "solaire",
"total": 91058,
"totalCapacityMw": 28733.259,
"source": "RTE, Enedis, EDF SEI, ELD / ODRÉ — registre national des installations",
"data": [
{
"site": "33122:CENTRALE SOLAIRE PHOTOVOLTAIQUE DE CONSTANTIN",
"name": "CENTRALE SOLAIRE PHOTOVOLTAIQUE DE CONSTANTIN",
"filiere": "Solaire",
"fuel": null,
"technology": "Photovoltaïque",
"capacityMw": 228.75,
"lots": 25,
"energyMwh": 300440.782,
"loadFactor": 0.15,
"retiredLots": 0,
"commune": "Cestas",
"departement": "Gironde",
"region": "Nouvelle-Aquitaine",
"commissionedOn": "2015-09-29",
"lotRows": [
{
"eic": "17W100P100P0583W",
"name": "CONSTV01 - ADP 01 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE CONSTANTIN",
"capacityMw": 9.15,
"energyMwh": 10518.66,
"regime": "En service",
"commissionedOn": "2015-09-29"
},
{
"eic": "17W100P100P0976D",
"name": "CONSTV02 - ADP 02 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE CONSTANTIN",
"capacityMw": 9.15,
"energyMwh": 11538.692,
"regime": "En service",
"commissionedOn": "2015-09-29"
},
{
"eic": "17W100P100P0935R",
"name": "CONSTV03 - ADP 03 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE CONSTANTIN",
"capacityMw": 9.15,
"energyMwh": 12137.084,
"regime": "En service",
"commissionedOn": "2015-09-29"
},
"… 22 de plus"
]
},
{
"site": "55255:CENTRALE SOLAIRE PHOTOVOLTAIQUE DE JAMETZ",
"name": "CENTRALE SOLAIRE PHOTOVOLTAIQUE DE JAMETZ",
"filiere": "Solaire",
"fuel": null,
"technology": "Photovoltaïque",
"capacityMw": 137.235,
"lots": 10,
"energyMwh": 112258.08,
"loadFactor": 0.093,
"retiredLots": 0,
"commune": "Jametz",
"departement": "Meuse",
"region": "Grand Est",
"commissionedOn": "2021-04-01",
"lotRows": [
{
"eic": "17W000001023701W",
"name": "JAMETV04 - ADP 04 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE JAMETZ",
"capacityMw": 18.4,
"energyMwh": 14435.459,
"regime": "En service",
"commissionedOn": "2021-04-01"
},
{
"eic": "17W0000010236951",
"name": "JAMETV02 - ADP 02 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE JAMETZ",
"capacityMw": 18.2,
"energyMwh": 13552.609,
"regime": "En service",
"commissionedOn": "2021-04-01"
},
{
"eic": "17W0000010236935",
"name": "JAMETV07 - ADP 07 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE JAMETZ",
"capacityMw": 16.835,
"energyMwh": 15495.165,
"regime": "En service",
"commissionedOn": "2021-04-01"
},
"… 7 de plus"
]
},
{
"site": "site:toul-rosieres",
"name": "CENTRALE SOLAIRE PHOTOVOLTAIQUE DE TOUL-ROSIERES",
"filiere": "Solaire",
"fuel": null,
"technology": "Photovoltaïque",
"capacityMw": 96.5,
"lots": 10,
"energyMwh": 111037.204,
"loadFactor": null,
"retiredLots": 0,
"commune": "Blénod-lès-Pont-à-Mousson, Toul",
"departement": "Meurthe-et-Moselle",
"region": "Grand Est",
"commissionedOn": "2012-07-31",
"lotRows": [
{
"eic": "17W100P100P2923O",
"name": "R.HA5V01 - ADP 01 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE TOUL-ROSIERES (SOLAIRE 1)",
"capacityMw": 10.08,
"energyMwh": 11222.704,
"regime": "En service",
"commissionedOn": null
},
{
"eic": "17W100P100P0589K",
"name": "R.HA5V02 - ADP 02 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE TOUL-ROSIERES (SOLAIRE 1)",
"capacityMw": 10.08,
"energyMwh": 11408.688,
"regime": "En service",
"commissionedOn": null
},
{
"eic": "17W100P100P2737L",
"name": "R.HA5V03 - ADP 03 DE LA CENTRALE SOLAIRE PHOTOVOLTAIQUE DE TOUL-ROSIERES (SOLAIRE 1)",
"capacityMw": 10.08,
"energyMwh": 11471.291,
"regime": "En service",
"commissionedOn": null
},
"… 7 de plus"
]
},
"… 7 de plus"
]
}Quelle centrale à charbon tourne, à cette heure
La seule question que la courbe par filière ne peut pas poser. Trois groupes charbon publient encore — Cordemais 4 et 5, Émile-Huchet 6 — et dix-sept ont cessé de produire depuis 2012. running est vrai au-delà de 1 MW : une tranche à l’arrêt lit un mégawatt sous zéro, pour ses propres auxiliaires.
GET/v1/plants/live?sector=charbon
Qui tourne en ce moment
Aucun des 3 groupes que RTE publie pour cette filière ne produit.
Cordemaisà l’arrêt
- CORDEMAIS 4, CORDEMAIS 5
Saint-Avoldà l’arrêt
- EMILE HUCHET 6
Relevé du 19 octobre 2026 à 05:00, heure de Paris. Source : RTE — production par groupe. 17 autres groupes de cette filière ont cessé de produire depuis 2012.
Voir un extrait de la réponse
{
"sector": "charbon",
"at": "2026-10-19T03:00:00.000Z",
"running": 0,
"fleet": 3,
"retired": 17,
"source": "RTE — production par groupe",
"data": [
{
"eic": "17W100P100P0017S",
"name": "CORDEMAIS 4",
"mw": 0,
"capacityMw": 580,
"commune": "Cordemais",
"running": false
},
{
"eic": "17W100P100P0005Z",
"name": "EMILE HUCHET 6",
"mw": 0,
"capacityMw": 600,
"commune": "Saint-Avold",
"running": false
},
{
"eic": "17W100P100P0018Q",
"name": "CORDEMAIS 5",
"mw": -3,
"capacityMw": 580,
"commune": "Cordemais",
"running": false
}
]
}Jusqu’où va la donnée, à la minute près
Les trois paliers de fiabilité et leur portée. La métrique est *en avance* sur la génération — la prévision du lendemain est déjà publiée — et le prix l’est jusqu’à la fin de demain ; la production par groupe arrive une fois par jour. C’est pour ça que les quatre domaines sont rapportés séparément et que lagSeconds prend le pire des quatre.
GET/v1/health
- upbase de données
- 22 h 03retard global, le pire des quatre
- 18 mingénération
- 0 minmétriques
- 22 h 03production par groupe
- 0 minprix day-ahead
Relevé à 03:03, heure de Paris.
- definitive — de 2012-01-01 à 2024-12-31
- consolidated — de 2025-01-01 à 2026-08-31
- realtime — de 2026-07-01 à 2026-10-20
Portée de chaque palier de fiabilité, sur la table de génération.
Voir un extrait de la réponse
{
"database": "up",
"runs": [
{
"job": "entsoe.prices",
"status": "ok",
"startedAt": "2026-10-19T16:15:24.828Z",
"finishedAt": "2026-10-19T16:15:31.948Z"
},
{
"job": "odre.backfill",
"status": "ok",
"startedAt": "2026-09-24T15:38:08.435Z",
"finishedAt": "2026-09-24T15:38:21.305Z"
},
{
"job": "odre.consolidation",
"status": "ok",
"startedAt": "2026-10-19T03:17:22.569Z",
"finishedAt": "2026-10-19T03:17:50.101Z"
},
"… 6 de plus"
],
"lagSeconds": 79401,
"domains": {
"generation": {
"watermarks": {
"definitive": {
"from": "2011-12-31T23:00:00.000Z",
"through": "2024-12-31T22:30:00.000Z"
},
"consolidated": {
"from": "2024-12-31T23:00:00.000Z",
"through": "2026-08-31T21:30:00.000Z"
},
"realtime": {
"from": "2026-06-30T22:00:00.000Z",
"through": "2026-10-20T00:45:00.000Z"
}
},
"lastDataAt": "2026-10-20T00:45:00.000Z",
"lagSeconds": 1101
},
"metric": {
"watermarks": {
"definitive": {
"from": "2011-12-31T23:00:00.000Z",
"through": "2024-12-31T22:45:00.000Z"
},
"consolidated": {
"from": "2024-12-31T23:00:00.000Z",
"through": "2026-08-31T21:45:00.000Z"
},
"realtime": {
"from": "2026-06-30T22:15:00.000Z",
"through": "2026-10-20T21:45:00.000Z"
}
},
"lastDataAt": "2026-10-20T21:45:00.000Z",
"lagSeconds": 0
},
"unit_generation": {
"watermarks": {
"realtime": {
"from": "2011-12-31T23:00:00.000Z",
"through": "2026-10-19T03:00:00.000Z"
}
},
"lastDataAt": "2026-10-19T03:00:00.000Z",
"lagSeconds": 79401
},
"price": {
"watermarks": {
"realtime": {
"from": "2015-01-04T23:00:00.000Z",
"through": "2026-10-20T21:45:00.000Z"
}
},
"lastDataAt": "2026-10-20T21:45:00.000Z",
"lagSeconds": 0
}
}
}Sources : RTE et ODRÉ pour eCO2mix, le registre des installations et l’historique Ecowatt, sous Licence Ouverte ; RTE pour Tempo, les prévisions Ecowatt, les prévisions de production et la production par groupe. L’attribution est requise. Les prix day-ahead viennent de la plateforme ENTSO-E et appartiennent à EPEX SPOT et Nord Pool : ce ne sont pas des données ouvertes. Référence complète de l’API.