Documentación GIS LATAM
Referencia completa de la API geoespacial para Argentina y México. Compatible con protocolo MCP (SSE/HTTP) y REST directo. Sin dependencias externas de terceros.
Quickstart
En menos de 5 minutos podés tener tu primera geocodificación funcionando.
1. Obtené tu API key
Registrate en el portal de usuario y generá una key desde la sección API Keys. El plan Starter es gratuito y no requiere tarjeta.
2. Primera geocodificación (curl)
curl -X POST https://api.gislatam.io/ar/geocodificar \ -H "X-API-Key: glk_prod_tukey" \ -H "Content-Type: application/json" \ -d '{ "calle": "Corrientes", "numero": 1234, "localidad": "CABA" }'
Respuesta esperada
{
"lat": -34.6041,
"lon": -58.3838,
"calle_encontrada": "AVENIDA CORRIENTES",
"numero": 1234,
"cp": "1043",
"confianza": "ALTA",
"metodo": "rango_precision"
}
3. Conectar con Claude (MCP)
// ~/.config/claude/claude_desktop_config.json { "mcpServers": { "gis-ar": { "url": "https://api.gislatam.io/ar/sse", "transport": "sse", "headers": { "X-API-Key": "glk_prod_tukey" } }, "gis-mx": { "url": "https://api.gislatam.io/mx/sse", "transport": "sse", "headers": { "X-API-Key": "glk_prod_tukey" } } } }
geocodificar_ar automáticamente.Autenticación
Todas las solicitudes deben incluir el header X-API-Key con la clave generada en el portal.
# Header requerido en toda solicitud REST
X-API-Key: glk_prod_••••••••••••••••••
Las API keys son por usuario y por entorno (producción / desarrollo). Rotarlas desde el portal no afecta las keys de otro entorno.
os.getenv("GIS_LATAM_KEY").Transporte MCP / REST
El servicio expone dos interfaces equivalentes: MCP (para agentes de IA) y REST (para aplicaciones tradicionales).
| Protocolo | Endpoint base | Uso recomendado |
|---|---|---|
| MCP SSE | https://api.gislatam.io/{pais}/sse | Claude, Cursor, Zed, agentes IA |
| HTTP | https://api.gislatam.io/{pais}/mcp | Llamadas programáticas en batch |
| REST | https://api.gislatam.io/{pais}/{tool} | Integración directa en apps |
Los puertos de servidor local (para desarrollo) son: AR → 8001, MX → 8002, LATAM → 8000.
geocodificar_ar
Convierte una dirección argentina a coordenadas lat/lon usando cartografía de precisión 2024 (2.2M segmentos). Soporta desambiguación por localidad y CP.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| calle | string | Req. | Nombre de la calle (con o sin prefijo "Av.", "Blvd.", etc.) |
| numero | integer | Req. | Número de puerta (1–99999) |
| localidad | string | Opt. | Ciudad o partido para desambiguar (ej: "CABA", "Rosario", "Córdoba") |
| provincia | string | Opt. | Nombre de provincia (ej: "Buenos Aires", "Santa Fe") |
| cp | string | Opt. | Código postal de 4 dígitos. Aumenta la precisión cuando está disponible. |
Ejemplo de respuesta
{
"lat": -32.94334,
"lon": -60.63585,
"calle_encontrada": "CALLE SAN MARTIN",
"numero": 500,
"cp": "2000",
"confianza": "ALTA",
"metodo": "rango_precision"
}
reverse_geocodificar_ar
De coordenadas lat/lon a dirección postal estructurada en Argentina.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| lat | float | Req. | Latitud decimal (ej: -34.6041) |
| lon | float | Req. | Longitud decimal (ej: -58.3838) |
| radio_m | integer | Opt. | Radio de búsqueda en metros (default: 100) |
enriquecer_por_coordenada_ar
Dado un punto, devuelve contexto geoespacial completo: POIs cercanos, NSE del área, indicadores INDEC, barrios populares RENABAP y riesgo territorial.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| lat | float | Req. | Latitud decimal |
| lon | float | Req. | Longitud decimal |
| radio_m | integer | Opt. | Radio de análisis en metros (default: 500, max: 5000) |
| capas | string[] | Opt. | Lista de capas a incluir. Default: todas. Valores: "nse", "poi", "barrios_populares", "riesgo" |
enriquecer_lote_ar
Versión batch de enriquecimiento: acepta una lista de puntos y devuelve el resultado consolidado para todos.
geocode_batch_ar.py disponible en el repositorio.catalogo_capacidades_ar
Retorna el estado actual de todas las capas cargadas: nombre, fuente, cantidad de registros, fecha de actualización y cobertura geográfica.
# Sin parámetros { "capas": [ { "nombre": "calles_precision", "registros": 2228505, "fuente": "Cartografía de Precisión 2024" }, { "nombre": "barrios_populares", "registros": 4228, "fuente": "RENABAP 2023" }, ... ] }
geocodificar_mx
Geocodificación para México usando cartografía de precisión nacional (7M segmentos) + DENUE 2026 (anclas de POI para modelos de regresión de numeración). OSM CDMX como respaldo para Ciudad de México.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| calle | string | Req. | Nombre de la calle |
| numero | integer | Req. | Número exterior (1–99999) |
| colonia | string | Opt. | Nombre de colonia o asentamiento para desambiguar |
| estado | string | Opt. | Nombre o clave INEGI del estado (ej: "09" para CDMX) |
reverse_geocodificar_mx
De coordenadas a dirección en México. Retorna calle, número, colonia, municipio, estado y CP.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| lat | float | Req. | Latitud decimal |
| lon | float | Req. | Longitud decimal |
enriquecer_por_coordenada_mx
Enriquecimiento para México: POIs DENUE/OSM cercanos, NSE estimado, municipio y estado.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| lat | float | Req. | Latitud decimal |
| lon | float | Req. | Longitud decimal |
| radio_m | integer | Opt. | Radio en metros (default: 500) |
enriquecer_lote_mx
Enriquecimiento batch para México. Acepta lista de coordenadas y retorna contexto geoespacial para cada punto.
catalogo_capacidades_mx
Catálogo de capas México: INEGI, DENUE, OSM CDMX, Bienestar, REPEP y SIDECU con counts y metadatos de cobertura. Llamar primero para descubrir capacidades disponibles.
bienestar_por_municipio_mx
Consulta las estadísticas del Plan Bienestar para el municipio que contiene la coordenada indicada. Devuelve conteos, distribución por sexo e importe promedio de los 4 programas federales (21.9M beneficiarios en 2,469 municipios).
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| lat | float | Req. | Latitud decimal del punto a consultar |
| lon | float | Req. | Longitud decimal del punto a consultar |
Ejemplo de respuesta
{
"cvegeo": "09002",
"municipio": "Azcapotzalco",
"estado": "Ciudad de México",
"total_beneficiarios": 57736,
"S038_adultos_mayores": {
"total": 18450,
"mujeres": 11230,
"hombres": 7220,
"edad_prom": 74.3,
"importe_prom": 2550.0,
"pct_total": 31.9
},
"S052_discapacidad": { /* misma estructura */ },
"S072_sembrando_vida": { /* misma estructura */ },
"S174_jovenes": { /* misma estructura */ }
}
verificar_repep_mx
Verifica si un número telefónico está inscrito en el REPEP (Registro Público de Usuarios que No Desean ser Contactados — PROFECO). Llamar a un número registrado en el REPEP constituye una infracción según la Ley Federal de Protección al Consumidor.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| telefono | string | Req. | Número telefónico a verificar (10 dígitos, acepta +52 y separadores) |
Ejemplo de respuesta — registrado
{
"telefono": "5512345678",
"registrado": true,
"telco": true,
"turistico": true,
"comercio": false,
"estado": "DF Y AREA METROPOLITANA",
"alerta": "NÚMERO EN REPEP — contacto no autorizado viola LFPC"
}
verificar_lote_repep_mx
Versión batch del REPEP. Ideal para higienizar listas de contacto antes de campañas outbound. Devuelve un resumen con porcentaje bloqueado más el detalle por número.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| telefonos | string[] | Req. | Lista de números telefónicos. Máximo 5,000 por llamada. |
Ejemplo de respuesta
{
"resumen": {
"total": 1000,
"registrados": 47,
"libres": 950,
"invalidos": 3,
"pct_bloqueados": 4.7
},
"detalle": [ /* un objeto por número */ ],
"fuente": "REPEP Actual — PROFECO México (junio 2025)"
}
centros_cuidado_cercanos_mx
Busca centros de cuidado del SIDECU (Sistema Nacional de Cuidados) cercanos a una coordenada. Cubre escuelas de nivel inicial, guarderías, CENDI, centros comunitarios y más — 128,141 puntos a nivel nacional.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| lat | float | Req. | Latitud decimal |
| lon | float | Req. | Longitud decimal |
| radio_m | integer | Opt. | Radio de búsqueda en metros (default: 1000, máx: 10000) |
Ejemplo de respuesta
[{
"nombre": "ENRIQUE REBSAMEN",
"tipo": "Educación preescolar",
"sector": "Público",
"modalidad": "Gratuito",
"estatus": "En operación",
"municipio": "Progreso",
"entidad": "Yucatán",
"horario": "07:00 – 14:00",
"dias_atencion":"Lunes - Viernes",
"capacidad": 120,
"lat": 19.4022,
"lon": -99.1655,
"distancia_m": 284
}]
riesgo_inundacion_mx
Consulta el nivel de riesgo de inundación para un punto geográfico según el Atlas de Riesgo de CONAGUA/SPCGIR. Cobertura: Ciudad de México (4,908 zonas clasificadas a nivel AGEB). Niveles: Muy Alto, Alto, Medio, Bajo, Muy Bajo.
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
| lat | float | Req. | Latitud decimal (CDMX: aprox. 19.2 – 19.6) |
| lon | float | Req. | Longitud decimal (CDMX: aprox. -99.4 – -98.9) |
Ejemplo de respuesta — zona de riesgo
{
"en_zona_riesgo": true,
"intensidad": "Muy Alto",
"nivel_num": 5,
"fenomeno": "Hidrometeorológicos",
"taxonomia": "Inundaciones",
"alcaldia": "Benito Juárez",
"entidad": "Ciudad de México",
"periodo": "5 años",
"fuente": "Atlas de Riesgo SPCGIR / CONAGUA — CDMX 2019"
}
Niveles de confianza
Cada respuesta de geocodificación incluye un campo confianza que indica la calidad de la resolución.
| Nivel | Significado | Método |
|---|---|---|
| ALTA | Número de puerta interpolado dentro del rango del segmento | rango_precision / rango_proporcional (MX) |
| MEDIA | Calle encontrada pero número fuera de rango o sin rango disponible | centroide_precision / sin_modelo |
| BAJA | Búsqueda fuzzy por palabras clave o sin número de puerta | centroide_precision |
| UNRESOLVED | Dirección no encontrada en la cartografía disponible | — |
Códigos de error
| Código HTTP | Error | Descripción |
|---|---|---|
401 | UNAUTHORIZED | API key ausente o inválida |
403 | QUOTA_EXCEEDED | Se alcanzó el límite mensual del plan |
422 | INVALID_INPUT | Parámetros requeridos faltantes o con formato incorrecto |
404 | NOT_FOUND | Dirección no encontrada (equivale a confianza UNRESOLVED) |
429 | RATE_LIMITED | Demasiadas solicitudes por segundo (máx. 50 RPS en Professional) |
500 | INTERNAL_ERROR | Error del servidor. Reintentar con backoff exponencial. |
Changelog
- Nuevo MX:
bienestar_por_municipio_mx— Plan Bienestar 21.9M beneficiarios agregados a 2,469 municipios - Nuevo MX:
verificar_repep_mxyverificar_lote_repep_mx— REPEP PROFECO 293K teléfonos, lookup instantáneo - Nuevo MX:
centros_cuidado_cercanos_mx— SIDECU 128K centros de cuidado nacionales, búsqueda radial - Nuevo MX:
riesgo_inundacion_mx— Atlas Riesgo CONAGUA/SPCGIR 4,908 zonas CDMX - MX pasa de 5 a 10 tools. Catálogo actualizado a v1.1 con nuevas fuentes de datos
- Nuevo: motor de geocodificación AR con desambiguación espacial por 5.243 localidades indexadas
- Nuevo: geocodificador batch AR — procesamiento masivo sin servicios externos
- Mejora: índice de nombres vectorizado — 30× más rápido al iniciar
- Fix: normalización de calles que coinciden con nombres de provincias (Corrientes, Santa Fe)
- Lanzamiento de servidores AR (Puerto 8001) y MX (Puerto 8002)
- Transport dual stdio/SSE vía variable de entorno MCP_TRANSPORT
- Motor MX: 7M segmentos de precisión nacional + 25.572 modelos de regresión CDMX
- Backup de 49 capas geoespaciales (~1.2 GB) en almacenamiento de objetos