Eine schlanke JSON-Schnittstelle, ohne Anmeldung und ohne Schlüssel. Fragen Sie mit einer Postleitzahl, einer Vorwahl oder einem Ortsnamen ab und erhalten Sie Ort, Land, Postleitzahlen und Vorwahlen zurück.

Endpunkt

https://www.postleitzahl.net/ch/api/json/{anfrage}

      

Anfragetypen

Sie müssen nicht angeben, was Sie abfragen. Die Schnittstelle erkennt es selbst und probiert die Deutungen der Reihe nach durch, bis eine trifft: Ziffernfolgen in der Länge einer Postleitzahl zuerst als Postleitzahl, kürzere oder längere Ziffernfolgen zuerst als Vorwahl, alles Übrige als Ortsname. Mit ?type= legen Sie den Typ selbst fest.

Beispiel Typ Bedeutung
https://www.postleitzahl.net/ch/api/json/3000postcodePostleitzahl
https://www.postleitzahl.net/ch/api/json/0571prefixTelefonvorwahl
https://www.postleitzahl.net/ch/api/json/MindenplaceOrtsname

Parameter

Parameter Wirkung
fieldskommagetrennte Liste der gewünschten Felder, z. B. ?fields=place,postcode
typelegt den Anfragetyp fest: postcode, prefix oder place
langSprache der übersetzbaren Felder, z. B. ?lang=en
callbackJSONP-Funktionsname
qdie Anfrage als Parameter statt im Pfad: /api/json?q=Minden

Sprache

Mit dem Parameter lang bestimmen Sie die Sprache der Antwort. Übersetzt wird der Ländername; Ortsnamen bleiben unverändert, da es sich um Eigennamen handelt. Fehlt der Parameter, richtet sich die Sprache nach dem Accept-Language-Header Ihrer Anfrage. Nicht unterstützte Werte werden ignoriert.

de ar bg cs da el en es et fi fr ga hr hu it lt lv mt nl no pl pt ro sk sl sv uk zh

curl "https://www.postleitzahl.net/ch/api/json/3000?lang=en"
{ "status": "success", "country": "Germany", "countryCode": "DE", "place": "Minden", "postcode": "3000", "query": "3000", "type": "postcode" }

Antwortfelder

Feld Inhalt Beispiel
statussuccess oder fail"success"
querydie gestellte Anfrage"3000"
typeerkannter Anfragetyp: postcode, prefix oder place"postcode"
countryLand, über lang übersetzbar"Schweiz"
countryCodeLändercode nach ISO 3166-1"CH"
placeOrtsname, bei mehreren eine Liste"Minden"
postcodePostleitzahl des Orts, bei mehreren eine Liste["32423","32425","32427","32429"]
areacodeTelefonvorwahl des Orts, bei mehreren eine Liste"0571"
messagenur bei status fail: der Grund"not found"

Nutzungsgrenze

Pro IP-Adresse sind 10 Anfragen in 5 Minuten erlaubt. Jede Antwort führt im Header mit, wie viele Anfragen Ihnen noch bleiben (X-Rl) und in wie vielen Sekunden das Zeitfenster neu beginnt (X-Ttl). Ist das Kontingent erschöpft, antwortet die Schnittstelle bis zum Ende des Zeitfensters mit Status 429. Wer das Kontingent in 3 Zeitfenstern hintereinander ausreizt, wird für 60 Minuten gesperrt.

{
  "status": "fail",
  "message": "rate limit exceeded, 10 requests per 5 minutes",
  "query": "3000"
}

Fehlerantworten

HTTP message Ursache
400missing querykeine Anfrage übergeben
400query too longmehr als 80 Zeichen
404not foundkein Treffer
429rate limit exceededNutzungsgrenze erreicht, gilt bis zum Ende des Zeitfensters
429banned for 60 minutesGrenze mehrfach hintereinander überschritten

Beispiele

curl https://www.postleitzahl.net/ch/api/json/3000
curl "https://www.postleitzahl.net/ch/api/json/Minden?fields=place,postcode"
curl "https://www.postleitzahl.net/ch/api/json?q=0571&type=prefix"

Datenquellen

Ortsdaten, Gemeindeschlüssel und Einwohnerzahlen stammen aus dem Gemeindeverzeichnis und der NUTS-Systematik von Eurostat. Welche Postleitzahl zu welcher Region gehört, richtet sich nach der amtlichen TERCET-Tabelle der Europäischen Kommission.