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" }
    }
  }
}
Una vez configurado, podés pedirle a Claude: "Geocodificá Corrientes 1234 en Buenos Aires" y usará la tool 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.

No incluir la API key en código fuente público. Usar variables de 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).

ProtocoloEndpoint baseUso recomendado
MCP SSEhttps://api.gislatam.io/{pais}/sseClaude, Cursor, Zed, agentes IA
HTTPhttps://api.gislatam.io/{pais}/mcpLlamadas programáticas en batch
RESThttps://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.

geocodificar_ar
Geocodificación directa con interpolación de número de puerta sobre cartografía de precisión. Retorna lat/lon, CP, confianza y método de resolución.
🇦🇷 ARMCPPOST
ParámetroTipoReq.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.

reverse_geocodificar_ar
Retorna la dirección más cercana al punto dado: calle, número estimado, barrio, municipio, provincia y CP.
🇦🇷 ARMCPPOST
ParámetroTipoReq.Descripción
latfloatReq.Latitud decimal (ej: -34.6041)
lonfloatReq.Longitud decimal (ej: -58.3838)
radio_mintegerOpt.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.

enriquecer_por_coordenada_ar
Enriquecimiento multicapa: NSE, NBI, POIs OSM, barrios populares, riesgo sísmico e hídrico en un radio configurable.
🇦🇷 ARMCPPOST
ParámetroTipoReq.Descripción
latfloatReq.Latitud decimal
lonfloatReq.Longitud decimal
radio_mintegerOpt.Radio de análisis en metros (default: 500, max: 5000)
capasstring[]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.

Para lotes grandes (>500 puntos) usar el endpoint REST directo o el script 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.

geocodificar_mx
25.572 modelos de regresión CDMX + cobertura nacional de precisión. Colonia como contexto de desambiguación.
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
callestringReq.Nombre de la calle
numerointegerReq.Número exterior (1–99999)
coloniastringOpt.Nombre de colonia o asentamiento para desambiguar
estadostringOpt.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.

reverse_geocodificar_mx
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
latfloatReq.Latitud decimal
lonfloatReq.Longitud decimal

enriquecer_por_coordenada_mx

Enriquecimiento para México: POIs DENUE/OSM cercanos, NSE estimado, municipio y estado.

enriquecer_por_coordenada_mx
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
latfloatReq.Latitud decimal
lonfloatReq.Longitud decimal
radio_mintegerOpt.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).

Los datos son padrón público del gobierno federal, expuestos únicamente como estadísticas agregadas a nivel municipio. No contiene nombres ni datos individuales de beneficiarios.
bienestar_por_municipio_mx
S038 Adultos Mayores · S052 Discapacidad · S072 Sembrando Vida · S174 Jóvenes Construyendo el Futuro — estadísticas por municipio.
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
latfloatReq.Latitud decimal del punto a consultar
lonfloatReq.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.

verificar_repep_mx
293,482 teléfonos únicos — 34 estados — actualización junio 2025. Acepta formatos: 10 dígitos, +52, espacios y guiones.
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
telefonostringReq.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.

verificar_lote_repep_mx
Hasta 5,000 teléfonos por llamada. Devuelve resumen estadístico + detalle por número con categorías bloqueadas.
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
telefonosstring[]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.

centros_cuidado_cercanos_mx
Devuelve hasta 10 centros ordenados por distancia con nombre, tipo, sector, horario, capacidad y dirección.
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
latfloatReq.Latitud decimal
lonfloatReq.Longitud decimal
radio_mintegerOpt.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.

riesgo_inundacion_mx
Point-in-polygon contra Atlas de Riesgo SPCGIR 2019. Devuelve nivel de intensidad, alcaldía y periodo de retorno.
🇲🇽 MXMCPPOST
ParámetroTipoReq.Descripción
latfloatReq.Latitud decimal (CDMX: aprox. 19.2 – 19.6)
lonfloatReq.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.

NivelSignificadoMé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
En producción se recomienda descartar resultados UNRESOLVED e inspeccionar los BAJA manualmente antes de usarlos en decisiones de negocio.

Códigos de error

Código HTTPErrorDescripción
401UNAUTHORIZEDAPI key ausente o inválida
403QUOTA_EXCEEDEDSe alcanzó el límite mensual del plan
422INVALID_INPUTParámetros requeridos faltantes o con formato incorrecto
404NOT_FOUNDDirección no encontrada (equivale a confianza UNRESOLVED)
429RATE_LIMITEDDemasiadas solicitudes por segundo (máx. 50 RPS en Professional)
500INTERNAL_ERRORError del servidor. Reintentar con backoff exponencial.

Changelog

v1.2.0
Junio 2026
  • Nuevo MX: bienestar_por_municipio_mx — Plan Bienestar 21.9M beneficiarios agregados a 2,469 municipios
  • Nuevo MX: verificar_repep_mx y verificar_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
v1.1.0
Junio 2026
  • 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)
v1.0.0
Mayo 2026
  • 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