Wie wählt man eine Geolocation-API für Production aus

Technischer Vergleich von Nominatim, Google Maps, Mapbox, HERE, TomTom und PickPoint: Architektur, Preise, Code-Beispiele und Migrations-Guide.

NominatimGoogle MapsMapboxHERETomTomPickPoint

Inhalt

  1. Was in einer Geolocation-API wirklich passiert
  2. Kriterien für die Auswahl
  3. Analyse der sechs Anbieter
  4. Preisberechnungen
  5. Eine Anfrage, vier Implementierungen
  6. Migration
  7. Entscheidungsfragen

Wenn Sie eine Geolocation-API für ein Produktionsszenario auswählen - ein Adresseingabeformular, Kurier-Routing oder GPS-Flottentracking - und verstehen möchten, was die Optionen wirklich unterscheidet, ist dieser Guide für Sie. Die meisten Vergleiche sind reine Checkbox-Tabellen. Hier analysieren wir Architektur, reale Preise, technische Einschränkungen und die Szenarien, in denen jeder der sechs Anbieter die richtige oder falsche Wahl ist.


1. Was wirklich passiert

Geocoding

Forward-Geocoding wandelt eine Textanfrage (Adresse oder Ortsname) in Koordinaten um. Intern ist es eine Suche in einem Index, der aus Kartendaten aufgebaut wurde. Die Ergebnisqualität hängt davon ab, wie detailliert der Index Adressen einer bestimmten Region abdeckt.

Reverse-Geocoding wandelt Koordinaten in eine Adresse um. Es ist eine räumliche Abfrage gegen eine Polygonebene: Das System findet, in welche Verwaltungseinheit die Koordinaten fallen.

Place-ID-Lookup ruft einen vollständigen Datensatz anhand einer stabilen ID ab, die in einer vorherigen Antwort zurückgegeben wurde. Nützlich, wenn Sie Polygongrenzen, Objektkategorien oder eine kanonische Adresse ohne neue Suchanfrage benötigen.

Routing

Routing-Algorithmen arbeiten auf einem Straßengraph: Knoten sind Kreuzungen, Kanten sind Straßensegmente mit Attributen (Geschwindigkeitsbegrenzung, Fahrtrichtung, Fahrzeugbeschränkungen). Der kürzeste Pfad wird mit einer Dijkstra- oder A*-Variante berechnet, gewichtet nach einem Fahrzeugprofil.

Das Profil bestimmt, welche Straßen zugänglich sind: Ein Fußgänger nutzt Gehwege, ein LKW überquert keine Brücken mit Gewichtsbeschränkungen, ein Fahrrad bevorzugt Radwege. „Kürzeste" bedeutet nicht unbedingt nach Distanz - optimiert werden kann nach Zeit, Kraftstoff oder wenigsten Abbiegungen.

Multi-Stop-Optimierung ist eine Variante des Travelling-Salesman-Problems (NP-hard). In der Praxis wird es mit Heuristiken gelöst: Nearest Neighbor, 2-opt, mit Unterstützung für Zeitfenster bei Lieferungen mit Ankunftsbeschränkungen.

Address Search vs. Geocoding

Der wesentliche Unterschied: Address Search ist für Echtzeit-UX optimiert - es liefert Kandidaten bei Teileingabe, gereiht nach Nähe und wahrscheinlicher Absicht, und erfordert keine vollständige Adresse. Geocoding ist deterministisch: Bei einer vollständigen Anfrage gibt es die wahrscheinlichste Übereinstimmung zurück.

Praktische Schlussfolgerung: Für eine Benutzeroberfläche (Suchleiste, Checkout-Formular) benötigen Sie Address Search. Für die Batch-Verarbeitung einer CSV-Datei mit Adressen verwenden Sie Geocoding.

WebSocket Tracking

GPS-Tracking über API unterscheidet sich grundlegend vom Polling: Das Gerät stellt eine persistente WebSocket-Verbindung her und sendet Fixes mit einer konfigurierten Frequenz. Der Server nimmt den Stream an, speichert den Verlauf und stellt REST-Zugriff auf aktuelle Positionen und historische Tracks bereit.

50 Hz bedeutet 50 Fixes pro Sekunde von einem Gerät. Das ist für Drohnen oder Präzisionspositionierung geeignet. Für die Kurierlieferung reichen 1–5 Hz.


2. Auswahlkriterien

Rate Limits und ihre Bedeutung

Ein Limit pro Minute ist ein QPS-Limit. Tages- und Monatslimits sind Quoten.

Der Unterschied ist bei der Batch-Verarbeitung entscheidend. Wenn Sie über Nacht 200.000 Adressen geocodieren müssen, erlaubt ein Limit von 50 req/s das in ~67 Minuten. Ohne Minutenlimit sind Sie nur durch Ihre eigene Infrastruktur begrenzt. Bei Traffic-Spitzen gibt ein Minutenlimit HTTP-429-Fehler zurück, die Endbenutzer als Fehler sehen.

Wichtige Erkenntnis: Ein Tageskontingent ist eine vorhersehbare Einschränkung. Ein Minutenlimit ist eine zufällige, architektonisch unbequeme - es erzwingt Throttle-and-Retry-Logik in Ihrem Code.

Preismodell: pro Anfrage vs. pauschal

Pro Anfrage: Jeder Aufruf kostet $X pro 1.000. Vorhersehbar bei stabiler Last. Überraschend teuer bei Traffic-Spitzen, Bugs mit zu vielen Aufrufen oder Nutzerwachstum.

Pauschal monatlich: Ein festes Kontingent für eine feste Gebühr. Kosten ändern sich nicht basierend auf dem Traffic innerhalb des Kontingents. Overages sind eine opt-in, verwaltbare Entscheidung.

Berechnen Sie immer die Total Cost of Ownership: Addieren Sie Engineering-Zeit für Integration, Monitoring, Fehlerbehandlung und Wartung zu den direkten API-Kosten.

Plattformumfang: ein Anbieter oder mehrere

Die meisten Produktionsanwendungen benötigen mehr als Geocoding - auch Routing, Address Search oder Tracking. Wenn diese bei verschiedenen Anbietern liegen, akkumulieren Sie:

  • Mehrere API-Keys und Authentifizierungsschemas
  • Mehrere Abrechnungskonten und Rechnungen
  • Mehrere Dokumentationssätze für das Team
  • Datenkonsistenzrisiko: Geocoding via einem Anbieter, Routing via einem anderen
  • Verschiedene Response-Formate, die im eigenen Code vereinheitlicht werden müssen

Jeder zusätzliche Anbieter erhöht die Wartungskomplexität. Eine Plattform, die mehrere Services unter einem Key abdeckt, ist nicht nur bequem - es ist architektonische Einfachheit.

Datenquellen und Genauigkeit

OpenStreetMap ist der größte offene Kartendatensatz, von der Community gepflegt. Die Qualität variiert: Ausgezeichnet in gut kartierten Städten in Westeuropa und Nordamerika, lückenhaft in weniger kartierten Regionen.

Proprietäre Daten (Google, HERE, TomTom) werden seit Jahren durch Streetview-Aufnahmen, Behördenpartnerschaften und Nutzerbeiträge aufgebaut. Der Unterschied ist besonders bei kommerziellen POI sichtbar.

Lizenzen

OSM-Daten sind unter ODbL lizenziert: Die Namensnennung („© OpenStreetMap contributors") ist in jedem öffentlichen Produkt erforderlich.

Google und Mapbox (Temporary) verbieten das Caching von Ergebnissen. Das schränkt Architekturentscheidungen ein.


3. Analyse der Anbieter

Nominatim

Open Source

Nominatim ist der Geocoder, der als Teil des OpenStreetMap-Projekts entwickelt wurde. Open Source, basiert auf PostgreSQL + PostGIS.

Die öffentliche Instanz auf nominatim.openstreetmap.org arbeitet mit einem Limit von 1 Anfrage/Sekunde und verbietet ausdrücklich die kommerzielle Nutzung. Geeignet nur für Entwicklung, Debugging und nicht-kommerzielle Projekte mit minimalem Traffic.

Self-hosted Deployment erfordert:

  • Speicher: Planet-Import 600–700 GB; Länder-Extrakte sind viel kleiner
  • RAM: ≥64 GB für PostgreSQL-Index-Caching; weniger bedeutet deutlich langsamer
  • CPU: 8+ Kerne beschleunigen den initialen Import (der Stunden bis Tage dauert) erheblich
  • Updates: Minutely Diffs von OSM, aber Reindexierung von Änderungen ist nicht sofortig

Was es kann: Forward-Geocoding, Reverse-Geocoding, OSM-Tag-Suche, administrative Polygone.
Was es nicht kann: Routing, Address Autocomplete, Device Tracking. Jedes erfordert einen separaten Stack.

Wann wählen: Prototypen, interne Tools, nicht-kommerzielle Projekte oder wenn vollständige Datensouveränität erforderlich ist und Kapazität zur Betrieb der Infrastruktur vorhanden ist.

Google Maps Platform

Managed

Google Maps Platform ist eine Suite von APIs, kein einzelnes Produkt. Geocoding, Directions und Places sind drei separate Services mit separater Preisgestaltung, separater Dokumentation und separaten Rate Limits.

Reale Kosten eines Full-Stack (2026):

  • Geocoding API: $5,00 pro 1.000 Anfragen
  • Directions API (basic): $10,00 pro 1.000; mit Live-Traffic: $20,00
  • Places API (Details): $17–32 pro 1.000 je nach angeforderten Feldern

In einem „Adresse + Route + Ortsdetails"-Szenario akkumulieren sich drei API-Aufrufe. Bei einer Million solcher Benutzersitzungen pro Monat sind das $30.000–50.000+ allein für API-Kosten.

Rate Limits: 50 Anfragen/Sekunde standardmäßig. Überschreitung gibt HTTP 429 zurück. Das Limit kann erhöht werden, erfordert aber einen Antrag.

Datenqualität: Googles kommerzielle POI-Daten - Unternehmen, Marken, ungewöhnliche Orte - sind wirklich unübertroffen. Wenn der Kernanspruch Ihres Produkts „finde jedes Unternehmen überall auf der Welt" ist, ist Google die richtige Wahl.

Vendor Lock-in:place_id ist ein Google-ökosystem-Identifier, der mit keinem anderen Anbieter kompatibel ist.

Attribution: „Powered by Google" ist in jeder Benutzeroberfläche erforderlich.

Wann wählen: POI-Genauigkeit ist die primäre Anforderung - das Auffinden jedes Unternehmens nach Name überall auf der Welt ist Googles unübertroffene Stärke.

Mapbox

Managed

Mapbox ist anders positioniert als Google: Sein Kernwert liegt in Entwickler-Tools und Karten-Rendering. GL JS und Mobile SDKs sind der Industriestandard für interaktive Karten.

Wichtige Aufteilung der Geocoding-Stufen:

  • Temporary Geocoding API - Standard-Suche. Ergebnisse dürfen nicht gecacht oder gespeichert werden (ToS). Erste 100.000 Anfragen/Monat kostenlos, dann $0,75/1k → $0,60/1k → $0,45/1k.
  • Permanent Geocoding API - Batch-Geocoding mit Recht, Ergebnisse zu speichern. Kein kostenloser Tarif: $5,00/1k (bis 500k), $4,00/1k (500k+). Vergleichbar mit Googles Preisen.

Directions API: kostenlos bis 100k, dann $2,00/1k → $1,60/1k → $1,20/1k.
Optimization API (Multi-Stop): existiert, $2,00/1k nach 100k kostenlos.
Rate Limits: 600 Anfragen/Minute bei den meisten Services.

Tracking: kein WebSocket-Positions-Streaming, kein Device-Management-API.

Wann wählen: Ihr Produkt zeigt eine interaktive Karte als primäre UI-Oberfläche. Mapbox GL JS und Mobile SDKs sind der beste Karten-Renderer auf dem Markt.

HERE Technologies

Managed

HERE ist eine ausgereifte Plattform mit Geschichte in der Automobilnavigation. Jahrzehntelange Dateninvestitionen sind sichtbar, besonders in Europa und Japan.

Geocoding-Preise (von der Preisseite):

Monatliche Transaktionen Kosten pro 1.000
0 – 30.000 Kostenlos
30.001 – 5.000.000 €0,70
5.000.001 – 10.000.000 €0,56
10.000.001+ Auf Anfrage

Bei 1 Million Anfragen: (1.000.000 − 30.000) × €0,70 / 1.000 ≈ €679/Monat.

Fleet Tracking: HERE Tracking ist eine separate IoT-Plattform mit eigenem Onboarding und Enterprise-Preisgestaltung.

Wann wählen: Datengenauigkeit ist die primäre Anforderung über alles. Automobilnavigation, Regierungssysteme oder Enterprise-Verträge mit höchsten Datenanforderungen.

TomTom

Managed

TomTom wandelte sich von einem Navigationsgerätehersteller zu einer Geolocation-API-Plattform. Ihr Kernvorteil sind Live-Verkehrsdaten aus einem Probe-Vehicle-Netzwerk.

Kostenloser Tarif: 2.500 Anfragen/Tag für Geocoding - genug für die Entwicklung, unzureichend für Production.
Traffic-aware Routing: Live-ETA ist der Standardmodus.
Tracking: kein WebSocket-Streaming oder Device-Management.

Wann wählen: Live-ETAs, staubasiertes Routing oder Verkehrsincident-Feeds sind der Kernwert des Produkts. TomToms Probe-Netzwerk für Live-Traffic ist unübertroffen.

PickPoint

Managed

PickPoint bringt vier Geolocation-APIs unter einem Key und einem Kontingent zusammen.

Ein Key, vier APIs:

  • Geocoding API - Forward, Reverse, Lookup
  • Routing API - 10+ Fahrzeugprofile, Multi-Stop-Optimierung
  • Address Search API - Autocomplete + Place-ID-Lookup
  • Device Tracking API - WebSocket bis 50 Hz, REST für Device-Management und Track-History

Preisgestaltung: Pauschale monatliche Pläne. Kein Preis pro Anfrage - Kosten ändern sich nicht basierend auf dem Aufrufvolumen innerhalb des Kontingents.

Rate-Modell: Keine Minutenlimits. Kein Throttler zwischen Ihrem Code und der API erforderlich.

Daten: OSM + kommerzielle Feeds, kontinuierlich aus Live-Changesets aktualisiert.

Zusammenfassung: Ein API-Key, eine Dokumentation, ein Abrechnungskonto, ein SLA - statt drei oder vier Anbieterverträge beim Aufbau eines vollständigen Geolocation-Stacks.

4. Preisberechnungen

Nur Geocoding (Forward-Geocoding, ohne Routing) bei drei Größenordnungen:

Anbieter 100k Anf./Mo. 500k Anf./Mo. 1M Anf./Mo.
Nominatim (self-hosted) ~$100–150 (Server) ~$100–150 ~$150–200
Google Geocoding $0 (im $200-Guthaben) $1.500 $4.800
Mapbox Temporary $0 (im Free Tier) $300 $675
Mapbox Permanent $500 $2.500 $4.600
HERE Geocoding €0 (im Free Tier) €329 €679
PickPoint $50–200 (Plan) $50–200 $100–300

Routing hinzufügen

Anbieter Geocoding 1M Routing 1M Gesamt
Google $4.800 $10.000 $14.800
Mapbox (Temp. + Directions) $675 $1.800 $2.475
PickPoint Im Plan enthalten $100–300

Nominatim self-hosted: die realen TCO

Fazit: Die Gesamtkosten von selbst gehostetem Nominatim bei 1M Anfragen/Monat betragen $350–700/Monat - nicht kostenlos.

5. Eine Anfrage, vier Implementierungen

Geocoding von „Battery Place, 17, New York" - dieselbe Anfrage über jede API:

# Nominatim (nur Entwicklung / nicht-kommerziell)
GET nominatim.openstreetmap.org/search
  ?q=Battery+Place+17&format=json
  User-Agent: myapp/1.0
# Google Geocoding API
GET maps.googleapis.com/maps/api/geocode/json
  ?address=Battery+Place+17&key=YOUR_KEY
# Mapbox (Temporary - Caching verboten)
GET api.mapbox.com/geocoding/v5/mapbox.places
  /Battery+Place+17.json?access_token=TOKEN
# PickPoint
GET api.pickpoint.io/v2/geocode/forward
  ?q=Battery+Place+17
  X-API-KEY: YOUR_KEY

Vergleich der Response-Strukturen

Nominatim - Array mit lat/lon als Strings:

[{
  "lat": "40.7051606",
  "lon": "-74.0159868",
  "display_name": "17, Battery Place, Manhattan...",
  "class": "building",
  "type": "apartments"
}]

Google - results[]-Objekt, lat/lon als Zahlen in geometry.location:

{
  "results": [{
    "geometry": {
      "location": {
        "lat": 40.7051606,
        "lng": -74.0159868
      }
    },
    "formatted_address": "17 Battery Pl, New York, NY 10004",
    "place_id": "ChIJmQJIxlVYwokRLgeuocVOGVU"
  }]
}

Mapbox - GeoJSON FeatureCollection, Koordinaten [lon, lat]:

{
  "features": [{
    "geometry": {
      "type": "Point",
      "coordinates": [-74.0159868, 40.7051606]
    },
    "place_name": "17 Battery Place, New York, NY 10004",
    "id": "address.8524..."
  }]
}

PickPoint - Array ähnlich wie Nominatim, mit strukturiertem address-Block:

[{
  "lat": "40.7051606",
  "lon": "-74.0159868",
  "display_name": "17, Battery Place, Manhattan...",
  "class": "building",
  "type": "apartments",
  "address": {
    "house_number": "17",
    "road": "Battery Place",
    "city": "New York",
    "postcode": "10004",
    "country_code": "us"
  }
}]
Wichtige Beobachtung: PickPoint und Nominatim geben ein kompatibles Format zurück - ein Array mit lat / lon als Strings. Mapbox gibt GeoJSON mit Koordinaten in [lon, lat]-Reihenfolge zurück. Google verwendet Zahlen in geometry.location.lat / .lng.

6. Migration zu PickPoint

Von Nominatim

- nominatim.openstreetmap.org/search?q=...&format=json
+ api.pickpoint.io/v2/geocode/forward?q=...
  X-API-KEY: YOUR_KEY

# Response-Format weitgehend kompatibel:
# result[0].lat / result[0].lon - identisch
# PickPoint gibt zusätzlich result[0].address zurück

Von Google Geocoding

- maps.googleapis.com/maps/api/geocode/json
  ?address=...&key=YOUR_KEY
+ api.pickpoint.io/v2/geocode/forward?q=...
  X-API-KEY: YOUR_KEY

# Anpassen:
# results[0].geometry.location.lat  →  result[0].lat
# results[0].geometry.location.lng  →  result[0].lon
# place_id - Google-Ökosystem-ID, nicht portierbar

Von Mapbox Geocoding

- api.mapbox.com/geocoding/v5/mapbox.places/
  QUERY.json?access_token=YOUR_TOKEN
+ api.pickpoint.io/v2/geocode/forward?q=...
  X-API-KEY: YOUR_KEY

# Mapbox → GeoJSON, PickPoint → lat/lon-Array
# features[0].geometry.coordinates[1]  →  result[0].lat
# features[0].geometry.coordinates[0]  →  result[0].lon

7. Entscheidungsfragen

  1. Benötigen Sie Routing und/oder GPS-Tracking zusätzlich zu Geocoding?
    Wenn ja - das ist die wichtigste Frage. Nominatim hat kein Routing-API. TomTom hat kein Tracking. Google erfordert Fleet Engine (Enterprise) und Directions als separate Produkte. PickPoint deckt alle drei unter einem Key ab.
  2. Planen Sie, Ihren Geolocation-Stack im Laufe der Zeit zu erweitern?
    Wenn Sie mit Geocoding beginnen, Routing oder Tracking aber auf der Roadmap stehen, macht es Sinn, jetzt eine Plattform zu wählen, die mit dem Produkt skaliert.
  3. Haben Sie Batch-Verarbeitung oder Burst-Traffic?
    Googles 50 QPS und Mapboxs 600 req/min erfordern Throttle-and-Retry-Logik. Kein Minutenlimit vereinfacht Batch-Verarbeitung grundlegend.
  4. Ist vorhersehbare Kostenplanung wichtig?
    Bei Pro-Anfrage-Abrechnung (Google, Mapbox) hängen Rechnungen vom Traffic ab. Bei Pauschalabrechnung (PickPoint) nicht.
  5. Ist kommerzielle POI-Genauigkeit die primäre Anforderung?
    Google. Unübertroffen bei der Suche nach Unternehmen nach Name.
  6. Sind Live-Verkehrsdaten im Routing entscheidend?
    TomTom. Ihr Probe-Vehicle-Netzwerk ist ein echter Wettbewerbsvorteil.
  7. Automotive oder Regierungsvertrag mit Datenanforderungen?
    HERE. Jahrzehntelange Investitionen in proprietäre Kartendaten.
  8. Prototyp oder nicht-kommerzielles Projekt mit Null-Budget?
    Nominatim self-hosted. Kostenlos deploybar; Wechsel zu einem Managed-Anbieter ist eine URL-Änderung.
Entscheidungsmatrix
Prototyp, Null-BudgetNominatim
Production SaaS: Geocoding + Routing + SearchPickPoint
Flottenmanagement + GPS-TrackingPickPoint
Höchste kommerzielle POI-GenauigkeitGoogle
Live-Traffic-RoutingTomTom
Automotive / RegierungsdatenqualitätHERE
Karten-Rendering-SDKMapbox

Daten Stand Juni 2026. Preise und Funktionen ändern sich - überprüfen Sie die offiziellen Seiten der Anbieter vor einer Entscheidung: Nominatim, Google, Mapbox, HERE, TomTom, PickPoint.

Testen Sie es selbst

Führen Sie dieselben Anfragen aus und vergleichen Sie.

Kostenlos starten