Se adjuntan códigos, manuales y documentación para el acceso a las series de la Base de Datos Estadísticos del Banco Central, utilizando Python, R y C#, así como la documentación de las APIs, junto a las condiciones de uso y formularios necesarios para acceder a este servicio.
Para todos los efectos de condiciones de uso, se utilizarán de forma indistinta API y Web services.
Los métodos disponibles son:
En la cual se consideran los parámetros:
En la cual se consideran los parámetros:
Las empresas, instituciones, organismos o personas naturales que deseen utilizar este servicio, deben completar el siguiente formulario y enviarlo a
La documentación solicitada debe enviarse en formato PDF o MS Word, exclusivamente.
Formulario de registro y condiciones de uso.
Personas naturales deberán proveer identificación (cédula o pasaporte).
Carta solicitud de clave
y declaración jurada (Certificado 1) sólo para empresas chilenas
Certificado de incumbencia (Certificado 2) sólo para empresas extranjeras
Para consultar los datos disponibles de una serie a través de Python, sigue ejemplo para la serie de Tasa de política monetaria diaria (TPM). Utilizar las siguientes líneas de código:
import requests
import pandas as pd
url = "https://si3.bcentral.cl/SieteRestWS/SieteRestWS.ashx?user=123456789&pass=tuPassword&firstdate=2021-01-01&lastdate=2021-01-31×eries=F022.TPM.TIN.D001.NO.Z.D&function=GetSeries"
response = requests.get(url)
response = response.json()
response = response["Series"]["Obs"]
df_data = pd.DataFrame(response)
df_data.head()
El objeto df_data es un dataframe con los datos consultados al servicio, con las columnas indexDateString (fecha), statusCode y value (métrica):
indexDateString
statusCode
value
0
04-01-2021
OK
0.5
1
05-01-2021
OK
0.5
2
06-01-2021
OK
0.5
3
07-01-2021
OK
0.5
4
08-01-2021
OK
0.5
El siguiente ejemplo despliega las series mensuales disponibles para la consulta SearchSeries:
import requests
import pandas as pd
url = "https://si3.bcentral.cl/SieteRestWS/SieteRestWS.ashx?user=123456789&pass=tuPassword&frequency=MONTHLY&function=SearchSeries"
response = requests.get(url)
response = response.json()
response = response["SeriesInfos"]
df_data = pd.DataFrame(response)
df_data.head()
El objeto df_data es un dataframe con los datos consultados al servicio, con las columnas respectivas:
createdAt | englishTitle | firstObservation | frequencyCode | lastObservation | seriesId | spanishTitle | updatedAt | |
---|---|---|---|---|---|---|---|---|
0 | 08-07-2021 | CPI Volatile Food, year to year percent changes | 01-04-1990 | MONTHLY | 01-06-2021 | G073.IPCAV.V12.2018.M | IPC Alimentos volátiles, variación mismo perio... | 08-07-2021 |
1 | 08-07-2021 | CPI Volatile Food, monthly change | 01-05-1989 | MONTHLY | 01-06-2021 | G073.IPCAV.VAR.2018.M | IPC Alimentos volátiles, variación mensual | 08-07-2021 |
2 | 08-07-2021 | CPI Goods without volatiles, year to year perc... | 01-04-1990 | MONTHLY | 01-06-2021 | G073.IPCBSV.V12.2018.M | IPC Bienes sin volátiles, variación mismo peri... | 08-07-2021 |
3 | 08-07-2021 | CPI Goods without volatiles, monthly change | 01-05-1989 | MONTHLY | 01-06-2021 | G073.IPCBSV.VAR.2018.M | IPC Bienes sin volátiles, variación mensual | 08-07-2021 |
4 | 08-07-2021 | CPI Volatile Energy, year to year percent changes | 01-04-1990 | MONTHLY | 01-06-2021 | G073.IPCEN.V12.2018.M | IPC Energía volátiles, variación mismo periodo... | 08-07-2021 |
Para consultar los datos disponibles de una serie a través de R, sigue ejemplo para la serie de Tasa de política monetaria diaria (TPM). Utilizar las siguientes líneas de código:
library("rjson")
url="https://si3.bcentral.cl/SieteRestWS/SieteRestWS.ashx?user=123456789&pass=tuPassword&firstdate=2015-01-01&lastdate=2021-01-31×eries=F022.TPM.TIN.D001.NO.Z.D&function=GetSeries"
json_data <- rjson::fromJSON(file=url)
df_data <- as.data.frame(do.call(rbind, lapply(json_data$Series$Obs, as.vector)))
head(df_data)
El objeto df_data es un dataframe con los datos consultados al servicio, con las columnas indexDateString (fecha), value (métrica) y statusCode:
indexDateString value statusCode 1 02-01-2015 3 OK 2 03-01-2015 NeuN ND 3 04-01-2015 NeuN ND 4 05-01-2015 3 OK 5 06-01-2015 3 OK 6 07-01-2015 3 OK
El siguiente ejemplo despliega las series mensuales disponibles para la consulta SearchSeries:
library("rjson")
url="https://si3.bcentral.cl/SieteRestWS/SieteRestWS.ashx?user=123456789&pass=tuPassword&frequency=MONTHLY&function=SearchSeries"
json_data <- rjson::fromJSON(file=url)
df_data <- as.data.frame(do.call(rbind, lapply(json_data$SeriesInfos, as.vector)))
head(df_data)
El objeto df_data es un dataframe con los datos consultados al servicio, con las columnas respectivas:
seriesId frequencyCode 1 G073.IPCAV.V12.2018.M MONTHLY 2 G073.IPCAV.VAR.2018.M MONTHLY 3 G073.IPCBSV.V12.2018.M MONTHLY 4 G073.IPCBSV.VAR.2018.M MONTHLY 5 G073.IPCEN.V12.2018.M MONTHLY 6 G073.IPCEN.VAR.2018.M MONTHLY spanishTitle 1 IPC Alimentos volátiles, variación mismo periodo año anterior 2 IPC Alimentos volátiles, variación mensual 3 IPC Bienes sin volátiles, variación mismo periodo año anterior 4 IPC Bienes sin volátiles, variación mensual 5 IPC Energía volátiles, variación mismo periodo año anterior 6 IPC Energía volátiles, variación mensual englishTitle firstObservation 1 CPI Volatile Food, year to year percent changes 01-04-1990 2 CPI Volatile Food, monthly change 01-05-1989 3 CPI Goods without volatiles, year to year percent changes 01-04-1990 4 CPI Goods without volatiles, monthly change 01-05-1989 5 CPI Volatile Energy, year to year percent changes 01-04-1990 6 CPI Volatile Energy, monthly change 01-05-1989 lastObservation updatedAt createdAt 1 01-06-2021 08-07-2021 08-07-2021 2 01-06-2021 08-07-2021 08-07-2021 3 01-06-2021 08-07-2021 08-07-2021 4 01-06-2021 08-07-2021 08-07-2021 5 01-06-2021 08-07-2021 08-07-2021 6 01-06-2021 08-07-2021 08-07-2021