GET · /api/v1/geocode/forward

API de géocodage

Convertissez des adresses en coordonnées et inversement grâce au géocodeur Oolel/Pelias. Tous les résultats incluent des noms multilingues (français, arabe, anglais) et une paire de coordonnées normalisée au format [longitude, latitude].

Géocodage direct

Convertit une adresse ou un nom de lieu en coordonnées. Les résultats sont classés par score de confiance et peuvent être restreints à un pays précis via son code ISO-3166 alpha-2.

GET/geocode/forward

Géocoder une adresse ou un nom de lieu en coordonnées

Paramètres

NameTypeDescription
addressstringAdresse ou nom de lieu à géocoder
countrystring?Code pays ISO-3166 alpha-2 (ex. MR, SN) pour biaiser ou filtrer les résultats

Exemple de requête

cURLbash
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/forward?address=Tevragh+Zeina+Nouakchott&country=MR" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScriptjavascript
const response = await fetch(
  "https://api.oolelmaps.com/api/v1/geocode/forward?" +
    new URLSearchParams({
      address: "Tevragh Zeina Nouakchott",
      country: "MR",
    }),
  {
    headers: { Authorization: "Bearer YOUR_API_KEY" },
  },
);

const results = await response.json();
Pythonpython
import requests

response = requests.get(
    "https://api.oolelmaps.com/api/v1/geocode/forward",
    params={"address": "Tevragh Zeina Nouakchott", "country": "MR"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)

results = response.json()

Exemple de réponse

[
  {
    "id": "56b20674-238d-4723-bc28-203f7e4d04f9",
    "code": "W2TBFB",
    "lotissement": "Ilot T",
    "ilot": null,
    "lotNumber": "39",
    "streetName": {
      "ar": "جمال عبد الناصر",
      "en": "Gamal Abdel Nasser",
      "fr": "Gemal Abdel Nasser"
    },
    "buildingName": null,
    "identifierPrecise": {
      "ar": "39 شارع جمال عبد الناصر",
      "en": "39 Gemal Abdel Nasser Avenue",
      "fr": "39 Avenue Gemal Abdel Nasser"
    },
    "description": null,
    "landmarks": null,
    "latitude": 18.088250412537,
    "longitude": -15.9798102142324,
    "countryId": "1fe04eb6-066e-4533-9369-81338bf107b9",
    "adminLevel3Id": "ec4e1484-6df7-4eed-a50f-b95105a28ad9",
    "verificationStatus": "ADMIN_VERIFIED",
    "verificationCount": 0,
    "photoUrls": [],
    "isActive": true,
    "version": 3
  }
]

Géocodage inverse

Renvoie le lieu ou l'adresse le plus proche d'un point (latitude/longitude). Utile pour identifier ce qui se trouve à l'endroit où l'utilisateur a touché la carte.

GET/geocode/reverse

Géocoder des coordonnées vers le lieu le plus proche

Paramètres

NameTypeDescription
latnumberLatitude du point à géocoder en inverse
lngnumberLongitude du point à géocoder en inverse
countrystring?Code pays ISO-3166 alpha-2 (ex. MR, SN) pour biaiser ou filtrer les résultats

Exemple de requête

cURLbash
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/reverse?lat=18.0858&lng=-15.9785&country=MR" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScriptjavascript
const response = await fetch(
  "https://api.oolelmaps.com/api/v1/geocode/reverse?" +
    new URLSearchParams({ lat: "18.0858", lng: "-15.9785", country: "MR" }),
  { headers: { Authorization: "Bearer YOUR_API_KEY" } },
);

const results = await response.json();
Pythonpython
import requests

response = requests.get(
    "https://api.oolelmaps.com/api/v1/geocode/reverse",
    params={"lat": 18.0858, "lng": -15.9785, "country": "MR"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)

results = response.json()

Exemple de réponse

{
  "id": "dd808201-7106-4730-a646-56fff1d4de37",
  "code": "W2TBFD",
  "identifierPrecise": {
    "ar": "47 شارع جمال عبد الناصر",
    "en": "47 Gemal Abdel Nasser Avenue",
    "fr": "47 Avenue Gemal Abdel Nasser"
  },
  "latitude": 18.0882428323741,
  "longitude": -15.9782648035898,
  "countryId": "1fe04eb6-066e-4533-9369-81338bf107b9",
  "distance_meters": 271.51986951,
  "places": []
}

Autocomplétion

Suggestions rapides par préfixe, adaptées aux champs de type « recherche à la frappe ». Les résultats ne sont pas complets ; utilisez l'endpoint retrieve de l'API Search si vous avez besoin des coordonnées.

GET/geocode/autocomplete

Suggestions de lieux basées sur un préfixe de requête

Paramètres

NameTypeDescription
textstringTexte de requête (partiel pour l'autocomplétion, complet pour la recherche)
countrystring?Code pays ISO-3166 alpha-2 (ex. MR, SN) pour biaiser ou filtrer les résultats

Exemple de requête

cURLbash
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/autocomplete?text=tevra&country=MR" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScriptjavascript
const response = await fetch(
  "https://api.oolelmaps.com/api/v1/geocode/autocomplete?" +
    new URLSearchParams({ text: "tevra", country: "MR" }),
  { headers: { Authorization: "Bearer YOUR_API_KEY" } },
);

const suggestions = await response.json();
Pythonpython
import requests

response = requests.get(
    "https://api.oolelmaps.com/api/v1/geocode/autocomplete",
    params={"text": "tevra", "country": "MR"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)

suggestions = response.json()

Exemple de réponse

[
  {
    "id": "56b20674-238d-4723-bc28-203f7e4d04f9",
    "code": "W2TBFB",
    "lotissement": "Ilot T",
    "ilot": null,
    "lotNumber": "39",
    "streetName": {
      "ar": "جمال عبد الناصر",
      "en": "Gamal Abdel Nasser",
      "fr": "Gemal Abdel Nasser"
    },
    "buildingName": null,
    "identifierPrecise": {
      "ar": "39 شارع جمال عبد الناصر",
      "en": "39 Gemal Abdel Nasser Avenue",
      "fr": "39 Avenue Gemal Abdel Nasser"
    },
    "description": null,
    "landmarks": null,
    "latitude": 18.088250412537,
    "longitude": -15.9798102142324,
    "countryId": "1fe04eb6-066e-4533-9369-81338bf107b9",
    "adminLevel3Id": "ec4e1484-6df7-4eed-a50f-b95105a28ad9",
    "verificationStatus": "ADMIN_VERIFIED",
    "verificationCount": 0,
    "photoUrls": [],
    "isActive": true,
    "version": 3
  }
]

Effectue une recherche plein texte sur l'index Pelias. À utiliser lorsque vous avez déjà une requête complète et souhaitez des résultats classés.

GET/geocode/search

Recherche plein texte sur l'index Pelias

Paramètres

NameTypeDescription
textstringTexte de requête (partiel pour l'autocomplétion, complet pour la recherche)
languagestring?Langue de la réponse : fr, ar ou en

Exemple de requête

cURLbash
curl -X GET "https://api.oolelmaps.com/api/v1/geocode/search?text=Marche+Capitale&language=fr" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScriptjavascript
const response = await fetch(
  "https://api.oolelmaps.com/api/v1/geocode/search?" +
    new URLSearchParams({ text: "Marche Capitale", language: "fr" }),
  { headers: { Authorization: "Bearer YOUR_API_KEY" } },
);

const results = await response.json();
Pythonpython
import requests

response = requests.get(
    "https://api.oolelmaps.com/api/v1/geocode/search",
    params={"text": "Marche Capitale", "language": "fr"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)

results = response.json()

Exemple de réponse

[
  {
    "id": "oolel:address:addr-dd808201-7106-4730-a646-56fff1d4de37",
    "placeId": "17950eb4-1af6-43cc-ae52-5ab6f1cc663b",
    "addressId": "dd808201-7106-4730-a646-56fff1d4de37",
    "placeName": "47 Avenue Gemal Abdel Nasser, Tevragh Zeina, Nouakchott, Mauritania",
    "coordinates": [-15.978265, 18.088243],
    "placeType": "address",
    "text": "47 Avenue Gemal Abdel Nasser",
    "locality": "Tevragh Zeina",
    "postalcode": "W2TBFD",
    "region": "Nouakchott Ouest",
    "regionAbbr": "NO",
    "country": "Mauritanie",
    "countryCode": "MR",
    "names": {
      "fr": "47 Avenue Gemal Abdel Nasser",
      "ar": "47 شارع جمال عبد الناصر",
      "en": "47 Gemal Abdel Nasser Avenue"
    },
    "lotissement": "Ilot T",
    "localities": {
      "fr": "Tevragh Zeina",
      "ar": "تفرغ زينة",
      "en": "Tevragh Zeina"
    },
    "regions": {
      "fr": "Nouakchott Ouest",
      "ar": "نواكشوط الغربية",
      "en": "Nouakchott Ouest"
    },
    "countries": {
      "fr": "Mauritanie",
      "ar": "موريتانيا",
      "en": "Mauritania"
    }
  }
]