API de géolocalisation gratuite

API pour développeurs pour obtenir des informations de géolocalisation et sur les adresses IP.

Chargement...

Routes

https://geo.cmds.media/ip?ip={ip}

Utile pour des informations générales.

30 requêtes par 60 secondes
api/ip

Exemples de code

import requests

response = requests.get("https://geo.cmds.media/ip?ip=8.8.8.8")
data = response.json()
print(data)
curl "https://geo.cmds.media/ip?ip=8.8.8.8"
const response = await fetch("https://geo.cmds.media/ip?ip=8.8.8.8");
const data = await response.json();
console.log(data);

Exemple de réponse

{
  "accuracy": 1000,
  "asn": 15169,
  "asn_org": "GOOGLE",
  "city": null,
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_iso": "US",
  "currency": "usd",
  "currency_symbol": "$",
  "ip": "8.8.8.8",
  "latitude": 37.751,
  "longitude": -97.822,
  "postal": null,
  "region": null,
  "region_iso": null,
  "success": true,
  "timezone": "America/Chicago",
  "tz_offset": -4.0
}
https://geo.cmds.media/currency?ip={ip}

Utile pour les boutiques en ligne avec monnaie localisée.

90 requêtes par 60 secondes
api/currency

Exemples de code

import requests

response = requests.get("https://geo.cmds.media/currency?ip=8.8.8.8")
data = response.json()
print(data)
curl "https://geo.cmds.media/currency?ip=8.8.8.8"
const response = await fetch("https://geo.cmds.media/currency?ip=8.8.8.8");
const data = await response.json();
console.log(data);

Exemple de réponse

{
  "country": "United States",
  "country_iso": "US",
  "currency": "usd",
  "currency_symbol": "$",
  "ip": "8.8.8.8",
  "success": true
}
https://geo.cmds.media/client?ip={ip}&ua={user_agent}

Renvoie la géolocalisation ainsi que les informations sur l'appareil, le navigateur et le système d'exploitation. Prend en compte l'en-tête User-Agent.

30 requêtes par 60 secondes
api/client

Exemples de code

import requests

headers = {
    "User-Agent": "Mozilla/5.0"
}

response = requests.get(
    "https://geo.cmds.media/client?ip=8.8.8.8",
    headers=headers
)

data = response.json()
print(data)
curl "https://geo.cmds.media/client?ip=8.8.8.8" \
-H "User-Agent: Mozilla/5.0"
const response = await fetch("https://geo.cmds.media/client?ip=8.8.8.8", {
    headers: {
        "User-Agent": navigator.userAgent
    }
});

const data = await response.json();
console.log(data);

Exemple de réponse

{
  "asn": 15169,
  "asn_org": "GOOGLE",
  "browser": {
    "name": "Chrome",
    "version": "145.0.0"
  },
  "city": "Mountain View",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_iso": "US",
  "device": {
    "brand": null,
    "model": null
  },
  "device_type": "desktop",
  "ip": "8.8.8.8",
  "latitude": 37.4056,
  "longitude": -122.0775,
  "os": {
    "name": "Windows",
    "version": "10"
  },
  "postal": "94043",
  "region": "California",
  "region_iso": "CA",
  "success": true,
  "timezone": "America/Los_Angeles",
  "accuracy": 1000
}
https://geo.cmds.media/geo?ip={ip}

Informations de géolocalisation détaillées incluant les coordonnées et l'ASN.

40 requêtes par 60 secondes
api/geo

Exemples de code

import requests

response = requests.get("https://geo.cmds.media/geo?ip=8.8.8.8")
data = response.json()
print(data)
curl "https://geo.cmds.media/geo?ip=8.8.8.8"
const response = await fetch("https://geo.cmds.media/geo?ip=8.8.8.8");
const data = await response.json();
console.log(data);

Exemple de réponse

{
  "accuracy": 1000,
  "asn": 15169,
  "asn_org": "GOOGLE",
  "city": "Mountain View",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_iso": "US",
  "ip": "8.8.8.8",
  "latitude": 37.4056,
  "longitude": -122.0775,
  "postal": "94043",
  "region": "California",
  "region_iso": "CA",
  "success": true,
  "timezone": "America/Los_Angeles",
  "tz_offset": -7.0
}
https://geo.cmds.media/country?ip={ip}

Recherche minimale au niveau du pays pour les vérifications de conformité et les restrictions géographiques.

120 requêtes par 60 secondes
api/country

Exemples de code

import requests

response = requests.get("https://geo.cmds.media/country?ip=8.8.8.8")
data = response.json()
print(data)
curl "https://geo.cmds.media/country?ip=8.8.8.8"
const response = await fetch("https://geo.cmds.media/country?ip=8.8.8.8");
const data = await response.json();
console.log(data);

Exemple de réponse

{
  "country": "United States",
  "country_iso": "US",
  "continent": "NA",
  "in_eu": false,
  "ip": "8.8.8.8",
  "success": true
}

Comment fonctionne la limitation de débit ?

Notre API utilise un algorithme token-bucket pour limiter le débit. Chaque endpoint dispose d'un certain nombre de tokens qui sont reconstitués à un rythme fixe par période. Lorsqu'une requête est effectuée, elle consomme un token du bucket correspondant. S'il n'y a plus de tokens disponibles, vous recevrez une réponse 429 Too Many Requests avec un en-tête Retry-After indiquant quand vous pouvez réessayer.

Comment les erreurs sont-elles gérées ?

Si une requête échoue, nous renverrons une réponse JSON avec le champ "success" à false et le champ "error" contenant un message décrivant le problème. Vérifiez toujours le champ "success" avant de traiter les données de la réponse.

Si un champ ne s'applique pas à une adresse IP particulière (par exemple "city" pour une IP qui ne se résout qu'au niveau du pays), il sera renvoyé comme null.

FAQ

Cette API est-elle vraiment gratuite ?

Bien sûr ! Notre API est entièrement gratuite avec des limites généreuses. Aucune clé API ni authentification n'est requise.

D'où proviennent vos données de géolocalisation ?

Nous utilisons une combinaison de sources de données publiques et privées, y compris les bases de données GeoIP2 de MaxMind, pour offrir la couverture la plus large possible.

Puis-je utiliser cette API à des fins commerciales ?

Oui, vous pouvez utiliser notre API pour des projets personnels et commerciaux sans aucune restriction.

Que faire si je rencontre une erreur ?

Si vous rencontrez des problèmes ou avez des questions, contactez-nous via notre formulaire de support.

Avez-vous un plan payant ou des limites plus élevées ?

Actuellement, nous n'offrons pas de plan payant. Nous pourrions l'envisager à l'avenir si la demande est suffisante, mais pour l'instant, nous voulons que cette API reste gratuite pour tous. Pour augmenter les limites, vous pouvez nous contacter avec les détails de votre utilisation via notre formulaire de support.

J'ai une suggestion pour une nouvelle fonctionnalité ou un endpoint. Comment puis-je la partager ?

Nous accueillons les retours et suggestions. Veuillez partager vos idées via notre formulaire de feedback.

À quelle fréquence vos données de géolocalisation sont-elles mises à jour ?

Nous mettons à jour nos données de géolocalisation dès que de nouvelles données sont disponibles.

Puis-je utiliser un langage de programmation autre que ceux listés ?

Oui, vous pouvez utiliser n'importe quel langage de programmation capable d'effectuer des requêtes HTTP pour interagir avec notre API. Les exemples fournis sont simplement quelques langages courants pour vous aider à démarrer.

J'ai une autre question qui n'est pas listée ici.

Si vous avez d'autres questions, n'hésitez pas à nous contacter via notre formulaire de support. Nous sommes là pour vous aider.