Conceptualizacion básica de APIs, e implementación de consultas de la base pública de la OCDE

Universidad de El Salvador · Facultad de Ciencias Económicas Ciclo 02 2026 · Métodos para el análisis económico · estudiante: Aarón Meléndez GM11008

2026-09-14

Conceptualización básica de APIs

¿Qué es una API?

API significa “interfaz de programación de aplicaciones” ( del ingles Application Programming Interface).

Su utilidad radica en que son mecanismos que permiten a dos componentes de software comunicarse entre sí mediante un conjunto de definiciones y protocolos (AWS, 2026) independientemente de la naturaleza, arquitectura o tecnología de dichos componentes, usando criterios o definiciones equivalentes que puedan interpretar ambos componentes (Bonilla Melara, 2024).

Simplificación analógica

Simplificación Técnica

Clasificación de las API

Ejemplo de formato de intercambio en las API

Modelo SDMx

(Statistical Data and Metadata eXchange) es un sistema de intercambio de datos estadísticos basado en el estándar ISO 17369, y cuenta con el apoyo de instituciones como el FMI, el BM y Eurostat.

Consta de (SDMx org, 2026):

  • Normas técnicas (incluido el Modelo de Información)
  • Directrices estadísticas
  • Una arquitectura y herramientas de TI

SDMx tambien agrupa los estándares técnicos, las directrices estadísticas y la arquitectura y herramientas de TI pueden contribuir a la mejora de los procesos estadisticos y el manejo de los metadatos.

Acceso a la OCDE public database

¿Que es la OCDE?

La Organización para la Cooperación y el Desarrollo Económicos (OCDE) es una organización internacional que trabaja para diseñar mejores políticas que contribuyan a mejorar la calidad de vida (OCDE, 2026) . La precursora de la OCDE fue la Organización Europea para la Cooperación Económica (OECE), creada para administrar la ayuda estadounidense y canadiense del Plan Marshall, destinada a reconstruir Europa tras la Segunda Guerra Mundial. La Convención que transformó la OECE en la OCDE se firmó en el Château de la Muette, en París, el 14 de diciembre de 1960, y entró en vigor el 30 de septiembre de 1961. (OCDE, 2026)

Durante los 60 años siguientes, la OCDE ha ampliado el número de países miembros hasta alcanzar los 38, entre ellos naciones de América Latina, Asia y el Pacífico, y ha cumplido su misión de ayudar a los países a encontrar soluciones comunes a desafíos comunes. (OCDE, 2026)

OCDE Data Explorer

La OCDE distribuye toda su información estadística a través de su plataforma OECD Data Explorer, cuyo motor de consultas sigue el estándar SDMx 3.0. El flujo de trabajo para acceder a un indicador es el siguiente (OECD, 2023):

  1. Ingresar al sitio https://www.oecd.org/en/data/datasets/oecd-DE.html

  2. Seleccionar los indicadores de interés. Se dividen en las siguientes grandes categorías:

    Agricultura y pesca.

    Desarrollo

    Economía

    Educación y habilidades

    Medio Ambiente y Cambio Climático

    Industria, negocios y emprendimientos.

    Ciencia, tecnología e innovación

    Empleo

    Sociedad

    Desarrollo urbano, rural y regional

    Finanzas e investigación

    Gobierno Publico.

    Salud

    Comercio

    Transporte

    Impuestos

  1. Aplicar los filtros deseados directamente en el explorador. Dependiendo del nivel de segregación deseado, se mostrará el indicador que cumple las condiciones (de existir en la base de datos). Para el Caso de El Salvador, para la consulta realizada en septiembre 2026, únicamente la librería dispone de 154 datasets que recopilan información del país.
  2. Subfiltrar el indicador escogido. Dependiendo del tipo de indicador, y de la data disponible así serán el subnivel de filtro. Como mínimo, se puede filtrar por el periodo de tiempo.
  3. Ingresar a la opción Developer API query builder. Esta opción muestra la URL construida en función del indicador y los filtros seleccionados. La URL Data query, conecta y descarga de la OCDE la información hacia el repositorio local. La URL Structure query, descarga la información complementaria que describe la base de datos.
  4. Copiar esa URL y cargarla en R Studio empleando la libreria rsdmx y el comando readSDMX() para traer los datos directamente a un tibble, pasando primero por un dataframe.

Sintasix de la URL API de consulta

La URL que genera el compositor de consultas de la OCDE, sigue los siguientes elementos (OECD, 2024a):

Sintasix general de consulta mediante ResFul API
{Host URL}/{Agency identifier},{Dataset identifier},{Dataset version}/{Data selection}?{other optional parameters}

Sintaxis de la URL API de estructura de datos

La URL que genera el compositor de consultas de la OCDE, que contiene la metadata relacionada a la URL de consulta tiene los siguientes elementos (OECD, 2024a):

Sintaxis general de la estructura de datos relacionada a la consulta
{Host URL}/{Agency identifier},{Dataset identifier},{Dataset version}?Data structure parameters

Sin embargo, la OCDE pone en disposición la lista completa de datasets, en la siguiente URL:

https://sdmx.oecd.org/public/rest/dataflow/all

Caracteristicas técnicas de la API de la OCDE

  • Endpoint: genera URL para una consulta con sus propios filtros. Usando R Studio ,la consulta y la respuesta se manejan del lado del backend, por lo que el usuario no requiere de mayor conocimiento de programaciòn de API

  • Tipo de API: RESTful API (peticiones HTTP GET para recursos de datos y metadatos).

  • Modelo: SDMx (Statistical Data and Metadata eXchange) como modelo para estructuras de datos y metadatos.

  • Formato de respuesta por default: JSON

Parametros extra

Como parámetros extra, la OCDE permite definir el formato de respuesta de la consulta (OECD, 2024a):

Para XML, agregar al final de la URL de consulta:
format=genericdata
Para JSON, agregar al final de la URL de consulta:
format=jsondata
Para obtener un CVS, agregar al final de la URL de consulta:
format=cvsfile

Caso práctico

Obtener el PIB pércapita real proyectado para el período 2026-2036 para los Estados Unidos de América.

  1. Ingresar a la OCDE Data Explorer, y buscar GDP Forecast Long-term

    Se puede acceder directamente a traves de esta dirección:

    https://www.oecd.org/es/data/indicators/real-gdp-long-term-forecast.html

  2. Aplicar los filtros necesarios. Para fines de demostración, solo aplicar el filtro de serie temporal para datos de 2026 a 2036.

  1. Acceder al Developer API query builder, y copiar la Data Query generada:

  2. Pegar la url en nuestro codigo en R.

Importación del dataset a R

# Carga de librerias:
library(dplyr)
library(tidyverse)
library(rsdmx)
library(knitr)
library(kableExtra)
library(tsbox)


# Como buena practica de documentacion, siempre anotar la URL original del indicador a cargar:
# https://www.oecd.org/es/data/indicators/real-gdp-long-term-forecast.html

# 5.carga de los datos
url_data_query<- "https://sdmx.oecd.org/public/rest/data/OECD.ECO.MAD,DSD_EO_LTB@DF_EO_LTB,/.GDPVTRD_CAP..A?startPeriod=2026&endPeriod=2036&dimensionAtObservation=AllDimensions" 

GDPppr_potential_2026_2036<- readSDMX(url_data_query)


# 6.conversion de las consultas a tabla tipo Tibble
GDPppr_potential_2026_2036<-as_tibble(GDPppr_potential_2026_2036,labels=TRUE)

#Mostrar la database tal como se descarga de la OCDE
GDPppr_potential_2026_2036 |> 
  head(10)
# A tibble: 10 × 9
   TIME_PERIOD REF_AREA MEASURE   SCENARIO FREQ  obsValue UNIT_MEASURE UNIT_MULT
   <chr>       <chr>    <chr>     <chr>    <chr>    <dbl> <chr>        <chr>    
 1 2026        A9       GDPVTRD_… BAU1     A       20202. USD_PPP_PS   0        
 2 2027        A9       GDPVTRD_… BAU1     A       20505. USD_PPP_PS   0        
 3 2028        A9       GDPVTRD_… BAU1     A       20839. USD_PPP_PS   0        
 4 2029        A9       GDPVTRD_… BAU1     A       21202. USD_PPP_PS   0        
 5 2030        A9       GDPVTRD_… BAU1     A       21591. USD_PPP_PS   0        
 6 2031        A9       GDPVTRD_… BAU1     A       22002. USD_PPP_PS   0        
 7 2032        A9       GDPVTRD_… BAU1     A       22432. USD_PPP_PS   0        
 8 2033        A9       GDPVTRD_… BAU1     A       22880. USD_PPP_PS   0        
 9 2034        A9       GDPVTRD_… BAU1     A       23346. USD_PPP_PS   0        
10 2035        A9       GDPVTRD_… BAU1     A       23827. USD_PPP_PS   0        
# ℹ 1 more variable: DECIMALS <chr>

Filtrado de la data para USA periodo 2026-2036

# 7. Creación de una tabla con los datos filtrados para USA periodo 2026-2036
Tabla_GDPppr_Potential<-GDPppr_potential_2026_2036 %>% 
  filter(REF_AREA=="USA",SCENARIO%in%c("BAU1","BAU2")) |> 
  group_by(TIME_PERIOD, SCENARIO) |> 
  summarise(
    obsValue = round(sum(obsValue, na.rm = TRUE) / 1000, digits = 2),
    .groups = "drop"
  ) |> 
  pivot_wider(names_from = SCENARIO, values_from = obsValue)

# 8. Aplicación de estilo a la tabla
Tabla_GDPppr_Potential|> 
  head(11) %>% 
  rename(
    "AÑO"="TIME_PERIOD",
    "Bussiness as Usual (medium damage)"= "BAU1",
    "Bussiness as Usual (high damage)"= "BAU2"
  ) |> 
  kable(caption = "USA: PIB Real Potencial Per Capita (base 2021) expresado en miles de dólares de los Estados Unidos de América, para el periodo 2026-2036, bajo el supuesto que las políticas públicas, las leyes energéticas y las tendencias económicas no sufriran un cambio radical y no se tomen acciones contra el cambio climatico.") %>%  
  kable_classic(html_font = "Times New Roman", font_size = 14) %>% 
  add_footnote(label="Datos tomado de la API de la OCDE. Los valores BAU 1 y BAU 2 (Business-As-Usual) en las proyecciones económicas globales de largo plazo son elaborados internamente por el Departamento de Economía de la OCDE, utilizando su propio Modelo de Largo Plazo (LTM, por sus siglas en inglés: OECD Long-Term Model). Ambos escenarios simulan una transición energética ineficaz que no logra limitar el calentamiento global por debajo de los 2°C (OECD,2025)",notation="symbol") |> 
  kable_styling(full_width = FALSE)
USA: PIB Real Potencial Per Capita (base 2021) expresado en miles de dólares de los Estados Unidos de América, para el periodo 2026-2036, bajo el supuesto que las políticas públicas, las leyes energéticas y las tendencias económicas no sufriran un cambio radical y no se tomen acciones contra el cambio climatico.
AÑO Bussiness as Usual (medium damage) Bussiness as Usual (high damage)
2026 77.94 77.94
2027 79.16 79.14
2028 80.45 80.39
2029 81.80 81.67
2030 83.19 82.99
2031 84.61 84.31
2032 86.03 85.63
2033 87.43 86.90
2034 88.79 88.13
2035 90.09 89.29
2036 91.34 90.38
* Datos tomado de la API de la OCDE. Los valores BAU 1 y BAU 2 (Business-As-Usual) en las proyecciones económicas globales de largo plazo son elaborados internamente por el Departamento de Economía de la OCDE, utilizando su propio Modelo de Largo Plazo (LTM, por sus siglas en inglés: OECD Long-Term Model). Ambos escenarios simulan una transición energética ineficaz que no logra limitar el calentamiento global por debajo de los 2°C (OECD,2025)

Generación de la Gráfica

# 9. GENERACIÓN DE LA GRÁFICA 
# ========================================================================

# Paso A: Preparar y limpiar los datos en formato largo para tsbox
Graf_GDPppr <- GDPppr_potential_2026_2036 %>% 
  filter(REF_AREA == "USA", SCENARIO %in% c("BAU1", "BAU2")) %>% 
  # Renombramos las columnas obligatorias que requiere tsbox
  select(time = TIME_PERIOD, id = SCENARIO, value = obsValue) %>% 
  # Dividimos entre 1000 y redondeamos para mantener consistencia con tu tabla
  mutate(
    value = as.numeric(value),
    value = round(value / 1000, digits = 2),
    # Renombramos los códigos técnicos a nombres legibles para la leyenda
    id = case_match(id,
                    "BAU1" ~ "Business as Usual (Medium Damage)",
                    "BAU2" ~ "Business as Usual (High Damage)")
  )

# Paso B: Dibujar la serie de tiempo interactiva
ts_plot(Graf_GDPppr, 
        title = "USA: PIB Real Potencial Per Cápita (Base 2021)",
        subtitle = "Proyecciones 2026-2036 en miles de USD bajo escenarios de daño climático")

Conclusiones y recomendaciones.

  • El acceso mediante API a la base de datos de la OCDE usando R Studio, permite enfocarse directamente en el manejo de datos, sin involucrarse en los detalles tecnicos, y lenguajes de programaciòn necesarios para hacer funcionar la interface. La libreria rsdmx realiza el backend de la consulta.

  • Cada vez que se corre el código, se realiza una consulta HTTP hacia la base de datos de la OCDE. Según las normas y politicas de uso, la OCDE limita la velocidad de acceso, y se reserva el derecho de bloquear un usuario que intente realizar consultas masivas en periodos muy cortos de tiempo. Se permiten un limite de 60 solicitudes por hora (OECD, 2024b).

  • Según la documentación, existe el paquete OECD en R Studio, version 0.2.5, lanzado en diciembre 2021. Sin embargo, debido a la actualización y homogenización de la OCDE de sus base de datos para adaptarse al modelo SDMx 3.0, su antiguo servidor Stat, esta fuera de acceso público (Stack Overflow, 2024) . Actualmente hay un paquete beta disponible en github que usa el nuevo modelo SDMx 3.0, pero su testing, sobrepasa los objetivos de esta investigación. La beta esta disponible en

    https://github.com/expersso/OECD

Referencias empleadas

AWS. (2026). What is an API? - Application Programming Interfaces explained. https://aws.amazon.com/what-is/api/
Bonilla Melara, J. I. (2024). Uso de APIs en R para el Acceso a datos económicos: OCDE, FMI, Banco Mundial, UN Comtrade y Eurostat. RPubs. http://rpubs.com
OCDE. (2026). Acerca de. https://www.oecd.org/es/about.html
OECD. (2023). OECD data explorer: Find, understand and use the data you need. https://www.youtube.com/watch?v=ljyDrj-Fi1s.
OECD. (2024a). OECD data via API. https://www.oecd.org/en/data/insights/data-explainers/2024/09/api.html.
OECD. (2024b). API best practices and recommendations. https://www.oecd.org/en/data/insights/data-explainers/2024/11/Api-best-practices-and-recommendations.html.
SDMx org. (2026). SDMx – The standard for Statistical Data and Metadata. https://sdmx.org.
Stack Overflow. (2024, August). Problem with downloading data from OECD using R. https://stackoverflow.com/questions/78913148/problem-with-downloading-data-from-oecd-using-r

API