osrmroute
Documentation

API de cartes, recherche et Studio

Développez avec des cartes et des données géographiques

Authentification et erreurs

Envoyez la clé dans Authorization: Bearer. Coordonnées : [longitude, latitude]. Définissez OSRMROUTE_API_KEY localement ; DATASET_ID est l’UUID de votre jeu de données. Ne publiez jamais une clé Studio dans le navigateur.

401 : clé invalide · 403 : autorisation refusée · 402 : crédits insuffisants · 429 : limite atteinte · 502/503 : source indisponible. Vérifiez le statut HTTP ; les crédits réservés des opérations payantes échouées sont libérés.

409 : conflit de révision. Relisez la ressource actuelle et réconciliez les modifications avant de réessayer.

Détails des lieux

Consultez les attributs fournis par la source.

Crédits par requête
1
Autorisations requises
places

Un crédit avec permission places. Objet OpenStreetMap par ID de recherche ; cache source d’une heure. Coordonnées, horaires et accessibilité absents restent null. La date source est celle de modification de l’objet, sans vérification commerciale. Aucun statut d’ouverture en direct. 20 appels/min/clé ; 30 lectures source/min globales hors cache.

POST /api/v1/places/details

Corps de la requête — Les champs * sont obligatoires.
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"}'
Réponse
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

Aperçu du style par texte

Décrivez les couleurs et calques, puis vérifiez le résultat.

Crédits par requête
0
Autorisations requises
studio

Commandes anglaises séparées par des points-virgules : thème, couleur hex et visibilité. Aucun enregistrement pendant l’aperçu. Appliquer modifie le brouillon et peut déclencher l’enregistrement automatique.

POST /api/v1/studio/preview

Corps de la requête — Les champs * sont obligatoires.
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"}'
Réponse
design
changes[]
saved: false
method: explicit_style_commands

Static Maps API

Exportez des cartes stylisées en PNG pour vos rapports et applications.

Crédits par requête
4
Autorisations requises
maps

Quatre palettes : light, dark, navigation, minimal. 128–512 px, zoom 1–14. Rendu simplifié avec attribution ; les couches et effets Studio personnalisés ne sont pas reproduits.

POST /api/v1/maps/static

Corps de la requête — Les champs * sont obligatoires.
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
Réponse
Content-Type: image/png

Dataset Query API

Trouvez des objets proches dans vos propres jeux de données géographiques.

Crédits par requête
1
Autorisations requises
maps

Uniquement vos jeux de données. Rayon 0–50 000 m, limite 1–50. Points proches et distances locales estimées, pas de distance routière ni de géométrie complète. Un résultat vide réussi coûte aussi 1 crédit.

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

Corps de la requête — Les champs * sont obligatoires.
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}'
Réponse
type: FeatureCollection
features[].geometry.type: Point
features[].properties
returned

Search Along Route API

Comparez les arrêts et le temps de conduite supplémentaire sur un itinéraire.

Crédits par requête
14
Autorisations requises
places + route

Trajets routiers jusqu’à 200 km. Cinq positions échantillonnées et huit détours au maximum ; recherche non exhaustive. fuel, charging_station, restaurant, cafe, parking, pharmacy. Sans trafic en direct ni disponibilité des bornes.

POST /api/v1/places/along-route

Corps de la requête — Les champs * sont obligatoires.
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}'
Réponse
places[]
baseline.duration_seconds
baseline.distance_meters
discovery
duration_model

Structured Geocoding API

Recherchez une adresse par rue, ville, code postal et pays.

Crédits par requête
1
Autorisations requises
geocode

Fournir street, city ou postcode. Pays : deux lettres ; autres champs : 100 caractères maximum. Recherche textuelle composée ; matched/different/missing et précision de source ne garantissent pas la validation d’adresse.

POST /api/v1/search/structured

Corps de la requête — Les champs * sont obligatoires.
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"}'
Réponse
features[].id
features[].address
features[].precision
features[].match.components
features[].precision_basis
search_method: composed_address_query

Suggest & Retrieve API

Créez une recherche de lieux avec suggestions et récupération sécurisée.

Crédits par requête
1 + 1
Autorisations requises
geocode

Suggest et retrieve coûtent chacun 1 crédit. Recherche de 1–200 caractères. Jetons valables 10 minutes, liés au propriétaire de la clé. Retrieve renvoie l’instantané signé, pas une nouvelle recherche.

POST /api/v1/search/suggest

Corps de la requête — Les champs * sont obligatoires.
q *stringmaxLength: 200

POST /api/v1/search/retrieve

Corps de la requête — Les champs * sont obligatoires.
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"}'
Réponse
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

Gérez styles, jeux de données et publication depuis votre application.

Crédits par requête
0
Autorisations requises
studio

Autorisation studio explicite, même avec une clé sans restriction. GET liste les styles ou métadonnées ; POST gère les ressources. Révisions et confirmation de publication pour les styles. Jeux de données : création/suppression, pas de modification directe. 30 lectures ou 5 écritures/minute/clé ; quotas de l’espace applicables.

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

Corps de la requête — Les champs * sont obligatoires.
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"
Réponse
GET styles → styles[]
GET datasets → datasets[]
Actions Studio
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
          ]
        }
      }
    ]
  }
}
Équipe d’assistance

Assistance OSRMRoute

Écrivez directement à notre équipe

À VOTRE ÉCOUTE

Comment vous aider ?

Posez vos questions sur l’intégration, la facturation ou votre compte. Nos réponses apparaîtront ici.

Vos discussions

Vos discussions apparaîtront ici.