API gratuita de geolocalización
API para desarrolladores para obtener información de geolocalización y direcciones IP.
Cargando...
Rutas
https://geo.cmds.media/ip?ip={ip}
Útil para información general.
Ejemplos de código
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);
Respuesta de ejemplo
{
"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}
Útil para tiendas en línea con moneda localizada.
Ejemplos de código
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);
Respuesta de ejemplo
{
"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}
Devuelve geolocalización además de información del dispositivo, navegador y sistema operativo. Utiliza el encabezado User-Agent.
Ejemplos de código
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);
Respuesta de ejemplo
{
"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}
Información detallada de geolocalización incluyendo coordenadas y ASN.
Ejemplos de código
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);
Respuesta de ejemplo
{
"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}
Consulta mínima a nivel de país diseñada para cumplimiento y restricciones geográficas.
Ejemplos de código
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);
Respuesta de ejemplo
{
"country": "United States",
"country_iso": "US",
"continent": "NA",
"in_eu": false,
"ip": "8.8.8.8",
"success": true
}
¿Cómo funciona el límite de uso?
Nuestra API utiliza un algoritmo token-bucket para limitar solicitudes. Cada endpoint tiene una cierta cantidad de tokens que se reponen a una tasa fija por período. Cuando haces una solicitud, consume un token del bucket correspondiente. Si no quedan tokens en ese bucket, recibirás una respuesta 429 Too Many Requests con un encabezado Retry-After que indica cuándo puedes intentarlo nuevamente.
¿Cómo se manejan los errores?
Si una solicitud falla, devolveremos una respuesta JSON con el campo "success" en false y un campo "error" con un mensaje que describe el problema. Siempre verifica el campo "success" antes de procesar los datos de la respuesta.
Si un campo no aplica a una dirección IP en particular (por ejemplo, "city" para una IP que solo se resuelve a nivel de país), se devolverá como null.
FAQ
¿Esta API realmente es gratuita?
¡Claro! Nuestra API es completamente gratuita con límites de uso generosos. No requerimos clave API ni ningún tipo de autenticación.
¿De dónde obtienen los datos de geolocalización?
Usamos una combinación de fuentes de datos públicas y privadas, incluyendo las bases de datos GeoIP2 de MaxMind, para ofrecer la mayor cobertura posible.
¿Puedo usar esta API para fines comerciales?
Sí, puedes usar nuestra API tanto para proyectos personales como comerciales sin restricciones.
¿Qué debo hacer si encuentro un error?
Si encuentras algún problema o tienes preguntas, contáctanos a través de nuestro formulario de soporte.
¿Tienen un plan de pago o límites más altos?
Actualmente no ofrecemos un plan de pago. Podríamos considerarlo en el futuro si hay suficiente demanda, pero por ahora queremos mantener esta API gratuita para todos. Para aumentar los límites, puedes contactarnos con detalles sobre tu uso a través de nuestro formulario de soporte.
Tengo una sugerencia para una nueva función o endpoint. ¿Cómo puedo compartirla?
Agradecemos los comentarios y sugerencias. Comparte tus ideas a través de nuestro formulario de feedback.
¿Con qué frecuencia se actualizan los datos de geolocalización?
Actualizamos los datos de geolocalización cuando hay nueva información disponible.
¿Se puede usar cualquier lenguaje de programación además de los listados?
Sí, puedes usar cualquier lenguaje de programación que pueda hacer solicitudes HTTP para interactuar con nuestra API. Los ejemplos proporcionados son solo algunos lenguajes comunes para ayudarte a empezar.
Tengo otra pregunta que no está aquí.
Si tienes alguna otra pregunta, no dudes en contactarnos a través de nuestro formulario de soporte. Estamos aquí para ayudarte.