Una API, del inglés Application Programming Interface, se define como un conjunto de funciones o métodos que conforman una biblioteca para ser utilizados en el desarrollo de otro software. El ICANE, como parte de su estrategia de mejora de la difusión de sus datos, pone a disposición de sus usuarios un conjunto de funciones que permiten automatizar la obtención de datos y metadatos estadísticos a través de su uso directo.
La API ofrecida por el ICANE es de tipo Restful. De forma resumida, esto implica que las funciones o métodos ofrecidos pueden ser invocados a través de una URI estándar con peticiones GET HTTP. Por ejemplo, podría obtenerse una lista de secciones del banco de datos del ICANE introduciendo la siguiente URI en un navegador:
Las posibilidades que ofrece la API permiten explotar al máximo la creatividad de los desarrolladores. Aplicaciones inmediatas podrían ser: uso interno en el ICANE (por parte de otros sistemas software como su banco de datos, por ejemplo) y desarrollo de "apps" para "smartphones" que utilicen los datos ofrecidos.
Las ventajas más inmediatas de proporcionar una API se traducen en la eliminación de la necesidad de descargar los datos manualmente. Por ejemplo: una empresa podría querer desarrollar una aplicación que explote las nuevas series estadísticas de Resultados en Áreas Pequeñas de la Encuesta de Población Activa (EPA) elaboradas por el ICANE. Sin la API, la empresa tendría que descargar los datos y metadatos, almacenarlos en su propia base de datos, tratarlos y explotarlos. Gracias a la API, toda la información puede seguir almacenada únicamente en el ICANE y ser tratada "al vuelo" por cualquier aplicación.
Actualmente, la API proporciona acceso a todos los datos y metadatos de la totalidad de las series estadísticas incluidas en su banco de datos. A fecha de elaboración de esta ayuda, el número aproximado de series es el siguiente:
La API consta de dos módulos, uno para metadatos (metadata) y otro para datos (data).
La API de metadatos (metadata) devuelve su contenido en formatos JSON o XML. Para especificar uno u otro, es necesario añadir una de las siguientes cabeceras a la petición GET HTTP:
La API de datos, por otra parte, permite exportar una serie de datos al vuelo en los siguientes formatos: XLS, PC-AXIS, SDMX, JSON, Google-JSON y RDF. Dichos formatos se especifican a través de su extensión en la petición GET HTTP, tal y como se mostrará más adelante en este documento.
El ICANE proporciona varios recursos de documentación sobre la API de datos estadísticos. El documento más útil de cara a empezar a utilizar la API es esta página de ayuda. No obstante, se incluyen los siguientes recursos adicionales:
Las series estadísticas están clasificadas de forma jerárquica en categorías temáticas (datos regionales, históricos y municipales), secciones (economía, población, sociedad, territorio y medioambiente), subsecciones (mercado de trabajo, cifras de población...) y otras estructuras sin valor semántico (temas, agrupaciones y estadísticas propiamente dichas).
Por ejemplo, ¿cómo se obtendrían las subsecciones de la sección de economía? Para obtener las subsecciones contenidas en la sección de economía, bastaría con invocar al método:
http://www.icane.es/metadata/api/section/economy/subsectionsLo que devolvería un objeto XML o JSON con las subsecciones pertenecientes a la sección de economía, sin más series anidadas.
Las bibliotecas de software utilizadas para generar los objetos JSON y XML están pensadas explícitamente para el idioma inglés. Además, dado que se trata de una herramienta para desarrollo o programación de software, ofrecer los métodos en inglés permite que sean más intuitivos en su uso también para no hispano-parlantes. Estandarización y mayor difusión vienen a conformar la motivación principal.
Para localizar una serie determinada, es necesario conocer:
De esta forma, es posible componer la URI que devolvera los metadatos asociados a la misma. Para el ejemplo de etiqueta sugerido, la URI sería la siguiente: http://www.icane.es/metadata/api/regional-data/economy/labour-market/active-population-small-areas-employed-unenployed
Dicha URI devolverá un objeto JSON o XML, según lo especificado en la cabecera Accept de la petición GET HTTP enviada. Para obtener los datos asociados a dicha serie, basta con prestar especial atención a las URIs devueltas en el campo "apiUris". Suponiendo que el formato deseado sea XLS (Excel), la URI relevante de entre las devueltas en este caso sería:
http://www.icane.es/data/api/active-population-small-areas-employed-unenployed.excelLa invocación a ese método devolvería un fichero XLS con todos los datos de la serie en cuestión formateados según el banco de datos del ICANE.
Existe un complemento o add-on para el navegador Mozilla Firefox llamado Poster que permite interactuar con la API de datos estadísticos del ICANE de manera sencilla.