Pour les professionnels

API EssenceRadar

Les ruptures de carburant et les prix des stations-service en France, en JSON, mis à jour avec le flux officiel (environ toutes les 10 minutes). Lecture seule, une clé par client, les mêmes chiffres que le site.

Authentification

Votre clé commence par erk_. Elle vous est donnée une seule fois, à l'ouverture de l'accès : nous n'en gardons qu'une empreinte. Envoyez-la dans l'en-tête Authorization, jamais dans l'adresse. Perdue ou exposée : créez-en une nouvelle depuis votre espace client, l'ancienne cesse aussitôt de fonctionner. L'API est faite pour vos serveurs : une clé placée dans une page web serait lisible par tous vos visiteurs.

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/compte"

Toutes les réponses sont en JSON (UTF-8). Sans clé, /api/v1 décrit l'API sans compter de requête.

Formules et limites

Le quota se compte par jour calendaire, heure de Paris, et repart à minuit. Chaque requête acceptée compte, y compris celles qui répondent 400 ou 404. Chaque réponse porte les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset.

FormuleRequêtes par jourRafaleSignalements terrain
Essentiel10 0005 par seconde, jusqu'à 20 d'affiléeavec le délai du site (30 min)
Pro100 00020 par seconde, jusqu'à 60 d'affiléeavec le délai du site (30 min)

Prix, souscription et conditions : offre API et conditions générales.

Ce que porte chaque réponse

Autour des données, toujours les mêmes champs : de quand datent les chiffres, d'où ils viennent et sous quelle licence.

donnees_du
Heure des données officielles (dernier fichier appliqué), heure de Paris avec son décalage ; null sans donnée.
genere_le
Heure de la réponse.
source
Flux officiel des prix des carburants (ministère de l'Économie), avec sa licence.
licences
Ce que couvre chaque licence et l'attribution à reprendre.
enseignes
Pourquoi les enseignes ne sont pas fournies.
citation
Formule de citation prête à reprendre, avec l'heure du relevé.
documentation
Cette page.

Les heures sont au format ISO 8601 avec le décalage de Paris. Une rupture est comptée d'après le flux officiel seulement, jamais d'après un signalement ; une source en panne donne un statut inconnu, jamais une rupture.

Routes

Toutes en GET, sous https://essenceradar.fr/api/v1.

Chiffres nationaux GET /france

Les chiffres de la France dans le dernier fichier officiel, identiques à ceux de l'espace presse et du fichier des chiffres du jour, et le compteur national de la carte.

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/france"

Champs

france.stations
Stations présentes dans le dernier fichier officiel.
france.stations_en_rupture
Stations ayant au moins un carburant en rupture temporaire depuis moins de 30 jours.
france.part_en_rupture_pct
stations_en_rupture divisé par stations, en pourcentage, une décimale.
france.stations_a_sec
Stations en rupture de tous les carburants qu'elles vendent.
france.rupture, vendu, prix_median
Par carburant (gazole, sp95, sp98, e10, e85, gplc) : stations en rupture, stations qui le vendent, prix médian des prix de moins de 72 h.
compteur.tombees_24h
Stations dont la rupture a commencé dans les dernières 24 heures.

Chiffres par département GET /departements

Les mêmes chiffres pour chaque département présent dans le flux, avec son code, son nom et sa page sur le site. Un seul département : /departements/{code}, avec son numéro (21, 2A, 971) ou son nom d'adresse (cote-d-or).

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/departements"

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/departements/21"

Champs

departements[].code
Numéro officiel du département.
departements[].nom
Nom officiel.
departements[].page
Page du département sur le site.
departements[].(chiffres)
Mêmes champs que france.

Stations en rupture GET /ruptures

Les stations en rupture maintenant, dans une seule zone par requête : un département, une commune (code INSEE) ou autour d'un point. Pour un département ou une commune, les chiffres de la zone (ceux de sa page sur le site) et, pour chaque carburant manquant, la station approvisionnée la plus proche. Jusqu'à 2 000 stations par zone.

Paramètres

departement
21, 2A, 971 ou cote-d-or.
commune
Code INSEE, par exemple 21231 (Dijon).
lat, lon
Position en degrés ; avec rayon (en km, jusqu'à 50, 10 par défaut) et limite (jusqu'à 100).
carburant
Facultatif : gazole, sp95, sp98, e10, e85, gplc.
curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/ruptures?departement=21"

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/ruptures?commune=21231&carburant=gazole"

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/ruptures?lat=47.322&lon=5.041&rayon=15"

Champs

zone
Type (departement, commune, autour) et désignation de la zone.
comptes
Stations présentes, en rupture, à sec, et par carburant (vendues, en rupture). Absent autour d'un point.
total, tronque
Nombre de stations listées ; tronque vaut vrai si la zone en compte davantage.
stations[].station
Identifiant, adresse, code postal, ville, commune, autoroute, lat, lon, page.
stations[].ouverte_maintenant
Vrai, faux, ou null quand les horaires publiés ne permettent pas de le dire.
stations[].ruptures[]
Carburant, depuis (heure de début officielle), depuis_minutes, rupture_ancienne (7 à 30 jours).
...station_approvisionnee_proche
Station la plus proche qui vend ce carburant, à moins de 20 km, avec sa distance et son prix.

Une station GET /stations/{id}

La fiche d'une station par son identifiant du flux officiel : statut officiel de chaque carburant avec son heure, prix et date du prix, horaires publiés, fermeture annoncée, et le résumé des signalements terrain tels que la fiche du site les montre.

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/stations/89100001"

Champs

carburants[].statut
dispo, rupture, a_verifier (rupture de plus de 30 jours), inconnu (station absente du dernier fichier), non_vendu.
carburants[].statut_officiel
Valeur brute du flux officiel.
carburants[].prix, prix_du, prix_ancien
Prix en euros par litre, son heure, et prix_ancien au-delà de 72 h.
carburants[].signalement
Dernier signalement terrain confirmé (vide ou livré), avec son heure et le nombre d'appareils ; visible faux tant que le délai n'est pas écoulé.
signalements
Délai appliqué, signalements récents, et ceux encore retenus par le délai.
presence
Présence dans le dernier fichier, dernière mise à jour, données peu fiables (rien depuis 7 jours).
ouverture
Ouverte maintenant, motif, horaires de la semaine, fermeture officielle en cours.

Historique d'un département GET /departements/{code}/historique

La part des stations en rupture, jour par jour (heure de Paris), lue dans notre entrepôt quotidien. 30 jours par défaut, jusqu'à 366. Un jour que l'entrepôt n'a pas encore calculé est absent, jamais estimé.

Paramètres

jours
De 1 à 366.
carburant
Facultatif ; sans lui, « tous » : une station compte dès qu'un de ses carburants est en rupture.
curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/departements/21/historique?jours=90"

Champs

jours[].parc
Stations du département qui ont publié un prix ce jour-là pour ce carburant, ou qui étaient en rupture ce jour-là (parc observé).
jours[].ruptures
Stations en rupture à la fin du jour calendaire (heure de Paris). Pour « tous », une station compte dès qu'un de ses carburants l'est.
jours[].part_en_rupture_pct
ruptures divisé par parc, en pourcentage, une décimale.
jours[].nouvelles_ruptures
Stations dont une rupture a commencé dans la journée.
jours[].retours
Stations dont une rupture s'est terminée dans la journée.
jours[].prix_median
Prix médian du dernier prix du jour de chaque station, en euros par litre (null pour « tous »).
jours[].definitif
Vrai quand l'historique officiel couvre le jour ; faux pour un jour encore provisoire, recalculé les jours suivants.

Votre consommation GET /compte

La formule de la clé, son quota, les requêtes utilisées et restantes aujourd'hui, l'heure de remise à zéro.

curl -H "Authorization: Bearer $ESSENCERADAR_CLE" \
  "https://essenceradar.fr/api/v1/compte"

Champs

utilisees_aujourd_hui
Requêtes comptées depuis minuit (heure de Paris), celle-ci comprise.
restantes_aujourd_hui
Ce qu'il reste avant le quota.

Erreurs

Une erreur répond en JSON avec un code stable et un message en français : { erreur, message, documentation }.

HTTPerreurCe qui se passe
401cle_manquanteAucune clé dans l'en-tête Authorization.
401cle_dans_l_adresseLa clé est dans l'adresse : refusée, elle finirait dans des journaux.
401cle_invalideClé inconnue, ou remplacée par une nouvelle.
401acces_termineAbonnement terminé, résilié ou remboursé.
429trop_de_requetesRafale dépassée. Attendez le nombre de secondes de l'en-tête Retry-After.
429quota_journalier_atteintQuota du jour atteint. Retry-After donne les secondes jusqu'à minuit, heure de Paris.
400parametres_invalidesParamètre absent ou mal écrit ; le message dit ce qui est attendu.
404introuvableDépartement, commune, station ou adresse inconnus.
503indisponibleDonnées momentanément indisponibles ; réessayez après Retry-After.

Licences

EssenceRadar est un service indépendant, ni édité ni validé par l'État.

Le widget, sans notre marque

Pour afficher la carte des ruptures d'un département sur votre site sans le nom ni les liens d'EssenceRadar, sur vos domaines seulement : le widget existe aussi en marque blanche. Les attributions de la source officielle et d'OpenStreetMap y restent : elles sont imposées par les licences.

Parler à quelqu'un

Une question avant de vous lancer ?

Cinq champs, et la réponse arrive par email. Pas d'appel, pas de relance.

Écrire à l'équipe