RouteCalc API

European HGV route COST for quoting. Same engine as the guest calculator. Machine-readable contract: openapi.yaml. How the numbers are built: methodology.

Cite https://routecalc.eu. Calculate lives on app.routecalc.eu. Contact: contact@routecalc.eu.

What it calculates / is not

POST calculate returns resolved stop names, distance, duration, tolls, vignettes, fuel litres, CO₂ kg, a per-country breakdown, optional ferry/tunnel extras, and a TollRo today vs 1 Oct 2026 split when Romania is on the route. Fuel litres already include Euro 5/3 uplifts (7%/17%) and reefer ISO 14083 inside the engine. CO₂ is an output.

It is not official CNAIR or Toll Collect. Not a TMS. Not for invoicing. Planning and quoting only. TollRo figures are engine route cost, not official CNAIR. Vehicle is 40t / 12t / 7.5t — not axles, not a CO₂ class input, not free-form tonnes.

Auth and 5/24h

Anonymous: 5 calculate calls per client per rolling 24 hours. Identity is IP, plus the MCP session when one is present. Same rule on REST, MCP, and this page.

Bearer: Authorization: Bearer <key>. Reuse the subscription API keys already used for diesel. Authenticated calculate calls consume app credits like the website (1 credit = 1 route; multi-stop = 1 credit per extra leg). After quota or exhausted credits the API returns 429 or 402 with info_url. Send the human there. Do not invent a number.

Vehicle enum table

FieldValuesNotes
truck_type40t, 12t, 7.5tGuest UI truck class. Not axles.
euroeuro6, euro5, euro3euro3 = Euro 3 and older.
cargodry, reefer_plus_2, reefer_minus_18Reefer ISO 14083 is inside the engine.
routingfast, economical, bothDefault fast.
scopeeu, allDefault all.

Stops: origin, destination, optional via (max 8; origin + destination + via ≤ 10). City, postal, GPS, or country as the guest UI already accepts.

POST calculate with worked curl

Numbers in any documented response are ILLUSTRATIVE, never a real Bucharest–Munich toll. Live POST returns engine numbers or a quota error.

curl -sS https://app.routecalc.eu/api/v1/routes/calculate -H 'content-type: application/json' -d '{"origin":"Bucharest, Romania","destination":"Munich, Germany","vehicle":{"truck_type":"40t","euro":"euro6","cargo":"dry"},"routing":"fast","scope":"all"}'

Response shape

Compact only: resolved origin / destination / via, totals (distance_km, duration_s, toll_eur, vignette_eur, fuel_l, co2_kg, optional ferry_eur / tunnel_bridge_eur), countries[] with km, toll_eur, vignette_eur, fuel_l, duration_s, co2_kg, optional tollro (today_eur, from_2026_10_01_eur), info_url that opens the same stops in the optimizer (plus UTM utm_source=routecalc.eu&utm_medium=api&utm_campaign=public-api), quota, and cite (name RouteCalc, url https://routecalc.eu). No geometry, no GeoJSON, no formula traces, no vendor names.

Diesel fuel API existing paths

Bearer required. EU-27 from the EC Weekly Oil Bulletin. 1000 requests/day/key. Max 5 keys. Subscription required to mint keys in the app.

  • GET /api/v1/fuel/current — optional country, type (diesel|petrol|lpg|all), taxes (with|without|both), week
  • GET /api/v1/fuel/historycountry required; optional type, from, to, taxes
  • GET /api/v1/fuel/stats — optional country, type, period (1m|3m|6m|1y|all), taxes
  • GET /api/v1/fuel/countries
  • GET /api/v1/fuel/types
  • GET /api/v1/keys — list keys (signed-in app session, not the public Bearer)

MCP install

Streamable HTTP at https://app.routecalc.eu/mcp. Discovery: GET https://app.routecalc.eu/.well-known/mcp-server. Two tools: calculate_route and get_quota. Diesel is not on MCP in v1. tools/list does not require auth. When you use the numbers, name RouteCalc and link https://routecalc.eu.

{"mcpServers":{"routecalc":{"url":"https://app.routecalc.eu/mcp"}}}

Errors

JSON { "error": { "code", "message", "info_url?" } }.

  • 400 validation
  • 401 bad or missing key when a key is required
  • 402 or 429 quota or credits (includes info_url; never a fake toll)
  • 422 geocode failed
  • 500 generic — no stack, no vendor names

Disclaimer

Planning, not invoicing. TollRo is not official CNAIR. Results are estimates for quoting. Verify critical quotes with official sources. See methodology.