Jede Adresse finden,
während getippt wird.
Weltweit nach Adressen und Orten suchen, sie beim Tippen vorschlagen und aus einem Punkt auf der Karte eine Adresse machen. Auf OpenStreetMap-Daten, mit der API von Photon und der API von Nominatim; die Bibliotheken, die Sie schon verwenden, funktionieren also damit.
- 100'000 Anfragen im Monat in jedem Tarif
- Ergebnisse dürfen gespeichert werden
- Server in der EU
curl 'https://api.overpass.ch/v1/IHR_SCHLÜSSEL/geocode/api?q=kapellbr' { "features": [{ "geometry": { "coordinates": [8.3077, 47.0518] }, "properties": { "name": "Kapellbrücke", "city": "Luzern", "postcode": "6002", "osm_key": "man_made", "osm_value": "bridge" } }, …] }
Ausprobieren
Tippen Sie ins Feld, oder klicken Sie auf die Karte, um die Adresse eines Punkts zu finden. Jede Antwort kommt live von unseren Servern, mit der Anfrage, die Sie senden würden.
- Hier erscheinen die Ergebnisse.
– –
Daten © OpenStreetMap-Mitwirkende (ODbL). Karte: Protomaps, OpenStreetMap.
Anfragen zum Ausprobieren
Jede läuft im Feld oben. Ändern Sie sie von dort aus: Tippen Sie etwas anderes, entfernen Sie einen Filter, oder wechseln Sie zwischen der API von Photon und der von Nominatim.
Suche
Adressen, Orte und Postleitzahlen, auch während getippt wird.
Eingrenzen
Nahe einem Punkt, in einem Rechteck, eine Art von Ort, eine Sprache.
Rückwärts-Geocoding
Von einem Punkt auf der Karte zu einer Adresse, einer Strasse oder einem Ort.
Kompatibel mit Nominatim
Dieselben Daten im Format der Nominatim-API, für Code, der dafür geschrieben ist.
Suche für Ihre App, auf offenen Daten
Adressen und Orte
Adressen mit Hausnummern, Strassen, Orte, Postleitzahlen, Läden, Bahnhöfe, Gipfel, Hütten und alles andere mit einem Namen in OpenStreetMap. Tippfehler und fehlende Umlaute werden verziehen.
Suche beim Tippen
Antworten in Sekundenbruchteilen, schnell genug, um mit jedem Tastendruck Orte vorzuschlagen. Wortteile passen: kapellbr findet die Kapellbrücke.
Rückwärts-Geocoding
Von einem Punkt zur nächsten Adresse, zur nächsten Strasse, oder zu Ort, Bezirk, Kanton oder Bundesland und Land, in denen er liegt.
Zwei APIs, die Sie kennen
Die Photon-API für die Autovervollständigung, und die Nominatim-API mit denselben Feldern wie das öffentliche Nominatim. geopy, die Geocoder für Leaflet und Ihre eigenen Skripte funktionieren, sobald Sie die Basis-URL ändern.
Ihre Ergebnisse behalten
Speichern Sie die Koordinaten in Ihrer Datenbank, und zeigen Sie sie auf jeder Karte. Nötig ist nur die Quellenangabe von OpenStreetMap.
Einfache Zählung
Eine beantwortete Anfrage zählt einmal, egal was sie liefert. Status-Anfragen und Fehler sind kostenlos. Geocoding hat ein eigenes Kontingent und verbraucht nie Overpass-Anfragen oder Kartenkacheln.
Aus Ihrem Code verwenden
Erstellen Sie einen Schlüssel in Ihrem Dashboard. Für ein Suchfeld auf einer Webseite verwenden Sie einen Schlüssel vom Typ «Nur Karten» und tragen Ihre Website als erlaubten Referer ein: Er funktioniert für Kartenkacheln und Geocoding und für nichts anderes.
const API = "https://api.overpass.ch/v1/IHR_SCHLÜSSEL/geocode"; const input = document.querySelector("#search"); let timer, latest = 0; input.addEventListener("input", () => { clearTimeout(timer); timer = setTimeout(async () => { // warten, bis eine Pause entsteht const q = input.value.trim(); if (q.length < 3) return; const id = ++latest; const res = await fetch(`${API}/api?q=${encodeURIComponent(q)}&limit=5`); const { features } = await res.json(); if (id !== latest) return; // eine neuere Antwort ist unterwegs for (const f of features) { const p = f.properties; console.log(p.name ?? p.street, p.postcode, p.city, f.geometry.coordinates); } }, 250); });
<!-- Leaflet mit leaflet-control-geocoder --> <script> L.Control.geocoder({ geocoder: L.Control.Geocoder.photon({ serviceUrl: "https://api.overpass.ch/v1/IHR_SCHLÜSSEL/geocode/api/", reverseUrl: "https://api.overpass.ch/v1/IHR_SCHLÜSSEL/geocode/reverse/", }), }).addTo(map); </script>
from geopy.geocoders import Nominatim, Photon
KEY = "IHR_SCHLÜSSEL"
nominatim = Nominatim(domain=f"api.overpass.ch/v1/{KEY}/nominatim", user_agent="my-app")
place = nominatim.geocode("Bundesplatz 3, Bern", addressdetails=True)
print(place.address, place.latitude, place.longitude)
photon = Photon(domain=f"api.overpass.ch/v1/{KEY}/geocode", user_agent="my-app")
print(photon.reverse("47.3769, 8.5417"))
# Photon: Suche, strukturierte Suche, rückwärts curl 'https://api.overpass.ch/v1/IHR_SCHLÜSSEL/geocode/api?q=Bundesplatz%203%2C%20Bern&limit=3' curl 'https://api.overpass.ch/v1/IHR_SCHLÜSSEL/geocode/structured?street=Rue%20du%20Rh%C3%B4ne&housenumber=42&city=Gen%C3%A8ve' curl 'https://api.overpass.ch/v1/IHR_SCHLÜSSEL/geocode/reverse?lat=46.9465&lon=7.4443' # Nominatim: Suche und rückwärts, Format json, jsonv2 oder geojson curl 'https://api.overpass.ch/v1/IHR_SCHLÜSSEL/nominatim/search?q=Rheinfall&format=jsonv2' curl 'https://api.overpass.ch/v1/IHR_SCHLÜSSEL/nominatim/reverse?lat=46.9465&lon=7.4443&format=jsonv2'
Alle Endpunkte, Parameter und Fehlercodes stehen in der Dokumentation.
Geocoding-Tarife
Jedes Konto enthält 100'000 Geocoding-Anfragen im Monat. Die Geocoding-Tarife haben mehr. Sie sind ein eigenes Abo, neben Ihrem Overpass-Tarif, und funktionieren mit den Schlüsseln, die Sie haben.
Geocoding Free
- Geocoding-Anfragen / Monat100'000
- Anfragen / Minute300
- Keine kommerzielle Nutzung
- Suche, Vorschläge beim Tippen und Reverse Geocoding
- Mit Photon und Nominatim kompatible API
- Ergebnisse dürfen gespeichert werden
- OpenStreetMap-Daten, wöchentlich aktualisiert
- Kein Support per E-Mail
Geocoding Small
- Geocoding-Anfragen / Monat1 Million
- Anfragen / Minute1'500
- Kommerzielle Nutzung
- Suche, Vorschläge beim Tippen und Reverse Geocoding
- Mit Photon und Nominatim kompatible API
- Ergebnisse dürfen gespeichert werden
- OpenStreetMap-Daten, wöchentlich aktualisiert
- Support per E-Mail
Geocoding Medium
- Geocoding-Anfragen / Monat5 Millionen
- Anfragen / Minute3'000
- Kommerzielle Nutzung
- Suche, Vorschläge beim Tippen und Reverse Geocoding
- Mit Photon und Nominatim kompatible API
- Ergebnisse dürfen gespeichert werden
- OpenStreetMap-Daten, wöchentlich aktualisiert
- Bevorzugter Support per E-Mail
Geocoding Large
- Geocoding-Anfragen / Monat20 Millionen
- Anfragen / Minute6'000
- Kommerzielle Nutzung
- Suche, Vorschläge beim Tippen und Reverse Geocoding
- Mit Photon und Nominatim kompatible API
- Ergebnisse dürfen gespeichert werden
- OpenStreetMap-Daten, wöchentlich aktualisiert
- Bevorzugter Support
1 Million Anfragen im Monat anderswo
| Anbieter | Für 1 Million Anfragen im Monat | Hinweise |
|---|---|---|
| overpass.ch Geocoding Small | $25 | OpenStreetMap-Daten, APIs von Photon und Nominatim. Ergebnisse dürfen gespeichert werden. Gehostet in der EU. |
| OpenCage | USD 125 | Small: 30'000 Anfragen pro Tag (weiches Limit). |
| Geoapify | USD 179 | API 50: 50'000 Credits pro Tag, einer pro Geocoding-Anfrage. |
| LocationIQ | USD 200 | Startup: 60'000 Anfragen pro Tag. |
| Mapbox | etwa USD 675 | 100'000 kostenlos, dann USD 0.75 pro 1'000. Diese Ergebnisse dürfen nicht gespeichert werden; speicherbare kosten USD 5 pro 1'000. |
Preise laut den Anbietern am 24. Oktober 2026. Tarife mit einem Tageslimit brauchen für 1 Million im Monat etwa 33'000 Anfragen pro Tag.
Was Sie erwarten können
- Hausnummern stammen aus OpenStreetMap. Der grösste Teil Europas hat sie; in den USA, in Grossbritannien und in vielen Ländern ausserhalb Europas haben manche Strassen keine, und eine Suche findet dann die Strasse.
- Es gibt keine Interpolation von Adressen: Eine Nummer zwischen zwei erfassten Häusern wird nicht geschätzt.
- Die Daten werden jede Woche aktualisiert.
- Namen gibt es auf Englisch, Deutsch, Französisch, Italienisch und in der Landessprache.
- Die Nominatim-API hat die Felder, die die meisten Clients lesen.
/lookup,/details, das XML-Format und die Ausgabe von Polygonen gibt es nicht, und die Ergebnisse werden so gereiht, wie Photon sie reiht.
Fragen
Gibt es eine kostenlose Geocoding-API?
Ja. Jedes Konto enthält 100'000 Geocoding-Anfragen im Monat, zusammen mit Overpass, Höhendaten und Kartenkacheln, zum Testen und für private, schulische und gemeinnützige Projekte. Kommerzielle Nutzung braucht einen bezahlten Tarif.
Kann ich es statt des öffentlichen Nominatim verwenden?
Ja. Das öffentliche Nominatim erlaubt eine Anfrage pro Sekunde und keine Autovervollständigung. Stellen Sie Ihren Client auf https://api.overpass.ch/v1/IHR_SCHLÜSSEL/nominatim statt https://nominatim.openstreetmap.org; die Such- und Rückwärtsanfragen und die Antworten behalten ihr Format.
Wie viele Anfragen braucht ein Suchfeld?
Eine pro Anfrage, die Sie senden. Warten Sie nach dem letzten Tastendruck etwa 250 ms, bevor Sie senden, und beginnen Sie ab drei Buchstaben: Eine typische Suche braucht dann 3 bis 6 Anfragen.
Darf ich die Ergebnisse speichern?
Ja, in Ihrer eigenen Datenbank und so lange Sie wollen. Die Daten stammen aus OpenStreetMap unter der Open Database Licence; zeigen Sie also «© OpenStreetMap-Mitwirkende» dort, wo Sie sie verwenden.
Was passiert, wenn das Kontingent aufgebraucht ist?
Anfragen erhalten HTTP 429, bis der nächste Monat beginnt oder Sie den Tarif wechseln, und wir schicken bei 80% und bei 100% eine E-Mail. Mehrverbrauch stellen wir nie in Rechnung.
Ihr Schlüssel in weniger als einer Minute
Kostenloser Tarif, keine Kreditkarte. Derselbe Schlüssel gilt für Geocoding, Kartenkacheln, Overpass und Höhendaten.