InfraNode.dev

GET /api/v1/cities/{slug}/fuel-prices

Current fuel prices per city, aggregated (Tankerkönig/MTS-K, Tier A)

Current fuel prices around the city coordinate, aggregated into a city-level metric: average and minimum price per fuel grade (e5/e10/diesel, EUR/litre) across the open stations, plus station_count/open_count and the individual stations (stations: each carries station_id, name, brand, e5, e10, diesel, is_open, dist_km, lat/lon for map display plus street, house_number, post_code, place as the reported address; post_code is always a five-character string. When the source reports no separate house number, a number contained in the street name is split off; stations without a house number keep house_number null. A field is null when the upstream record omits it). Source: German fuel price transparency unit (MTS-K) via Tankerkönig (CC BY 4.0). Without an API key OR toggle off -> 200 source_status="disabled"; no station in radius -> 200 source_status="no_data". Caching: the freshness window follows the daily price pattern (German fuel price adjustment act, in force since 2026-04-01: increases only once per calendar day at 12:00 Europe/Berlin, decreases at any time) and always ends at 11:50 at the latest, so no price from before noon counts as fresh. A value already fetched stays available for up to 24 hours and then carries cache_status STALE. data.retrieved_at always names the time of the upstream fetch, not the time of the response.

Parameters

Name In Required Type Example Description
slug path yes string

Code samples

curl "https://infranode.dev/api/v1/cities/hamburg/fuel-prices"

Try it