Geocoding API logo
DatosMANTENIDA2 tokens / llamada

Geocoding API

De nombres de lugar a coordenadas y viceversa para 235.640 ciudades y pueblos del mundo, sin llamadas a terceros

Geocodificación directa e inversa a nivel de ciudades y lugares para más de 233.000 lugares poblados de todo el mundo: convierte un nombre de lugar en coordenadas (ordenadas por población) o coordenadas en los lugares más cercanos con sus distancias. Datos de GeoNames autoalojados — sin llamadas a terceros.

Cada llamada necesita la cabecera X-Api-Key. Una clave gratuita incluye 500 tokens al mes, sin tarjeta. 2 tokens por llamada, así que el plan gratuito cubre unas 250 llamadas al mes.

Sin tarjeta de créditoAcceso a más de 125 APIsCancela cuando quieras
response.json
{
  "query": "GET /v1/geocode?q=Paris&limit=5",
  "results": [
    {
      "name": "Paris",
      "country": "FR",
      "admin1": "Île-de-France",
      "latitude": 48.85341,
      "longitude": 2.3488,
      "population": 2138551
    },
    {
      "name": "Paris",
      "country": "US",
      "admin1": "Texas",
      "latitude": 33.66094,
      "longitude": -95.55551,
      "population": 24782
    }
  ],
  "coverage": "235,640 places worldwide, daily-synced GeoNames"
}
Listo para producción
Infraestructura probada en producción con un SLA de disponibilidad del 99,9 %. Límites de uso generosos y respuestas consistentes.
Integración sencilla
REST + JSON estándar. Funciona con cualquier cliente HTTP. Fragmentos de código listos para copiar en 4 lenguajes.
Una clave, más de 125 APIs
Tu suscripción a DataAndAPIs desbloquea todas las APIs de la plataforma: anime, finanzas, deportes y más.

Casos de uso de Geocoding API

  • Convertir el nombre de una ciudad escrito por el usuario en coordenadas para centrar un mapa, buscar por radio o consultar el tiempo.

  • Etiquetar una posición GPS con el pueblo, la región y el país más cercanos en una app de fotos, deporte o flotas.

  • Resolver nombres locales e históricos como Firenze o Bombay al lugar canónico.

  • Adjuntar el id de GeoNames, la zona horaria y la población a un registro de ubicación para uniones posteriores.

Endpoints de Geocoding API

Todos los endpoints con sus parámetros y una respuesta de ejemplo real.

GETData Sources

https://api-geocoding.dataandapis.com/v1/sources

Este endpoint no recibe parámetros.

Petición de ejemplo

curl "https://api-geocoding.dataandapis.com/v1/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "sources": [
    {
      "slug": "geonames-cities500",
      "name": "GeoNames cities500",
      "url": "https://download.geonames.org/export/dump/cities500.zip",
      "license": "CC BY 4.0",
      "cadence": "daily modifications sync (shared geography database)",
      "places": 235640,
      "last_update": "2026-09-02 21:41:55"
    }
  ]
}

GETForward Geocode

https://api-geocoding.dataandapis.com/v1/geocode

Parámetros de consulta

ParámetroEjemplo
countryOpcional
limit5Opcional
qParisObligatorio

Petición de ejemplo

curl "https://api-geocoding.dataandapis.com/v1/geocode?limit=5&q=Paris" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "query": "Paris",
  "count": 5,
  "results": [
    {
      "id": 2988507,
      "name": "Paris",
      "ascii_name": "Paris",
      "latitude": 48.85341,
      "longitude": 2.3488,
      "country": "FR",
      "admin1": "Île-de-France",
      "admin1_code": "11",
      "population": 2138551,
      "timezone": "Europe/Paris",
      "feature_code": "PPLC",
      "place_type": "national capital",
      "is_capital": true,
      "matched_by": "exact"
    },
    {
      "id": 4717560,
      "name": "Paris",
      "ascii_name": "Paris",
      "latitude": 33.66094,
      "longitude": -95.55551,
      "country": "US",
…
Ver la respuesta completa
{
  "ok": true,
  "query": "Paris",
  "count": 5,
  "results": [
    {
      "id": 2988507,
      "name": "Paris",
      "ascii_name": "Paris",
      "latitude": 48.85341,
      "longitude": 2.3488,
      "country": "FR",
      "admin1": "Île-de-France",
      "admin1_code": "11",
      "population": 2138551,
      "timezone": "Europe/Paris",
      "feature_code": "PPLC",
      "place_type": "national capital",
      "is_capital": true,
      "matched_by": "exact"
    },
    {
      "id": 4717560,
      "name": "Paris",
      "ascii_name": "Paris",
      "latitude": 33.66094,
      "longitude": -95.55551,
      "country": "US",
      "admin1": "Texas",
      "admin1_code": "TX",
      "population": 24782,
      "timezone": "America/Chicago",
      "feature_code": "PPLA2",
      "place_type": "second-order admin seat",
      "is_capital": false,
      "matched_by": "exact"
    },
    {
      "id": 6942553,
      "name": "Paris",
      "ascii_name": "Paris",
      "latitude": 43.2,
      "longitude": -80.38333,
      "country": "CA",
      "admin1": "Ontario",
      "admin1_code": "08",
      "population": 12310,
      "timezone": "America/Toronto",
      "feature_code": "PPL",
      "place_type": "populated place",
      "is_capital": false,
      "matched_by": "exact"
    }
  ],
  "source": "GeoNames cities500 (CC BY 4.0)",
  "source_url": "https://www.geonames.org/",
  "scope": "city/place-level geocoding (populated places with population >= 500)"
}

GETPlace Detail

https://api-geocoding.dataandapis.com/v1/place/{id}

Parámetros de ruta

ParámetroEjemplo
id2988507Obligatorio

Petición de ejemplo

curl "https://api-geocoding.dataandapis.com/v1/place/2988507" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "id": 2988507,
  "name": "Paris",
  "ascii_name": "Paris",
  "latitude": 48.85341,
  "longitude": 2.3488,
  "country": "FR",
  "admin1": "Île-de-France",
  "admin1_code": "11",
  "population": 2138551,
  "timezone": "Europe/Paris",
  "feature_code": "PPLC",
  "place_type": "national capital",
  "is_capital": true,
  "elevation_m": 42,
  "alternate_names": [
    "Baariis",
    "Bahliz",
    "Baris",
    "Bariz",
    "Lungsod ng Paris",
    "Lutece",
    "Lutetia",
    "Lutetia Parisorum",
    "Lutèce",
    "PAR",
    "Pa-ri",
…
Ver la respuesta completa
{
  "ok": true,
  "id": 2988507,
  "name": "Paris",
  "ascii_name": "Paris",
  "latitude": 48.85341,
  "longitude": 2.3488,
  "country": "FR",
  "admin1": "Île-de-France",
  "admin1_code": "11",
  "population": 2138551,
  "timezone": "Europe/Paris",
  "feature_code": "PPLC",
  "place_type": "national capital",
  "is_capital": true,
  "elevation_m": 42,
  "alternate_names": [
    "Baariis",
    "Bahliz",
    "Baris",
    "Bariz",
    "Lungsod ng Paris",
    "Lutece",
    "Lutetia",
    "Lutetia Parisorum",
    "Lutèce",
    "PAR",
    "Pa-ri",
    "Paarys",
    "Palika",
    "Paname",
    "Pantruche",
    "Paraeis",
    "Paras",
    "Pari",
    "Paries",
    "Parigge",
    "Pariggi",
    "Parighji",
    "Parigi",
    "Pariis",
    "Pariisi"
  ],
  "source": "GeoNames cities500 (CC BY 4.0)",
  "source_url": "https://www.geonames.org/",
  "scope": "city/place-level geocoding (populated places with population >= 500)"
}

GETReverse Geocode

https://api-geocoding.dataandapis.com/v1/reverse

Parámetros de consulta

ParámetroEjemplo
lat40.71Obligatorio
limit3Opcional
lon-74.0Obligatorio
min_population0Opcional

Petición de ejemplo

curl "https://api-geocoding.dataandapis.com/v1/reverse?lat=40.71&limit=3&lon=-74.0&min_population=0" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "latitude": 40.71,
  "longitude": -74,
  "search_radius_deg": 0.25,
  "count": 3,
  "results": [
    {
      "id": 5128581,
      "name": "New York City",
      "ascii_name": "New York City",
      "latitude": 40.71427,
      "longitude": -74.00597,
      "country": "US",
      "admin1": "New York",
      "admin1_code": "NY",
      "population": 8804190,
      "timezone": "America/New_York",
      "feature_code": "PPL",
      "place_type": "populated place",
      "is_capital": false,
      "distance_km": 0.7
    },
    {
      "id": 8436473,
      "name": "Financial District",
      "ascii_name": "Financial District",
      "latitude": 40.70789,
…
Ver la respuesta completa
{
  "ok": true,
  "latitude": 40.71,
  "longitude": -74,
  "search_radius_deg": 0.25,
  "count": 3,
  "results": [
    {
      "id": 5128581,
      "name": "New York City",
      "ascii_name": "New York City",
      "latitude": 40.71427,
      "longitude": -74.00597,
      "country": "US",
      "admin1": "New York",
      "admin1_code": "NY",
      "population": 8804190,
      "timezone": "America/New_York",
      "feature_code": "PPL",
      "place_type": "populated place",
      "is_capital": false,
      "distance_km": 0.7
    },
    {
      "id": 8436473,
      "name": "Financial District",
      "ascii_name": "Financial District",
      "latitude": 40.70789,
      "longitude": -74.00857,
      "country": "US",
      "admin1": "New York",
      "admin1_code": "NY",
      "population": 60976,
      "timezone": "America/New_York",
      "feature_code": "PPLX",
      "place_type": "section of populated place",
      "is_capital": false,
      "distance_km": 0.8
    },
    {
      "id": 5112540,
      "name": "Chinatown",
      "ascii_name": "Chinatown",
      "latitude": 40.71649,
      "longitude": -73.99625,
      "country": "US",
      "admin1": "New York",
      "admin1_code": "NY",
      "population": 90000,
      "timezone": "America/New_York",
      "feature_code": "PPLX",
      "place_type": "section of populated place",
      "is_capital": false,
      "distance_km": 0.8
    }
  ],
  "source": "GeoNames cities500 (CC BY 4.0)",
  "source_url": "https://www.geonames.org/",
  "scope": "city/place-level geocoding (populated places with population >= 500)"
}

De dónde salen los datos

Fuente
Conjunto de datos cities500 de GeoNames (CC BY 4.0), servido desde la base de datos geográfica compartida.
Actualización
Sincronización diaria de las modificaciones de GeoNames.

Una instalación. Todos los endpoints.

No necesitas SDKs propietarios. Funciona con cualquier cliente HTTP. Elige tu lenguaje y pega el código.

3lenguajes
4endpoints
RESTarquitectura
1clave para todas las APIs
  • Respuestas totalmente tipadas — autocompletado en tu IDE
  • Sigue la API al día — los nuevos endpoints llegan el mismo día
  • Una sola clave funciona en más de 125 APIs de la plataforma
import axios from 'axios';

const { data } = await axios.get(
  'https://api-geocoding.dataandapis.com/v1/sources',
  { headers: { 'X-Api-Key': process.env.API_KEY } }
);

Geocoding API · X-Api-Key

Explora los endpoints

Explora los parámetros de solicitud e inspecciona ejemplos de respuesta en vivo.

Endpoints disponibles

Parámetros de la solicitud

URL de la API

Encabezados

X-Api-Key
import axios from 'axios';

const url = 'https://api-geocoding.dataandapis.com/v1/sources';
const { data } = await axios.get(url, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});

Una suscripción. Todas las APIs.

Los tokens desbloquean esta API y más de 20 más en DataAndAPIs. Cambia de API cuando quieras.

GRATIS

$0/mes

500 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte comunitario
Comienza gratis
Más Popular

STARTER

$6.99/mes

25.000 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte por email
Suscribirse

PRO

$24.99/mes

100.000 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte por email prioritario
Suscribirse

ULTRA

$99.99/mes

1.000.000 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte prioritario
Suscribirse

¿Necesitas mayor volumen, infraestructura dedicada o un contrato personalizado? Habla con ventas →

Preguntas sobre Geocoding API

Lanza Geocoding API esta tarde.

500 tokens gratis. Sin tarjeta. Y más de 125 APIs más con la misma clave.