Floweet's fuel data, in your tools.
This week's prices and brand ranking, fuel and EV charging stations, the SIRENE directory with estimated fleets, a fleet's fuel and carbon overspend, prospects and simulations: a JSON REST API, documented in English and French, with a sandbox.
Our team opens every access: a sandbox key first, production after validation.
21 operations · 10 scopes · OpenAPI 3.1
curl "https://api.floweet.com/v1/barometer?fuel=gazole" \
-H "Authorization: Bearer $FLOWEET_API_KEY"{
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"national": {
"excludingHighways": {
"brands": [
{
"brand": "Total Access",
"averagePrice": 2252,
"stations": 219,
"others": false
},
{
"brand": "TotalEnergies",
"averagePrice": 2252,
"stations": 743,
"others": false
}
],
"stations": 6024
}
}
}An API for those who sell and manage mobility
- Fuel cards
Fuel card issuers
Price a prospect's overspend on this week's prices, simulate your network's coverage around them and write the sales pitch, from your CRM.
- Networks
Station networks
Follow your rank among brands, in France and in each region, and compare your prices with local competitors.
- Fleets
Fleet managers and fleet software
Show your clients the cheapest stations of their department, the overspend of their current brand and their ETS2 carbon cost from 2028.
- Sales tools
CRMs and prospecting tools
Enrich your records with the SIRENE directory, the activity, the brand network and the estimated fleet of each establishment.
Everything the API serves today
Each row comes from the contract the API enforces: the operations and scopes below are exactly those it accepts.
- Barometer
barometer:readBrands ranked by average price, in France and its 13 regions, for five fuels, with or without motorway stations.
- Fuel stations
fuel-stations:readStations in France and Europe: price per fuel, services, opening hours, and the ten cheapest of a department.
- EV charging stations
charging-stations:readPublic charging stations from the IRVE file: network, power, connectors, free charging, card payment.
- Companies
companies:readThe SIRENE directory: search by name, SIREN or SIRET, legal unit, activity and estimated fleet.
- Fleet costs
fleet-costs:readA fleet's yearly overspend at the pump by vehicle type and its ETS2 carbon cost. Nothing is stored.
- Prospects
prospects:readprospects:writeYour prospects' fleets, with their overspend recomputed on this week's prices.
- Simulations
simulations:readsimulations:writeYour network's coverage around a client, its sales status and its sales pitch.
- Geocoding and routes
geo:readThe coordinates of an address and a road route of 2 to 25 points.
In preparation
- Coming soonDeveloper spaceCreate and revoke your keys, follow your usage, ask for production yourself.
- Coming soonOutgoing webhooksBe told about a price change or a simulation's progress, without polling the API.
- Coming soonMCP serverThe same operations, open to AI assistants, with the same scopes.
- Coming soonAccess included in plansOpen the API from your subscription, without asking, with a bundle of calls.
From request to production, in three steps
- 1
You request access
Tell us your organization, the ADMIN member the key will act for, and what you want to build.
- 2
You integrate in the sandbox
An fw_test_ key reads and writes the same data as production, never calls the AI, up to 1,000 calls a day.
- 3
You go live
Once our team validates it, you receive an fw_live_ key: the same code, nothing else to change.
One key, its scopes
A key belongs to an organization and carries the list of what it may do: one scope per route, read or write (barometer:read, prospects:write…). A route outside its scopes answers 403 insufficient_scope.
Your first call
curl "https://api.floweet.com/v1/fuel-stations/cheapest?department=78" \
-H "Authorization: Bearer $FLOWEET_API_KEY"Nothing to learn you do not already know
Authorization: BearerOne key, one header
Bearer token authentication over HTTPS, never in the URL nor in a cookie.
Idempotency-KeyIdempotent-ReplayedPOST without duplicates
Replay a POST with the same idempotency key: the first response comes back for 24 hours, nothing is created twice.
RateLimit-LimitRateLimit-RemainingRateLimit-ResetRetry-AfterAnnounced limits
120 requests a minute per organization, announced in every response; a 429 tells you when to retry.
nextCursorhasMorelimitCursor pagination
Lists answer { data, nextCursor, hasMore }: stable even when rows arrive between two pages.
201LocationCreated resource
A creation answers 201 with the address of the new resource.
Floweet-VersionFloweet-EnvironmentVersion and environment
Every response states the contract version and the key's environment (test or live).
X-Request-IdTraceability
Every request carries an identifier, kept in our logs: quote it when you write to us.
Accept-LanguageMessages in your language
Error messages follow Accept-Language: English, French, Spanish, Italian, German, Portuguese.
One error shape
Every error has the same shape, with a stable code your code can rely on.
The error code table{
"error": {
"code": "insufficient_scope",
"message": "This API key does not have the scope required by this route.",
"details": { "required": "prospects:write", "granted": ["barometer:read"] }
}
}From a fleet's overspend to the sales pitch
Three calls are enough to price a fleet, save it as a prospect and write the pitch of a coverage simulation.
1. Price the fleet
The yearly overspend at the pump by vehicle type, compared with the cheapest brand, and the ETS2 carbon cost. Nothing is stored.
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 } ] }'2. Save it as a prospect
The same fleet, kept and recomputed every week. The idempotency key avoids any duplicate if you retry.
curl -X POST "https://api.floweet.com/v1/prospects" \ -H "Authorization: Bearer $FLOWEET_API_KEY" \ -H "Idempotency-Key: 6f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87" \ -H "Content-Type: application/json" \ -d '{ "name": "Transports Martin", "fleet": { "fuel": "gazole", "currentBrand": "Esso", "reference": "cheapest", "kmPerVehicle": 30000, "lines": [ { "type": "lcv", "vehicles": 12, "consumptionL100": 8.5 }, { "type": "hgv", "vehicles": 3, "consumptionL100": 30 } ] } }'3. Write the pitch
For a simulation of your network's coverage: written by AI with a live key, from the template in the sandbox.
curl -X POST "https://api.floweet.com/v1/simulations/7d0c1f8e-2a4b-4c6d-9e8f-0a1b2c3d4e5f/pitch" \ -H "Authorization: Bearer $FLOWEET_API_KEY" \ -H "Idempotency-Key: 6f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87"
Safe by design
Keys never stored
Only the SHA-256 fingerprint of your key is kept. A revocation applies in less than a minute.
Server to server
No browser request is accepted on /v1: your key stays on your server.
A member's rights
The key acts for a designated ADMIN member of your organization: it sees what they see, with your plan, never more.
A closed list of scopes
Ten possible scopes, checked by the API and by the database.
A sandbox without AI
An fw_test_ key never calls the AI, up to 1,000 calls a day.
A generated contract
The documentation comes from the schemas that validate your requests: it cannot contradict them.
Never a breaking change
/v1 never removes or renames anything. A breaking change will be a /v2, with 12 months of overlap.
A minimal log
Every call is logged without IP address or content, and kept 12 months.
Hosted in France
Database and API run on our servers in France.
Everything is written down, in English and French
- Interactive reference (English) Every operation, to try in the browser.
api.floweet.com/docs - Interactive reference (French) The same reference, translated.
api.floweet.com/docs/fr - OpenAPI 3.1 contract To generate a typed client in your language.
api.floweet.com/openapi.json - Error code tableEvery code, its HTTP status and what to do.
/documentation/errors
Frequently asked questions
How do I get an API key?
Write to contact@floweet.com with your organization, the ADMIN member the key will act for and your project. Our team gives you an fw_test_ sandbox key, then an fw_live_ production key after validation.
How much does the API cost?
The API is in beta: access is opened on request, without per-call billing. Limits are fixed: 120 requests a minute per organization, 1,000 calls a day in the sandbox.
Where does the data come from?
Prices: prix-carburants.gouv.fr. Charging: the consolidated IRVE file. Companies: INSEE's SIRENE directory. Addresses: the French national address base, then OpenStreetMap. Any reuse must credit these sources.
What does a sandbox key do?
An fw_test_ key reads and writes the same data as production, but never calls the AI: the pitch is written from the template. It is limited to 1,000 calls a day.
Can I call the API from a browser?
No. The key is a secret: the API does not accept browser requests on /v1. Call it from your server.
Can the API change?
/v1 never removes or renames a field or a route: only additions are possible. A breaking change will be a /v2, served for 12 months alongside /v1.
Plug Floweet into your tools
A sandbox key is waiting for you: write to us, we open the access.
- Sandbox on the same data
- Documentation in English and French
- No breaking change on /v1