L’API Itinéraires pour le vélo, la trottinette, la moto et le fauteuil roulant
Le moteur d’itinéraire de l’application de navigation et de sécurité « On va où ? », pour vos propres produits. Une requête renvoie jusqu’à trois variantes, sécurisée, équilibrée et rapide, facturées comme une seule requête, avec ce qui fait qu’un itinéraire deux-roues est bon ou non : pistes cyclables, revêtements, grands axes, dénivelé.
Pourquoi cette API
- Trois variantes, une seule requête.
safeprivilégie les pistes cyclables et les rues calmes (à moto, elle évite les autoroutes),fastminimise la durée,balancedest entre les deux. - Des indicateurs de qualité dans chaque réponse : part de pistes cyclables, de revêtements non goudronnés, de grands axes et d’autoroutes, dénivelés positif et négatif.
- Un profil par véhicule : vélo, vélo électrique, trottinette, moto (évitement des péages et des autoroutes), fauteuil roulant (pentes, revêtements et bordures), marche.
- Prêt à afficher : GeoJSON ou polyligne encodée, profil d’altitude, guidage pas à pas en 7 langues.
- En libre-service : compte, clés, consommation et abonnement sur console.onvaou.app. Palier gratuit sans carte bancaire.
- Toute l’Europe dans chaque palier, gratuit compris. Hébergé dans l’Union européenne, données OpenStreetMap.
Démarrer
Créez un compte et une clé sur console.onvaou.app, puis envoyez la clé dans l’en-tête x-api-key. Appelez l’API depuis votre serveur, jamais depuis une page web ni une application mobile.
curl -X POST https://n3di1oyh9d.execute-api.eu-west-1.amazonaws.com/v1/routes \
-H "x-api-key: VOTRE_CLÉ" \
-H "Content-Type: application/json" \
-d '{"origin":[2.3522,48.8566],"destination":[2.4392,48.8474],"mode":"bike"}'
Requête : POST /v1/routes
| Champ | Type | Description |
|---|---|---|
origin, destination | [lon, lat] | Obligatoires, WGS 84. |
waypoints | [[lon, lat]] | Jusqu’à 8 étapes intermédiaires. |
mode | texte | bike (par défaut), ebike, scooter (trottinette), moto, wheelchair (fauteuil roulant), foot (marche). |
variants | liste | Parmi safe, balanced, fast. Par défaut : les trois. |
avoid | liste | ferries, steps ; tolls, highways (moto) ; unpaved, steep (fauteuil). |
elevation | booléen | Profil d’altitude, true par défaut. |
instructions | booléen | Guidage pas à pas, true par défaut. |
language | texte | fr (par défaut), en, de, es, it, nl, pt. |
geometry | texte | geojson (par défaut) ou polyline (algorithme Google, précision 5). |
Réponse
{
"mode": "bike",
"routes": [
{
"variants": ["safe", "balanced", "fast"],
"distanceM": 7159,
"durationS": 1525,
"ascentM": 38,
"descentM": 41,
"indicators": { "cyclewayShare": 0.773, "unpavedShare": 0, "mainRoadShare": 0.036, "motorwayShare": 0 },
"geometry": { "type": "LineString", "coordinates": [[2.3522, 48.8566], "..."] },
"elevationProfile": [[0, 35], [95, 36], "..."],
"steps": [{ "instruction": "Dirigez-vous vers l’est", "name": "Quai de l'Hôtel de Ville", "distanceM": 120, "durationS": 28, "type": 11 }]
}
],
"usage": { "month": "2026-09", "requests": 1, "quota": 10000, "plan": "decouverte" },
"attribution": "© On va où ? · © openrouteservice by HeiGIT · © OpenStreetMap contributors"
}
Quand le moteur ne trouve qu’un itinéraire pertinent, il est renvoyé une seule fois avec toutes les étiquettes demandées : aucune variante n’est inventée. Affichez l’attribution près de l’itinéraire montré.
Erreurs
| Statut | Code | Signification |
|---|---|---|
| 400 | bad_*, too_long | Requête invalide (le message désigne le champ). |
| 401 | invalid_key | Clé absente, inconnue ou révoquée. |
| 422 | no_route, out_of_coverage | Aucun itinéraire entre ces points pour ce véhicule, ou point hors d’Europe. |
| 429 | quota_exceeded | Quota du palier gratuit atteint pour le mois. |
| 503 | engine_capacity, engine_unavailable | Temporaire, réessayez plus tard. |
Tarifs
Abonnement mensuel sans engagement, prix en euros hors taxes. Toutes les fonctions sont incluses dans chaque palier : seuls le volume, le débit et l’usage commercial changent. Une requête = un calcul d’itinéraire, jusqu’à trois variantes renvoyées.
| Palier | Prix / mois | Requêtes / mois | Débit | Dépassement / 1 000 |
|---|---|---|---|---|
| Découverte | 0 € | 10 000 | 1 req/s | bloqué (non commercial) |
| Solo | 19 € | 20 000 | 2 req/s | 1,00 € |
| Starter | 59 € | 75 000 | 3 req/s | 0,90 € |
| Pro | 169 € | 225 000 | 10 req/s | 0,80 € |
| Business | 449 € | 750 000 | 25 req/s | 0,65 € |
| Sur mesure | devis | au-delà de 750 000 | dédié | couverture hors d’Europe, engagement de service |
Souscription et gestion du palier sur console.onvaou.app. Paiement par carte avec Stripe.
Questions
Y a-t-il un palier gratuit ?
Oui : 10 000 requêtes par mois pour développer et pour un usage non commercial, sans carte bancaire.
Puis-je l’utiliser dans une application commerciale ?
Oui, à partir du palier Solo (19 € par mois). Affichez l’attribution près de l’itinéraire montré (données OpenStreetMap).
Quelle zone est couverte ?
Toute l’Europe, dans chaque palier. Pour d’autres régions, contactez-nous (palier Sur mesure). Un point hors couverture renvoie 422 out_of_coverage.
Quels véhicules ?
Vélo, vélo électrique, trottinette, moto, fauteuil roulant et marche, chacun avec son profil.
Comment la variante sécurisée est-elle choisie ?
À vélo et à trottinette, c’est l’itinéraire qui a la plus forte part de pistes cyclables et le moins de grands axes parmi les alternatives. À moto, elle est calculée en évitant les autoroutes.
