Aller au contenu

Géocoder plusieurs adresses

POST /geocode/batch est la même recherche que GET /geocode/search, plusieurs fois, en une requête. La réponse est un tableau de tableaux : l'index i est ce que la recherche retournerait pour la requête i. Les chaînes vides restent en place comme [] et ne sont pas facturées.

curl -X POST "https://api.unmap.dev/geocode/batch" \
  -H "Authorization: Bearer $UNMAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"queries":["17 Ave SW Calgary","Springfield",""],"limit":1}'
[
  [{ "id": "…", "name": "101 17 Avenue SW, Calgary", "layer": "address" }],
  [{ "id": "…", "name": "Springfield", "layer": "locality" }],
  []
]

Une requête porte de 1 à 100 recherches. Plus de 100 donne un 413. Contrôles partagés seulement : les mêmes lang, limit, layers, focus, region et bbox que la recherche. La bibliothèque cliente découpe une liste plus longue en requêtes de 100 et concatène dans l'ordre d'entrée.

Chaque requête non vide compte pour un incrément de géocodage, y compris une absence de correspondance valide. Un 400, un 413 ou une panne du conteneur n'incrémente rien. Si l'allocation mensuelle restante est inférieure au nombre de requêtes non vides, la requête entière est refusée.

Cette requête n'est pas un traitement en arrière-plan : elle répond dans le même appel HTTP, et le fichier, s'il y en a un, reste sur votre machine. Pour un CSV, unmap geocode csv est le client qui le fait déjà. Si vous préférez téléverser le fichier et laisser unmap l'exécuter, c'est le lot hébergé du tableau de bord, authentifié par session et non joignable avec une clé API. La page Géocodage par lots couvre les trois.