How much too much does a fleet pay at the pump? Describe it by vehicle type (cars, light commercial vehicles, heavy goods vehicles), with its yearly mileage and the brand where it fills up: the API returns the yearly overspend against the cheapest brand, line by line, and its ETS2 carbon cost from 2028. Nothing is stored.
Good to know
- The comparison uses this week's national ranking for the chosen fuel (
fuel), motorway stations excluded. The reference is the cheapest brand (reference: "cheapest") or the plain average of the six supermarket brands — E.Leclerc, Intermarché, Auchan, Carrefour, Système U, Netto ("supermarkets"). currentBrandmust be a brand name from the barometer. An unknown brand givescurrentPrice: nulland no overspend.- Amounts are in cents, but the overspend is computed to the euro:
1013800means €10,138. Prices are in thousandths of a euro per liter. - ETS2: assumption of €45 per tonne of CO₂ from 2028 (
ets2states the price used and the cost per liter).replaceFirstnames the vehicle type costing the most per vehicle, fuel and carbon included. - Pump prices: neither fuel card discounts nor fees are taken into account. Actual savings depend on the contract.
The computation
For each line of the fleet:
liters per year = vehicles × kilometers per year × consumption ÷ 100
overspend per year = liters per year × (current brand price − reference price)The same computation powers the calculator on the website's Fleets and Sales pages, and the Fleet space of the application.
The FleetCost object
| Field | Type | Description |
|---|---|---|
fuelalways present | "gazole" | "sp95-e10" | "sp98" | "e85" | "gpl" | |
pricesFromalways present | string (date-time) | |
pricesToalways present | string (date-time) | |
vehiclesalways present | integer | |
currentBrandalways present | string | |
currentPricealways present | integer | null | Average price of the current brand; null if unknown (no overspend computed). |
referenceBrandalways present | string | null | |
referencePricealways present | integer | null | Price in thousandths of a euro per liter (2372 = 2.372 €/L). |
linesalways present | object[] | |
lines[].typealways present | "car" | "lcv" | "hgv" | |
lines[].vehiclesalways present | integer | |
lines[].consumptionL100always present | number | |
lines[].litersPerYearalways present | integer | |
lines[].overspendPerYearalways present | integer | Cents per year. |
lines[].overspendPerVehiclealways present | integer | Cents per vehicle per year. |
lines[].co2Tonnesalways present | number | |
lines[].ets2PerYearalways present | integer | ETS2 carbon cost, cents per year from 2028. |
totalalways present | object | |
total.litersPerYearalways present | integer | |
total.overspendPerYearalways present | integer | |
total.co2Tonnesalways present | number | |
total.ets2PerYearalways present | integer | |
replaceFirstalways present | "car" | "lcv" | "hgv" | null | Vehicle type costing the most per vehicle (fuel + ETS2). |
ets2always present | object | |
ets2.startYearalways present | integer | |
ets2.pricePerTonnealways present | integer | Cents per tonne of CO2 (hypothesis). |
ets2.costPerLiteralways present | integer | Thousandths of a euro per liter. |
{
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"vehicles": 15,
"currentBrand": "Esso",
"currentPrice": 2428,
"referenceBrand": "Total Access",
"referencePrice": 2252,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5,
"litersPerYear": 30600,
"overspendPerYear": 538600,
"overspendPerVehicle": 44900,
"co2Tonnes": 75.9,
"ets2PerYear": 341500
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30,
"litersPerYear": 27000,
"overspendPerYear": 475200,
"overspendPerVehicle": 158400,
"co2Tonnes": 67,
"ets2PerYear": 301300
}
],
"total": {
"litersPerYear": 57600,
"overspendPerYear": 1013800,
"co2Tonnes": 142.8,
"ets2PerYear": 642800
},
"replaceFirst": "hgv",
"ets2": {
"startYear": 2028,
"pricePerTonne": 4500,
"costPerLiter": 112
}
}Yearly fuel overspend of a fleet by vehicle type, and its ETS2 carbon cost from 2028
/v1/fleet-costsScope fleet-costs:readNothing is stored. Overspend compares the current brand with the cheapest brand (or the supermarket average) of the national barometer, highway stations excluded.
Parameters
| Field | In | Type | Description |
|---|---|---|---|
Idempotency-Keyoptional | header | stringat most 255 characters | Unique key for this request (a new UUID v4, kept for its retries): the first response is replayed for 24 hours. |
Request body FleetInput
| Field | Type | Description |
|---|---|---|
fueloptional | "gazole" | "sp95-e10" | "sp98" | "e85" | "gpl"default "gazole" | |
currentBrandrequired | string1 to 60 characters | Brand where the fleet fills up today (a brand name of /v1/barometer). |
referenceoptional | "cheapest" | "supermarkets"default "cheapest" | Compare with the cheapest brand or with the supermarket average. |
kmPerVehiclerequired | integerfrom 0 to 500000 | |
linesrequired | object[]1 to 3 items | |
lines[].typerequired | "car" | "lcv" | "hgv" | car, lcv (light commercial vehicle), hgv (heavy goods vehicle). |
lines[].vehiclesrequired | integerfrom 0 to 100000 | |
lines[].consumptionL100required | numberfrom 0 to 100 | Liters per 100 km. |
Response 200
OK — A FleetCost 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 -X POST "https://api.floweet.com/v1/fleet-costs" \
-H "Authorization: Bearer $FLOWEET_API_KEY" \
-H "Idempotency-Key: 6f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87" \
-H "Content-Type: application/json" \
-d '{
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
}'{
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"vehicles": 15,
"currentBrand": "Esso",
"currentPrice": 2428,
"referenceBrand": "Total Access",
"referencePrice": 2252,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5,
"litersPerYear": 30600,
"overspendPerYear": 538600,
"overspendPerVehicle": 44900,
"co2Tonnes": 75.9,
"ets2PerYear": 341500
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30,
"litersPerYear": 27000,
"overspendPerYear": 475200,
"overspendPerVehicle": 158400,
"co2Tonnes": 67,
"ets2PerYear": 301300
}
],
"total": {
"litersPerYear": 57600,
"overspendPerYear": 1013800,
"co2Tonnes": 142.8,
"ets2PerYear": 642800
},
"replaceFirst": "hgv",
"ets2": {
"startYear": 2028,
"pricePerTonne": 4500,
"costPerLiter": 112
}
}