GET /api/v1/compare
Eine Ressource über mehrere Städte vergleichen
Vergleicht EINE Ressource (resource) über mehrere Städte (cities, kommasepariert) in einer einzigen Antwort. Jede Stadt trägt einen eigenen source_status (ok/disabled/no_data/error/not_found); eine fehlende oder tote Stadt-Quelle führt nicht zu einem Gesamt-5xx, sondern wird pro Stadt ehrlich ausgewiesen. resource wird gegen eine feste Liste geprüft (unbekannt -> 400). Das Ergebnis ist paginierbar (page/limit/offset/sort).
Parameter
| Name | In | Pflicht | Typ | Beschreibung |
|---|---|---|---|---|
cities | query | ja | string | Kommaseparierte Stadt-Slugs (auf MAX_CITIES begrenzt). |
resource | query | ja | string | Zu vergleichende Ressource (aus der festen Liste); unbekannt -> 400 invalid_request. |
page | query | nein | integer | |
limit | query | nein | integer | |
offset | query | nein | integer | |
sort | query | nein | string | |
order | query | nein | string | |
If-None-Match | header | nein | string | Conditional GET; If-None-Match == ETag -> 304 Not Modified ohne Body. |
Code-Beispiele
curl "https://infranode.dev/api/v1/compare?cities=berlin%2Ckoeln%2Chamburg&resource=weather"const res = await fetch("https://infranode.dev/api/v1/compare?cities=berlin%2Ckoeln%2Chamburg&resource=weather");
const data = await res.json();
console.log(data);import httpx
res = httpx.get("https://infranode.dev/api/v1/compare?cities=berlin%2Ckoeln%2Chamburg&resource=weather")
res.raise_for_status()
print(res.json())