The barometer ranks fuel brands by average pump price, for mainland France and each of its 13 regions, and for five fuels: diesel (B7), SP95-E10, SP98, E85 and LPG. It is the same computation as on the public website and its Methodology page, recomputed every 30 minutes from the prices stations report.
Good to know
- A price counts if it is less than 7 days old at computation time (
generatedAt);pricesFromandpricesTobound the prices used. - A brand's price is the plain average of its stations' prices: each station counts once, whatever its sales volume.
- A brand gets its own row with at least 50 recent prices in France, or 5 in a region; otherwise its stations join the « Indépendants et autres » row (independents and others,
others: true). - TotalEnergies and Total Access stay two separate rows: Total Access is the group's low-price network.
- Each zone comes in two versions:
all, motorway stations included, andexcludingHighways, without them. Motorway stations are more expensive and some brands are more present there than others: to compare brands at equivalent locations, readexcludingHighways. - Prices are in thousandths of a euro per liter:
2252means €2.252/L.tercilesgives the two thresholds splitting the zone's stations into three price thirds. - French overseas departments and regions are not in the barometer: their prices are regulated.
Source and reuse
Prices: prix-carburants.gouv.fr, the French Ministry of the Economy's public feed (Licence Ouverte 2.0). If you publish these figures, credit « Baromètre Floweet » and the price source.
The Barometer object
| Field | Type | Description |
|---|---|---|
fuelalways present | "gazole" | "sp95-e10" | "sp98" | "e85" | "gpl" | |
generatedAtalways present | string (date-time) | Computation time. A price counts if it is less than 7 days old at this time. |
pricesFromalways present | string (date-time) | |
pricesToalways present | string (date-time) | |
nationalalways present | BarometerZone | Mainland France. |
regionsalways present | object[] | |
regions[].codealways present | string | INSEE region code. |
regions[].slugalways present | "ile-de-france" | "centre-val-de-loire" | "bourgogne-franche-comte" | "normandie" | "hauts-de-france" | "grand-est" | "pays-de-la-loire" | "bretagne" | "nouvelle-aquitaine" | "occitanie" | "auvergne-rhone-alpes" | "provence-alpes-cote-d-azur" | "corse" | |
regions[].namealways present | string | |
regions[].allalways present | Ranking | |
regions[].excludingHighwaysalways present | Ranking |
{
"fuel": "gazole",
"generatedAt": "2026-10-26T11:34:49.346Z",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"national": {
"all": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 231,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2253,
"stations": 837,
"others": false
},
{
"brand": "Netto",
"averagePrice": 2375,
"stations": 60,
"others": false
}
],
"stations": 6391,
"terciles": [
2359,
2399
]
},
"excludingHighways": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 219,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2252,
"stations": 743,
"others": false
},
{
"brand": "Netto",
"averagePrice": 2375,
"stations": 60,
"others": false
}
],
"stations": 6024,
"terciles": [
2359,
2398
]
}
},
"regions": [
{
"code": "11",
"slug": "ile-de-france",
"name": "Île-de-France",
"all": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2250,
"stations": 55,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2250,
"stations": 174,
"others": false
}
],
"stations": 644,
"terciles": [
2250,
2410
]
},
"excludingHighways": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2250,
"stations": 55,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2250,
"stations": 156,
"others": false
}
],
"stations": 610,
"terciles": [
2250,
2409
]
}
}
]
}The BarometerZone object
Mainland France.
| Field | Type | Description |
|---|---|---|
allalways present | Ranking | |
excludingHighwaysalways present | Ranking |
{
"all": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 231,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2253,
"stations": 837,
"others": false
},
{
"brand": "Netto",
"averagePrice": 2375,
"stations": 60,
"others": false
}
],
"stations": 6391,
"terciles": [
2359,
2399
]
},
"excludingHighways": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 219,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2252,
"stations": 743,
"others": false
},
{
"brand": "Netto",
"averagePrice": 2375,
"stations": 60,
"others": false
}
],
"stations": 6024,
"terciles": [
2359,
2398
]
}
}The Ranking object
| Field | Type | Description |
|---|---|---|
brandsalways present | BrandPrice[] | Cheapest first. |
stationsalways present | integerat least 0 | |
tercilesalways present | [integer, integer] | null | Station price terciles of the zone, in thousandths of a euro. |
{
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 219,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2252,
"stations": 743,
"others": false
},
{
"brand": "Netto",
"averagePrice": 2375,
"stations": 60,
"others": false
}
],
"stations": 6024,
"terciles": [
2359,
2398
]
}The BrandPrice object
| Field | Type | Description |
|---|---|---|
brandalways present | string | Canonical brand name; « Indépendants et autres » groups the rest. |
averagePricealways present | integer | Price in thousandths of a euro per liter (2372 = 2.372 €/L). |
stationsalways present | integerat least 0 | Stations with a recent price for this brand. |
othersalways present | boolean | True for the « independents and others » row. |
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 231,
"others": false
}Fuel price barometer: brands ranked by average price, France and each region
/v1/barometerScope barometer:readRecomputed every 30 minutes from the official French feed (prix-carburants.gouv.fr). A price counts if it is less than 7 days old.
Parameters
| Field | In | Type | Description |
|---|---|---|---|
fueloptional | query | "gazole" | "sp95-e10" | "sp98" | "e85" | "gpl"default "gazole" | Fuel: gazole (diesel B7), sp95-e10, sp98, e85, gpl (LPG). |
Response 200
OK — A Barometer object
Errors
| HTTP | Meaning |
|---|---|
400 | Invalid request |
401 | Missing, invalid or revoked API key |
403 | Forbidden (scope, plan or account status) |
404 | Resource not found |
429 | Too many requests |
500 | Internal error |
curl "https://api.floweet.com/v1/barometer?fuel=gazole" \
-H "Authorization: Bearer $FLOWEET_API_KEY"{
"fuel": "gazole",
"generatedAt": "2026-10-26T11:34:49.346Z",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"national": {
"all": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 231,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2253,
"stations": 837,
"others": false
},
{
"brand": "Netto",
"averagePrice": 2375,
"stations": 60,
"others": false
}
],
"stations": 6391,
"terciles": [
2359,
2399
]
},
"excludingHighways": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 219,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2252,
"stations": 743,
"others": false
},
{
"brand": "Netto",
"averagePrice": 2375,
"stations": 60,
"others": false
}
],
"stations": 6024,
"terciles": [
2359,
2398
]
}
},
"regions": [
{
"code": "11",
"slug": "ile-de-france",
"name": "Île-de-France",
"all": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2250,
"stations": 55,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2250,
"stations": 174,
"others": false
}
],
"stations": 644,
"terciles": [
2250,
2410
]
},
"excludingHighways": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2250,
"stations": 55,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2250,
"stations": 156,
"others": false
}
],
"stations": 610,
"terciles": [
2250,
2409
]
}
}
]
}