API v1.0 · JSON · CORS abierto

API REST.

Acceso programático a todos los datos hídricos de TerraNava. JSON estático servido vía HTTPS · CORS habilitado · sin autenticación · actualización mensual.

Endpoints totales
709
archivos JSON disponibles
Municipios
686
1 JSON por municipio
Departamentos
18
+ resumen nacional
Licencia
CC BY 4.0
+ atribución TerraNava

Endpoints disponibles

Todos los endpoints son GET HTTPS sin parámetros. Devuelven JSON con CORS abierto. Click en "Ver JSON" para abrir el endpoint en una pestaña nueva.

GET /api/index.json Ver JSON →
Catálogo completo de la API. Lista todos los endpoints, versión, licencia y contactos.
📦 1 KB🔓 Sin auth⏱️ Actualización: mensual
GET /api/ivh.json Ver JSON →
IVH v4 actual de los 343 municipios de Bolivia con componentes desglosados (clima, agua, desastres, social, hidro), nivel, cobertura agua, NBI, SPI-12 y SPEI-12.
📦 ~105 KB🔓 Sin auth🧠 343 municipios
GET /api/ivh-historico.json Ver JSON →
Series temporales del IVH 2015-2026 por municipio. Incluye nacional agregado por año (críticos/altos/medios/bajos), delta 5 años, tendencia.
📦 ~135 KB🔓 Sin auth📅 12 años · 343 municipios
GET /api/drought.json Ver JSON →
Estado actual de sequía (SPI-12, SPEI-12, PDSI) por departamento + series mensuales desde 2020. Fuente: CHIRPS v2.0 + ERA5-Land + TerraClimate.
📦 ~22 KB🔓 Sin auth🌍 9 departamentos
GET /api/departamentos.json Ver JSON →
Resumen agregado por departamento: IVH promedio, distribución (criticos/altos/medios/bajos), población total, cobertura agua, NBI.
📦 ~2 KB🔓 Sin auth🌍 9 departamentos
GET /api/departamentos/{slug}.json Ejemplo Beni →
Datos completos de un departamento: resumen, sequía actual, top 10 vulnerables, top 10 mejores. Slugs disponibles: beni, chuquisaca, cochabamba, la-paz, oruro, pando, potosi, santa-cruz, tarija.
📦 ~3 KB c/u🔓 Sin auth📂 18 archivos
GET /api/municipios/{depto}_{municipio}.json Ejemplo Riberalta →
Datos completos por municipio: IVH actual + componentes, Censo 2024, estado sequía, hidrología (GRACE-FO, JRC), eventos históricos, serie histórica 2015-2026. Formato: {slug_departamento}_{slug_municipio}.json.
📦 ~2-4 KB c/u🔓 Sin auth📂 686 archivos

Ejemplos de uso

Cómo consumir la API desde frontend (JavaScript) o backend (Python).

JavaScript (fetch)

// Obtener IVH actual de todos los municipios
const response = await fetch('https://terranava.org/algoritmo/api/ivh.json');
const data = await response.json();
console.log(`343 municipios cargados`);

// Filtrar municipios CRÍTICOS
const criticos = data.municipios.filter(m => m.nivel === 'CRÍTICO');

// Ficha de un municipio específico
const ficha = await fetch('https://terranava.org/algoritmo/api/municipios/beni_riberalta.json');
const mun = await ficha.json();
console.log(`IVH ${mun.ivh.valor} - ${mun.ivh.nivel}`);

Python (requests)

import requests

# Estado de sequía actual
r = requests.get('https://terranava.org/algoritmo/api/drought.json')
data = r.json()
for d in data['estado_actual']:
    print(f"{d['departamento']}: SPI-12 = {d['spi_12m']:+.2f}")

# Histórico de un departamento
r = requests.get('https://terranava.org/algoritmo/api/departamentos/potosi.json')
print(r.json()['top_10_vulnerables'])

cURL

# Catálogo
$ curl https://terranava.org/algoritmo/api/index.json

# Estado actual sequía + pipe a jq
$ curl -s https://terranava.org/algoritmo/api/drought.json | jq '.estado_actual[] | {depto: .departamento, spi: .spi_12m}'

Detalles técnicos

CORS · Encabezado Access-Control-Allow-Origin: * habilitado en todos los endpoints. Podés hacer fetch desde cualquier dominio.
Cache · HTTP cache max-age=3600 (1 hora). Los archivos JSON se regeneran al primer día del mes.
Encoding · UTF-8. Acentos y ñ se devuelven con caracteres reales, no escapados.
Versionado · No hay parámetros de versión en la URL. Cambios mayores se anuncian en el catálogo.
Rate limits · No hay límite formal. Si vas a consumir >10.000 requests/día, mandanos un email a pablo@terranava.org.
Licencia · Datos bajo CC BY 4.0. Atribución requerida: "Fuente: TerraNava (terranava.org)".

Contacto técnico

Para integraciones empresariales, customizaciones o uso institucional intensivo: pablo@terranava.org. Para reportar errores en los datos o sugerir nuevos endpoints, abrí un issue describiendo el caso de uso.