La regulación europea de Datos de Alto Valor (HVD, High-Value Datasets), establecida por el Reglamento de Ejecución (UE) 2023/138, consolida el papel de las APIcomo infraestructura esencial para la reutilización de la información pública, convirtiendo su disponibilidad en una obligación legal y no solo en una buena práctica tecnológica.
Desde el 9 de junio de 2024, los organismos públicos de todos los Estados miembros están obligados a publicar los conjuntos de datos clasificados como HVD de forma gratuita, en formatos legibles por máquina y accesibles mediante API. Las seis categorías reguladas son: datos geoespaciales, observación de la Tierra, medio ambiente, estadística, información empresarial y movilidad.
Este marco no es meramente declarativo. Los Estados miembros deben reportar a la Comisión Europea el estado de cumplimiento cada dos años, incluyendo enlaces persistentes a las API que dan acceso a dichos datos. La situación de España en materia de transparencia, datos abiertos y provisión sistemática de API puede consultarse en los indicadores publicados por el Open Data Maturity Report.
En la práctica, esto significa que las API son el puente entre la norma y la realidad. La regulación no solo dice qué datos deben abrirse, sino que obliga a hacerlo de forma que puedan integrarse automáticamente en aplicaciones, estudios o servicios digitales. Por eso, revisar las API públicas disponibles en España es una forma concreta de entender cómo se está aplicando este marco en el día a día.
Inventario de API públicas en España
INE — API JSON (Tempus3)
El Instituto Nacional de Estadística ofrece una API REST que expone toda la base de datos de difusión Tempus3 en formato JSON, que incluye series estadísticas oficiales sobre demografía, economía, mercado laboral, industria, servicios, precios, condiciones de vida y otros indicadores socioeconómicos que incluye series estadísticas oficiales sobre demografía, economía, mercado laboral, industria, servicios, precios, condiciones de vida y otros indicadores socioeconómicos.
Para realizar llamadas, la estructura debe seguir el patrón https://servicios.ine.es/wstempus/js/{idioma}/{función}/{input}. El parámetro tip=AM permite obtener metadatos junto con los datos, y tv filtra por variables específicas. Por ejemplo, para obtener las cifras de población por provincia, basta con consultar la operación correspondiente (IOE 30243) y filtrar por la variable geográfica deseada.
No requiere autenticación ni API key: cualquier petición GET bien formada devuelve datos directamente.
Ejemplo en Python — obtener la serie de población residente con metadatos:
import requests
url = ("https://servicios.ine.es/wstempus/js/ES/"
"DATOS_TABLA/t20/e245/p08/l0/01002.px?tip=AM")
response = requests.get(url)
data = response.json()
for serie in data[:3]: # primeras 3 series
nombre = serie["Nombre"]
ultimo = serie["Data"][-1]
print(f"{nombre}: {ultimo['Valor']:,.0f} ({ultimo['NombrePeriodo']})")
TOTAL EDADES, TOTAL, Ambos sexos: 39,852,651 (1998)
TOTAL EDADES, TOTAL, Hombres: 19,488,465 (1998)
TOTAL EDADES, TOTAL, Mujeres: 20,364,186 (1998)AEMET — OpenData API REST
La Agencia Estatal de Meteorología expone sus datos a través de una API REST, documentada con Swagger UI (herramienta de código abierto que genera documentación interactiva), datos meteorológicos observados y predicciones oficiales, incluyendo temperatura, precipitación, viento, alertas y fenómenos adversos.
A diferencia del INE, AEMET requiere una API key gratuita, que se obtiene proporcionando un correo electrónico en el portal opendata.aemet.es. Una API key funciona como un tipo de “contraseña” o identificador: sirve para para que el organismo pueda saber quién está usando el servicio, controlar el volumen de peticiones y garantizar un uso adecuado de la infraestructura.
Un aspecto técnico relevante es que AEMET implementa un modelo de doble llamada: la primera petición devuelve un JSON con una URL temporal en el campo datos, y una segunda petición a esa URL recupera el dataset real. El rate limit es de 50 peticiones por minuto.
Ejemplo en Python — datos climatológicos diarios (doble llamada):
import requests
API_KEY = "tu_api_key_aqui"
headers = {"api_key": API_KEY}
# 1ª llamada: obtener URL temporal de datos
url = ("https://opendata.aemet.es/opendata/api/"
"valores/climatologicos/diarios/datos/"
"fechaini/2025-01-01T00:00:00UTC/"
"fechafin/2025-01-10T23:59:59UTC/"
"todasestaciones")
resp1 = requests.get(url, headers=headers).json()
# 2ª llamada: descargar el dataset real
datos = requests.get(resp1["datos"], headers=headers).json()
for estacion in datos[:3]:
print(f"{estacion['nombre']}: "
f"Tmax={estacion.get('tmax','N/A')}°C, "
f"Prec={estacion.get('prec','N/A')}mm")
CITFAGRO_88_GAITERO: Tmax=8,8°C, Prec=0,0mm
ABANILLA: Tmax=14,8°C, Prec=0,0mm
LA RODA DE ANDALUCÍA: Tmax=15,7°C, Prec=0,2mmCNIG / IDEE — Servicios OGC y OGC API Features
El Centro Nacional de Información Geográfica publica datos geoespaciales oficiales —cartografía base, modelos digitales del terreno, redes hidrográficas, límites administrativos y otros elementos topográficos— mediante servicios interoperables. Estos han evolucionado desde WMS/WFS hacia los estándares OGC API (Features, Maps y Processes), implementados con software abierto como pygeoapi.
La ventaja principal de OGC API Features frente a WFS es el formato de respuesta: en lugar de GML (pesado y complejo), los datos se sirven en GeoJSON y HTML, formatos nativos del ecosistema web. Esto permite consumirlos directamente desde bibliotecas como Leaflet, OpenLayers o GDAL. Los datasets disponibles incluyen direcciones de Cartociudad, hidrografía, redes de transporte y nomenclátor geográfico.
Ejemplo en Python — consultar features geográficas vía OGC API:
import requests
# OGC API Features - Nomenclátor Geográfico Básico de España
base = "https://api-features.idee.es/collections"
collection = "falls" # Cascadas
url = f"{base}/{collection}/items?limit=5&f=json"
resp = requests.get(url).json()
for feat in resp["features"]:
props = feat["properties"]
coords = feat["geometry"]["coordinates"]
print(f"{props['nombre']}: ({coords[0]:.4f}, {coords[1]:.4f})")
None: (-6.2132, 42.8982)
Cascada del Cervienzo: (-6.2572, 42.9763)
Cascada el Xaral: (-6.3815, 42.9881)
Cascada de Rexiu: (-7.2256, 42.5743)
Cascada de Santalla: (-7.2543, 42.6510)MITECO — Portal de Datos Abiertos (CKAN)
El Ministerio para la Transición Ecológica mantiene un portal basado en CKAN que expone tres capas de acceso: la CKAN Action API para búsqueda de metadatos y datasets, el Datastore API (OpenAPI) para consultas en vivo sobre recursos tabulares, y endpoints RDF/JSON-LD conformes con DCAT-AP y GeoDCAT-AP. En su catálogo pueden encontrarse datos sobre calidad del aire, emisiones y cambio climático, agua (estado de masas y planificación hidrológica), biodiversidad y espacios protegidos, residuos, energía y evaluación ambiental.
Entre los datasets destacados figuran las áreas protegidas de la Red Natura 2000 masas de agua, y proyecciones de emisiones de gases de efecto invernadero.
Ejemplo en Python — buscar datasets:
import requests
BASE = "https://catalogo.datosabiertos.miteco.gob.es/catalogo"
# Buscar datasets que contengan 'natura 2000'
busqueda = requests.get(
f"{BASE}/api/3/action/package_search",
params={"q": "natura 2000", "rows": 3},
).json()
for ds in busqueda["result"]["results"]:
print(f"{ds['title']} ({ds['num_resources']} recursos)")
Espacios Protegidos de la Red Natura 2000 (13 recursos)
Base de datos de los espacios protegidos Red Natura 2000 de España (CNTRYES) (1 recursos)
Espacios Protegidos de la Red Natura 2000 - API - Datos Alto Valor (1 recursos)Comparativa técnica
| Organismo | Protocolo | Formato | Autenticación | Rate limit | HVD |
|---|---|---|---|---|---|
| INE | REST | JSON | Ninguna | No declarado | Sí (estadística) |
| AEMET | REST | JSON | API key (gratuita) | 50 reg/min | Sí (medio ambiente) |
| CNIG/IDEE | OGC API/WFS | GeoJSON/GML | Ninguna | No declarado | Sí (geoespacial) |
| MITECO | CKAN/REST | JASON/RDF | Ninguna (token opc) | No declarado | Sí (medio ambiente) |
Figura 1.Tabla comparativa de las API de diferentes organismos públicos que se presentan en este post. Fuente: elaboración propia - datos.gob.es.
La disponibilidad de API públicas no es solo una cuestión de conveniencia técnica. Desde la perspectiva de datos, estas interfaces habilitan tres capacidades críticas:
- Automatización de pipelines: la ingesta periódica de datos públicos puede orquestarse con herramientas estándar (Airflow, Prefect, cron) sin intervención manual ni descargas de ficheros.
- Reproducibilidad: las URL de las API actúan como referencias estáticas a fuentes autoritativas, lo que facilita auditorías y trazabilidad en proyectos de analítica.
- Interoperabilidad: el uso de estándares abiertos (REST, OGC API, DCAT-AP) permite cruzar fuentes heterogéneas sin depender de formatos propietarios.
El ecosistema de API públicas en España presenta distintos niveles de desarrollo según el organismo y el ámbito sectorial. Mientras que entidades como el INE y AEMET disponen de interfaces consolidadas y bien documentadas, en otros casos el acceso se articula a través de portales CKAN o servicios OGC tradicionales. La regulación relativa a los High Value Datasets (HVD) está impulsando la adopción progresiva de estándares REST, si bien el grado de implantación evoluciona a ritmos diferentes. Para los profesionales de datos, estas API constituyen ya una fuente plenamente operativa cuya integración en arquitecturas de datos resulta cada vez más habitual en entornos analíticos y de ingeniería.
Contenido elaborado por Juan Benavente, ingeniero superior industrial y experto en Tecnologías ligadas a la economía del dato. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.