osrmroute
Dokumentation

Karten-, Such- und Studio-APIs

Mit Karten und Geodaten entwickeln

Authentifizierung und Fehler

Schlüssel im Header Authorization: Bearer senden. Koordinaten: [Längengrad, Breitengrad]. OSRMROUTE_API_KEY lokal setzen; DATASET_ID ist die UUID eines eigenen Datensatzes. Studio-Schlüssel nie im Browsercode veröffentlichen.

401: ungültiger Schlüssel · 403: Berechtigung fehlt · 402: unzureichende Credits · 429: Anfragelimit · 502/503: Quelldienst nicht verfügbar. HTTP-Status prüfen; reservierte Credits fehlgeschlagener kostenpflichtiger Vorgänge werden freigegeben.

409: Revisionskonflikt. Aktuelle Ressource lesen und Änderungen vor erneutem Versuch abgleichen.

Ortsdetails

Quellattribute aus Suchergebnissen lesen.

Anfrage-Credits
1
Erforderliche Berechtigungen
places

Ein Credit mit places-Berechtigung. OpenStreetMap-Objekt anhand der Such-ID; Quellcache eine Stunde. Fehlende Kontaktdaten, Öffnungszeiten und Zugänglichkeit bleiben null. Quellzeit ist die Objektbearbeitung, keine Geschäftsprüfung. Kein Live-Öffnungsstatus. 20 Aufrufe/Minute/Schlüssel; globale Quellabrufe bei Cache-Miss 30/Minute.

POST /api/v1/places/details

Anfragetext — Mit * markierte Felder sind erforderlich.
id *stringmaxLength: 24
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/places/details" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"osm:N:123"}'
Antwort
place.details.phone
place.details.website
place.details.opening_hours
place.details.wheelchair
place.details.observed_at
place.details.source_updated_at
place.details.open_now: null

Stilvorschau per Text

Farben und Ebenen beschreiben, prüfen und anwenden.

Anfrage-Credits
0
Erforderliche Berechtigungen
studio

Englische Befehle mit Semikolon: Vorlage, Hex-Farbe und Ebenensichtbarkeit. Vorschau speichert nicht. Anwenden ändert den Entwurf und kann automatisch speichern.

POST /api/v1/studio/preview

Anfragetext — Mit * markierte Felder sind erforderlich.
prompt *stringmaxLength: 1000
aibooleandefault: false
designobject
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/studio/preview" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"dark; water #123456; hide buildings"}'
Antwort
design
changes[]
saved: false
method: explicit_style_commands

Static Maps API

Gestaltete Karten als PNG für Berichte und Anwendungen exportieren.

Anfrage-Credits
4
Erforderliche Berechtigungen
maps

Vier Paletten: light, dark, navigation, minimal. 128–512 px, Zoom 1–14. Vereinfachte Darstellung mit Quellenangabe; keine individuellen Studio-Ebenen oder Effekte.

POST /api/v1/maps/static

Anfragetext — Mit * markierte Felder sind erforderlich.
center *array
zoomintegermin: 1 · max: 14 · default: 12
widthintegermin: 128 · max: 512 · default: 512
heightintegermin: 128 · max: 512 · default: 512
stylestringlight | dark | navigation | minimal
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/maps/static" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"center":[13.405,52.52],"zoom":12,"width":512,"height":512,"style":"light"}' \
  --output map.png
Antwort
Content-Type: image/png

Dataset Query API

Nahe Objekte in eigenen hochgeladenen Geodatensätzen finden.

Anfrage-Credits
1
Erforderliche Berechtigungen
maps

Nur eigene Datensätze. Radius 0–50.000 m, Limit 1–50. Nächste Punkte und geschätzte lokale Entfernungen, keine Straßenentfernung oder vollständige Geometrie. Auch leere erfolgreiche Ergebnisse kosten 1 Credit.

POST /api/v1/maps/datasets/{id}/query

Anfragetext — Mit * markierte Felder sind erforderlich.
point *array
radiusnumbermin: 0 · max: 50000 · default: 0
limitintegermin: 1 · max: 50 · default: 10
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/maps/datasets/$DATASET_ID/query" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"point":[2.3522,48.8566],"radius":1000,"limit":10}'
Antwort
type: FeatureCollection
features[].geometry.type: Point
features[].properties
returned

Search Along Route API

Zwischenstopps und zusätzliche Fahrzeit entlang einer Route vergleichen.

Anfrage-Credits
14
Erforderliche Berechtigungen
places + route

Fahrtrouten bis 200 km. Fünf Stichprobenorte, maximal acht Umwege; keine vollständige Suche. fuel, charging_station, restaurant, cafe, parking, pharmacy. Keine Echtzeit-Verkehrs- oder Ladeverfügbarkeitsdaten.

POST /api/v1/places/along-route

Anfragetext — Mit * markierte Felder sind erforderlich.
start *array
end *array
category *stringfuel | charging_station | restaurant | cafe | parking | pharmacy
max_detour_secondsnumbermin: 0 · max: 1800 · default: 600
limitintegermin: 1 · max: 8 · default: 5
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/places/along-route" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start":[13.405,52.52],"end":[13.3777,52.5163],"category":"cafe","max_detour_seconds":600,"limit":5}'
Antwort
places[]
baseline.duration_seconds
baseline.distance_meters
discovery
duration_model

Structured Geocoding API

Adressen anhand von Straße, Stadt, Postleitzahl und Land suchen.

Anfrage-Credits
1
Erforderliche Berechtigungen
geocode

street, city oder postcode angeben. Ländercode: zwei Buchstaben; andere Felder: maximal 100 Zeichen. Komponenten werden zur Textsuche. matched/different/missing und Quellpräzision garantieren keine Adressvalidierung.

POST /api/v1/search/structured

Anfragetext — Mit * markierte Felder sind erforderlich.
housenumberstringmaxLength: 100
streetstringmaxLength: 100
citystringmaxLength: 100
statestringmaxLength: 100
postcodestringmaxLength: 100
countrycodestringmaxLength: 2
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/search/structured" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"street":"Friedrichstraße","city":"Berlin","countrycode":"DE"}'
Antwort
features[].id
features[].address
features[].precision
features[].match.components
features[].precision_basis
search_method: composed_address_query

Suggest & Retrieve API

Ortssuche mit Vorschlägen und sicherem Ergebnisabruf entwickeln.

Anfrage-Credits
1 + 1
Erforderliche Berechtigungen
geocode

Suggest und Retrieve kosten jeweils 1 Credit. Suchtext: 1–200 Zeichen. Token sind 10 Minuten gültig und an den Schlüsselinhaber gebunden. Retrieve liefert den signierten Vorschlagsstand, keine neue Suche.

POST /api/v1/search/suggest

Anfragetext — Mit * markierte Felder sind erforderlich.
q *stringmaxLength: 200

POST /api/v1/search/retrieve

Anfragetext — Mit * markierte Felder sind erforderlich.
token *stringmaxLength: 16384
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/search/suggest" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"Paris"}'
Antwort
suggestions[].id
suggestions[].name
suggestions[].address
suggestions[].token
expires_in_seconds: 600

retrieve → place, retrieval: signed_suggestion_snapshot
cURL · retrieve
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/search/retrieve" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_SUGGEST"}'

Studio API

Kartenstile, Datensätze und Veröffentlichungen aus Ihrer Anwendung verwalten.

Anfrage-Credits
0
Erforderliche Berechtigungen
studio

Explizite studio-Berechtigung auch für unbeschränkte Schlüssel. GET listet Stile oder Datensatzmetadaten; POST verwaltet Ressourcen. Stile verwenden Revisionen und Veröffentlichungsbestätigung. Datensätze erstellen/löschen, nicht direkt ändern. 30 Lese- oder 5 Schreibzugriffe/Minute/Schlüssel; Arbeitsbereichskontingente gelten.

GET / POST /api/v1/studio/{resource}

Anfragetext — Mit * markierte Felder sind erforderlich.
action *string
idstring
revisioninteger
namestringmaxLength: 80
designobject
dataobject
confirmPublicboolean
confirmDeleteboolean
versioninteger
cURL
curl --fail-with-body "https://osrmroute.com/api/v1/studio/styles" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY"
Antwort
GET styles → styles[]
GET datasets → datasets[]
Studio-Aktionen
styles · createname, design
styles · save / autosaveid, revision, name, design
styles · duplicateid, revision, name
styles · restoreid, revision, version
styles · publishid, revision, confirmPublic: true
styles · unpublish / deleteid, revision
datasets · createname, data: GeoJSON FeatureCollection
datasets · deleteid, confirmDelete: true
POST /api/v1/studio/styles · application/json
{
  "action": "create",
  "name": "Berlin",
  "design": {
    "preset": "light",
    "colors": {
      "land": "#f1f3f5",
      "water": "#a9d8ed",
      "park": "#c9dfc6",
      "road": "#ffffff",
      "highway": "#edc779",
      "building": "#d9dee3",
      "label": "#334155"
    },
    "visible": {
      "roads": true,
      "buildings": true,
      "parks": true,
      "labels": true,
      "pois": true,
      "boundaries": true
    },
    "center": [
      13.405,
      52.52
    ],
    "zoom": 11,
    "overlays": []
  }
}
POST /api/v1/studio/datasets · application/json
{
  "action": "create",
  "name": "Paris places",
  "data": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "name": "Paris"
        },
        "geometry": {
          "type": "Point",
          "coordinates": [
            2.3522,
            48.8566
          ]
        }
      }
    ]
  }
}
Support-Team

OSRMRoute Support

Schreiben Sie direkt unserem Team

WIR HELFEN IHNEN

Wie können wir helfen?

Fragen Sie zu Integration, Abrechnung oder Konto. Unsere Antworten erscheinen in diesem Gespräch.

Ihre Chats

Ihre Chats erscheinen hier.