MaPompe The right price, within a tankful.
Developers

MaPompe API

Integrate MaPompe stations and fuel prices into an application, website or service.

01 · GETTING STARTED

Base URL

v1
https://mapompe.com/api/v1

The commercial API uses API-key authentication. Calls are intended for server-to-server use.

Important: The /api/stations endpoint used by the public MaPompe website is an internal API. It is not part of the commercial API and access is protected.

02 · AUTHENTICATION

API key

Create a key from My account → Developer API. The full key is displayed only once.

X-API-Key: mp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Bearer authentication is also accepted:

Authorization: Bearer mp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Never place an API key in browser-distributed JavaScript, an unprotected mobile app or a public Git repository.

03 · ENDPOINT

Stations around a point

GET
/api/v1/stations

Returns the nearest active stations, sorted by price and then distance.

Parameter Type Required Description
lat number Yes Latitude du centre.
lng number Yes Longitude du centre.
radius number No Rayon en kilomètres selon le plan.
fuel string No gazole, e10, sp95, sp98, e85 ou gplc.
limit integer No Nombre maximal de stations selon le plan.
curl -H "X-API-Key: mp_live_xxx" \ "https://mapompe.com/api/v1/stations?lat=43.3442&lng=3.2150&radius=10&fuel=gazole&limit=25"
{ "data": [ { "id": 123, "country": "FR", "slug": "station-exemple", "name": "Station Exemple", "brand": "TotalEnergies", "address": "10 rue Exemple", "city": "Béziers", "postcode": "34500", "latitude": 43.3442, "longitude": 3.2150, "price_eur": 1.749, "observed_at": "2026-09-24 12:00:00", "distance_km": 1.42, "price_quality": "official", "station_url": "https://mapompe.com/station/FR/station-exemple" } ], "meta": { "count": 1, "fuel": "gazole", "latitude": 43.3442, "longitude": 3.2150, "radius_km": 10, "limit": 25, "plan": "free", "plan_name": "Free" } }

05 · ENDPOINT

Price history

GET
/api/v1/stations/{station_id}/history

Returns the price evolution for a fuel at a station. Available history depends on the plan.

Parameter Type Required Description
station_id integer Yes Identifiant de la station dans MaPompe.
fuel string No Carburant demandé.
days integer No Nombre de jours selon le plan.
curl -H "X-API-Key: mp_live_xxx" \ "https://mapompe.com/api/v1/stations/123/history?fuel=gazole&days=14"
{ "data": [ { "price_eur": 1.749, "observed_at": "2026-09-24 12:00:00" }, { "price_eur": 1.739, "observed_at": "2026-09-23 12:00:00" } ], "meta": { "station_id": 123, "fuel": "gazole", "days": 14, "count": 2, "plan": "free", "plan_name": "Free" } }

06 · PLANS

Plans and limits

Free

0 €
  • 1 000 requêtes / mois
  • 100 requêtes / jour
  • 5 requêtes / minute
  • Rayon 10 km
  • 25 résultats / requête
  • Historique 14 jours
  • 1 clé active

Starter

19 € / mois
  • 25 000 requêtes / mois
  • 2 000 requêtes / jour
  • 20 requêtes / minute
  • Rayon 25 km
  • 50 résultats / requête
  • Historique 30 jours
  • 3 clés actives

Pro

59 € / mois
  • 150 000 requêtes / mois
  • 10 000 requêtes / jour
  • 60 requêtes / minute
  • Rayon 50 km
  • 100 résultats / requête
  • Historique 90 jours
  • 5 clés actives

Business

149 € / mois
  • 500 000 requêtes / mois
  • 30 000 requêtes / jour
  • 120 requêtes / minute
  • Rayon 100 km
  • 150 résultats / requête
  • Historique 180 jours
  • 10 clés actives
Mass-usage protection: Monthly, daily and per-minute quotas are cumulative. Multiple keys belonging to the same account share the same quota. The API does not provide bulk database exports.

07 · ERRORS

HTTP codes

Code Error Meaning
200 OK Request processed.
400 Paramètres invalides A parameter is missing, invalid or outside the allowed range.
401 Clé invalide Key missing, invalid or revoked.
404 Not found Station does not exist or is inactive.
429 Limite atteinte Monthly, daily or per-minute limit exceeded.
500 Server error Internal service error.
{ "error": "quota_exceeded", "message": "Quota mensuel atteint.", "limit": 1000, "used": 1000, "reset_at": "2026-10-01T00:00:00Z", "retry_after": 518400 }

BEST PRACTICES

Use the API properly

Cache

Cache results server-side where appropriate. There is no need to request the same area repeatedly within a short period.

Private key

Keep the key in an environment variable or secret manager. Never commit it to Git.

Respect limits

Use the X-RateLimit-Remaining and X-Quota-Remaining headers to drive your integration.

No scraping

The API is intended for application integration, not to build a copy of the MaPompe database.