Free, public open-data API
Open city data, one API instead of dozens
Weather, live transit departures, EV charging occupancy, electricity prices and more for 84 German cities, via one REST interface and an MCP server for AI agents. Every response follows the same JSON envelope and names licence, origin and an honest source status.
In short
InfraNode is a free, public open-data REST API that serves open data for German cities behind one unified interface. Instead of signing up at dozens of portals, you query everything through a consistent JSON envelope, with no API key.
- 84 large cities, 78 data types, 114 endpoints, one unified envelope.
- No key required, free and ad-free.
- Hosted on servers in Germany and Finland (EU), with an honest source status.
- 84 cities
- 78 data types
- 114 endpoints
- 4,300+ data streams, growing
- 35+ official sources
$ curl https://infranode.dev/api/v1/cities/berlin/weather
{
"data": {
"payload": { "temperature_c": 12.9, "condition": "dry", … },
"attribution": { "text": "Datenbasis: Deutscher Wetterdienst, …" },
"license_id": "geonutzv", …
},
"meta": { "source_status": "ok", "cache_status": "HIT", … }
} What data is available
78 data types per city, all permissively licensed (Tier A: DL-DE/BY, CC-BY, free for commercial use):
- Environment and weather: air quality (PM10, live readings), weather, official DWD weather warnings, pollen and UV index.
- Mobility and traffic: public transit stops and live departures with delays, traffic situation, roadworks, charging stations including live occupancy, car stock and electric vehicle share (KBA), road accidents (accident atlas).
- Energy and statistics: energy installations (market master data register), electricity consumption and wholesale price (SMARD), unemployment rate, tourism overnight stays, building permits, demographics, sustainability and SDG indicators as a time series since 2006. Plus nine further time-series data types from Wegweiser Kommune: population age structure and trend with a forecast to 2040, municipal finances, labour market and commuters, integration, childcare, education statistics, social situation and long-term care.
- Water, health, city life: water levels and flooding, hospitals and ICU beds, POIs, events, election results, public holidays, administrative boundaries.
What sets the API apart
Every response has the same shape: data with the payload and
meta with city, timestamp, source_status,
correlation_id and cache_status. Each data record
additionally carries an attribution field with licence and
origin. The source_status field cleanly tells "no data" apart
from a real error: a source without data still returns a tidy 200, not a 5xx.
Responses carry ETag and Cache-Control headers, and
an MCP server exposes the endpoints as tools for AI agents.
Real-time data under /live
Under /api/v1/live/* InfraNode serves current readings: traffic
conditions, roadworks, parking, charging and public-transit real-time with
delays per stop, trip and route. Some live sources are city-specific, for
example Hamburg HVV departures or Dortmund parking occupancy. The
coverage page shows which city has which live
source.
Getting started
Read the Quickstart for your first call, or set up the MCP server for AI agents. In ChatGPT you can simply use the ready-made InfraNode GPT from the GPT Store. The full endpoint reference lives in the left navigation. Reference content is in German, the code samples are universal. Every endpoint is also available as the InfraNode API on the Postman API Network, with real example responses you can try in the browser without an API key.
Frequently asked questions
Do I need an API key?
No. The API is open and keyless: every endpoint is publicly readable, no signup, no key. Calls are simply limited per IP.
What does it cost?
Nothing. InfraNode is a free, public open-data API, ad-free and with no paywall. The source code is available on GitHub (Apache-2.0).
Which cities are covered?
All 84 German cities above 100,000 inhabitants. Of those, 28 core cities have full source coverage; the rest are served through AGS- and geo-based sources.
Where does the data come from?
From public, official sources. InfraNode brings them together behind one interface and passes them through in normalised form. Every response names licence and origin in its attribution block.
Are there rate limits?
Yes. Calls are limited per IP (abuse protection); on overrun the API answers with status 429. Every response carries RateLimit headers.
How fresh is the data?
It depends on the source. Responses carry a timestamp in the meta block plus ETag and Cache-Control headers. Live endpoints return current readings, static data is cached longer.