InfraNode.dev

Quick-Start

InfraNode liefert normalisierte offene Daten deutscher Großstädte hinter einer einheitlichen REST-API. Alle Endpunkte sind öffentlich lesbar; der erste Aufruf braucht keinen Schlüssel. In drei Schritten bist du drin.

Schritt 1, Basis-URL

Alle Endpunkte liegen unter der versionierten Basis-URL. Pfade folgen dem Muster /api/v1/cities/{slug}/{ressource}.

https://infranode.dev/api/v1

Schritt 2, erster Aufruf

Hole das Wetter für Hamburg. Kein Header, kein Setup, ein GET genügt.

curl "https://infranode.dev/api/v1/cities/hamburg/weather"

Schritt 3, die Antwort lesen

Jede Antwort folgt demselben kanonischen Envelope. Auf Top-Level liest du immer dieselben zwei Blöcke, egal welche Ressource du abfragst:

Feld Inhalt
data Die eigentliche Nutzlast, je Endpunkt typisiert (hier die Wetterwerte).
data[].attribution Kein eigener Top-Level-Block: Jeder data-Record trägt ein eingebettetes attribution-Feld mit text, license_url und modified, also Lizenz und Herkunft der jeweiligen Daten.
meta Kontext zum Abruf: Stadt-Slug, Zeitstempel, abgefragte Quelle, der source_status (ok, no_data oder disabled) sowie correlation_id und cache_status.

Liefert eine Quelle für eine Stadt nichts, bleibt der Status-Code 200 und source_status steht auf no_data. So unterscheidest du "keine Daten" sauber von einem echten Fehler.

Rate-Limits und API-Keys

Anonyme Aufrufe sind IP-basiert begrenzt. Ein gültiger Schlüssel im Header X-API-Key hebt das Limit auf das höhere keyed-Tier. Einen Schlüssel erzeugst du selbst über den Endpunkt POST /api/v1/keys; der Klartext-Token wird dabei nur einmalig zurückgegeben. Ein Schlüssel läuft nur ab, wenn er 30 Tage nicht benutzt wird; jede Nutzung verlängert ihn automatisch wieder auf 30 Tage. Wird das Limit überschritten, antwortet die API mit Status 429.

Nächste Schritte

In der linken Navigation findest du jede Operation einzeln, mit Parametern, Code-Beispielen in curl, JavaScript und Python sowie einer Live-Konsole für die aufrufbaren Endpunkte.