Comment choisir une API de géolocalisation pour la production

Analyse technique de Nominatim, Google Maps, Mapbox, HERE, TomTom et PickPoint : architecture, tarifs, exemples de code et guide de migration.

NominatimGoogle MapsMapboxHERETomTomPickPoint

Sommaire

  1. Ce qui se passe réellement dans une API de géolocalisation
  2. Critères de sélection
  3. Analyse des six fournisseurs
  4. Calculs de tarifs
  5. Une requête, quatre implémentations
  6. Migration
  7. Questions qui déterminent le choix

Si vous sélectionnez une API de géolocalisation pour un cas d'usage en production - un formulaire de saisie d'adresse, le routage de coursiers ou le suivi GPS d'une flotte - et souhaitez comprendre ce qui différencie vraiment les options, ce guide est pour vous.


1. Ce qui se passe réellement

Géocodage

Le géocodage direct convertit une requête textuelle (adresse ou nom de lieu) en coordonnées. En interne, c'est une recherche dans un index construit à partir de données cartographiques. La qualité du résultat dépend du niveau de détail de l'index pour une région donnée.

Le géocodage inverse convertit des coordonnées en adresse. Il s'agit d'une requête spatiale contre une couche de polygones.

La recherche par Place ID récupère un enregistrement complet via un identifiant stable retourné dans une réponse précédente.

Routage

Les algorithmes de routage travaillent sur un graphe routier : les nœuds sont des intersections, les arêtes sont des segments de route avec des attributs. Le chemin le plus court est calculé avec une variante de Dijkstra ou A* pondérée par un profil de véhicule.

Le profil détermine les routes accessibles : un piéton emprunte les trottoirs, un camion évite les ponts à tonnage limité, un vélo préfère les pistes cyclables.

L'optimisation multi-étapes est une variante du Problème du Voyageur de Commerce (NP-hard), résolue en pratique avec des heuristiques : voisin le plus proche, 2-opt, avec support de fenêtres temporelles.

Address Search vs. Géocodage

La différence essentielle : Address Search est optimisé pour l'UX en temps réel - il retourne des candidats sur saisie partielle, classés par proximité et intention probable. Le géocodage est déterministe : pour une requête complète, il retourne la correspondance la plus probable.

Conclusion pratique : pour une interface utilisateur (barre de recherche, formulaire de commande), utilisez Address Search. Pour traiter en lot un CSV d'adresses, utilisez le géocodage.

WebSocket Tracking

Le suivi GPS via API est fondamentalement différent du polling : l'appareil établit une connexion WebSocket persistante et envoie des fixes à une fréquence configurée. Le serveur accepte le flux, stocke l'historique et expose un accès REST aux positions actuelles et aux tracks historiques.


2. Critères de sélection

Rate limits et leur importance

Un limite par minute est un plafond de QPS. Les limites journalières et mensuelles sont des quotas. La différence est critique pour le traitement par lot : une limite de 50 req/s permet de géocoder 200 000 adresses en ~67 minutes. Lors de pics de trafic, un plafond par minute renvoie des erreurs HTTP 429.

Point clé : un quota journalier est une contrainte prévisible. Une limite par minute est une contrainte aléatoire, architecturalement gênante - elle force une logique throttle-and-retry dans votre code.

Modèle tarifaire : à la requête vs. forfaitaire

À la requête : chaque appel coûte $X pour 1 000. Prévisible avec une charge stable. Surprenant lors de pics de trafic ou de bugs générant des appels supplémentaires.

Forfait mensuel fixe : un quota fixe pour un tarif fixe. Les coûts ne varient pas en fonction du trafic dans le quota.

Calculez toujours le Total Cost of Ownership : ajoutez le temps d'ingénierie pour l'intégration, la surveillance, la gestion des erreurs et la maintenance aux coûts directs de l'API.

Étendue de la plateforme : un fournisseur ou plusieurs

La plupart des applications de production nécessitent plus que le géocodage - aussi du routage, de la recherche d'adresses ou du suivi. Quand ces services sont chez des fournisseurs différents, vous accumulez :

  • Plusieurs clés d'API et schémas d'authentification
  • Plusieurs comptes de facturation et factures
  • Plusieurs jeux de documentation pour l'équipe
  • Risque d'incohérence de données entre fournisseurs
  • Différents formats de réponse à unifier dans votre propre code

3. Analyse des fournisseurs

Nominatim

Open Source

Nominatim est le géocodeur développé dans le cadre du projet OpenStreetMap. Open source, basé sur PostgreSQL + PostGIS.

L'instance publique fonctionne avec une limite de 1 requête/seconde et interdit expressément l'usage commercial. Le déploiement self-hosted nécessite ≥64 Go de RAM, 600–700 Go de stockage pour l'import de la planète et 8+ cœurs CPU.

Quand choisir : prototypes, outils internes, projets non commerciaux, ou quand une pleine souveraineté sur les données est requise avec la capacité d'opérer l'infrastructure.

Google Maps Platform

Managed

Google Maps Platform est une suite d'APIs, pas un produit unique. Geocoding, Directions et Places sont trois services séparés avec des tarifs, une documentation et des rate limits distincts.

Coût réel d'un stack complet (2026) :

  • Geocoding API : $5,00 pour 1 000 requêtes
  • Directions API (basique) : $10,00 pour 1 000 ; avec trafic en direct : $20,00
  • Places API (détails) : $17–32 pour 1 000 selon les champs demandés

Rate limits : 50 requêtes/seconde par défaut. Qualité des données : les POI commerciaux de Google sont véritablement incomparables.

Quand choisir : la précision des POI commerciaux est le critère principal - trouver n'importe quelle entreprise par son nom partout dans le monde.

Mapbox

Managed

Mapbox est positionné différemment de Google : sa valeur principale réside dans les outils pour développeurs et le rendu de cartes.

Distinction critique entre deux niveaux de géocodage :

  • Temporary Geocoding API - recherche standard. Les résultats ne peuvent pas être mis en cache ni stockés (CGU). 100 000 premières requêtes/mois gratuites, puis $0,75/1k.
  • Permanent Geocoding API - géocodage par lot avec droit de stocker les résultats. Sans niveau gratuit : $5,00/1k (jusqu'à 500k), $4,00/1k (500k+).
Quand choisir : votre produit affiche une carte interactive comme surface UI principale. Les SDKs Mapbox GL JS et mobiles sont le meilleur moteur de rendu de cartes du marché.

HERE Technologies

Managed

HERE est une plateforme mature avec une histoire dans la navigation automobile. Des décennies d'investissement dans les données sont visibles, notamment en Europe et au Japon.

Tarifs du géocodage : 30 000 requêtes/mois gratuites, puis €0,70/1k jusqu'à 5M, €0,56/1k jusqu'à 10M, contact commercial au-delà.

Quand choisir : la précision des données est le critère principal. Navigation automobile, systèmes gouvernementaux ou contrats enterprise avec les exigences les plus élevées en matière de données.

TomTom

Managed

TomTom s'est transformé de fabricant d'appareils de navigation en plateforme d'API de géolocalisation. Son avantage concurrentiel principal est les données de trafic en temps réel issues d'un réseau de véhicules-sondes.

Quand choisir : les ETAs en temps réel, le routage tenant compte de la congestion ou les flux d'incidents de trafic sont la valeur principale du produit.

PickPoint

Managed

PickPoint regroupe quatre APIs de géolocalisation sous une seule clé et un seul quota.

Une clé, quatre APIs : Geocoding API, Routing API (10+ profils de véhicules, optimisation multi-étapes), Address Search API, Device Tracking API (WebSocket jusqu'à 50 Hz).

Tarification : forfaits mensuels fixes. Pas de facturation à la requête. Pas de limites par minute.

Résumé : une clé d'API, une documentation, un compte de facturation, un SLA - au lieu de trois ou quatre contrats fournisseurs pour un stack de géolocalisation complet.

4. Calculs de tarifs

Fournisseur 100k req./mois 500k req./mois 1M req./mois
Nominatim (self-hosted) ~$100–150 (serveur) ~$100–150 ~$150–200
Google Geocoding $0 (dans crédit $200) $1 500 $4 800
Mapbox Temporary $0 (dans niveau gratuit) $300 $675
Mapbox Permanent $500 $2 500 $4 600
HERE Geocoding €0 (dans niveau gratuit) €329 €679
PickPoint $50–200 (forfait) $50–200 $100–300

En ajoutant le routage

Fournisseur Géocodage 1M Routage 1M Total
Google $4 800 $10 000 $14 800
Mapbox (Temp. + Directions) $675 $1 800 $2 475
PickPoint Inclus dans le forfait $100–300

5. Une requête, quatre implémentations

Géocodage de « Battery Place, 17, New York » - la même requête via chaque API :

# Nominatim (développement / non commercial uniquement)
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 - mise en cache interdite)
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

Comparaison des structures de réponse

Nominatim - tableau avec lat/lon sous forme de chaînes :

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

Google - objet results[], lat/lon sous forme de nombres dans 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, coordonnées [lon, lat] :

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

PickPoint - tableau similaire à Nominatim, avec un bloc address structuré :

[{
  "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"
  }
}]
Observation clé : PickPoint et Nominatim retournent un format compatible - un tableau avec lat / lon sous forme de chaînes. Mapbox retourne du GeoJSON avec des coordonnées dans l'ordre [lon, lat] - l'inverse de l'intuitif.

6. Migration vers PickPoint

Depuis Nominatim

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

# Format de réponse largement compatible :
# result[0].lat / result[0].lon - identique
# PickPoint retourne également result[0].address

Depuis 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

# Adapter :
# results[0].geometry.location.lat  →  result[0].lat
# results[0].geometry.location.lng  →  result[0].lon
# place_id - identifiant de l'écosystème Google, non portable

Depuis 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 → tableau lat/lon
# features[0].geometry.coordinates[1]  →  result[0].lat
# features[0].geometry.coordinates[0]  →  result[0].lon

7. Questions qui déterminent le choix

  1. Avez-vous besoin du routage et/ou du suivi GPS en plus du géocodage ?
    Si oui - c'est la question la plus importante. Nominatim n'a pas d'API de routage. TomTom n'a pas de tracking. Google nécessite Fleet Engine (Enterprise) et Directions comme produits séparés. PickPoint couvre les trois sous une seule clé.
  2. Prévoyez-vous d'élargir votre stack de géolocalisation dans le temps ?
    Si vous commencez avec le géocodage mais que le routage ou le tracking est dans la feuille de route, il est judicieux de choisir dès maintenant une plateforme qui évolue avec le produit.
  3. Avez-vous du traitement par lot ou du trafic en rafale ?
    Les 50 QPS de Google et les 600 req/min de Mapbox nécessitent une logique throttle-and-retry. Sans limite par minute, les traitements par lot se simplifient.
  4. Un coût prévisible est-il important ?
    Avec la facturation à la requête, les factures dépendent du trafic. Avec la facturation forfaitaire (PickPoint), non.
  5. La précision des POI commerciaux est-elle le critère principal ?
    Google. Incomparable pour trouver une entreprise par son nom.
  6. Les données de trafic en direct sont-elles essentielles ?
    TomTom. Leur réseau de véhicules-sondes est un avantage concurrentiel réel.
  7. Contrat automobile ou gouvernemental avec des exigences de données ?
    HERE. Des décennies d'investissement dans des données cartographiques propriétaires.
  8. Prototype ou projet non commercial avec budget zéro ?
    Nominatim self-hosted. Se déploie gratuitement ; passer à un fournisseur géré est un changement d'URL.
Matrice de décision
Prototype, budget zéroNominatim
SaaS de production : géocodage + routage + recherchePickPoint
Gestion de flotte + suivi GPSPickPoint
Précision maximale des POI commerciauxGoogle
Routage avec trafic en directTomTom
Données automobiles / gouvernementalesHERE
SDK de rendu de cartesMapbox

Données exactes en juin 2026. Les tarifs et fonctionnalités évoluent - vérifiez auprès des pages officielles de chaque fournisseur avant de prendre une décision : Nominatim, Google, Mapbox, HERE, TomTom, PickPoint.

Testez avant de décider

Exécutez les mêmes requêtes et voyez par vous-même.

Démarrer gratuitement