bdeapi
Cliente en Python ligero y con tipos anotados para consultar de forma sencilla el Servicio Web de Estadísticas (API REST JSON) del Banco de España (BdE / BIEST).
Transforma automáticamente las respuestas en formato JSON en DataFrames de Pandas listos para análisis financiero, econométrico y estadístico.
[!WARNING]
bdeapies una librería de código abierto independiente desarrollada por la comunidad y no tiene ninguna relación, afiliación, patrocinio ni respaldo oficial del Banco de España.
Características
- Interfaz Pythonic: Utiliza argumentos descriptivos en Python (
listado_series,rango_temporal, etc.) que el cliente traduce automáticamente a los parámetros requeridos por la API HTTP. - Integración nativa con Pandas: Devuelve la información limpia y estructurada directamente en objetos
pandas.DataFrame. - Manejo flexible de argumentos: Acepta listas, tuplas o conjuntos para las series y los convierte automáticamente al formato delimitado por comas que exige el servidor.
- Validación de parámetros: Decoradores internos que filtran parámetros no válidos antes de realizar la petición HTTP.
Instalación
Puedes instalar la librería directamente desde PyPI o tu gestor de paquetes preferido:
pip install bdeapi
O usando uv:
uv add bdeapi
Inicio Rápido
1. Obtener el último dato disponible de una o varias series
from bdeapi import ultimo_dato
# Consultar el último valor del Euríbor a 1 año y 3 meses
df_data, df_metadata, df_info = ultimo_dato(
idioma="es",
listado_series=["D_1NBAF472", "D_DNBAD172"],
)
# Imprimir los valores numéricos y sus fechas
print(df_data)
2. Consultar el catálogo o metadatos de series
from bdeapi import listado_series
# Obtener información del catálogo para una serie específica
df_data, df_metadata, df_info = listado_series(
idioma="es",
listado_series="D_1NBAF472",
)
Estructura de las Respuestas
Todas las funciones de consulta devuelven siempre una tupla con 3 DataFrames de Pandas:
| DataFrame | Contenido / Descripción |
|---|---|
df_data |
Datos de la serie temporal (serie, fechaValor, valor, etc.) |
df_metadata |
Metadatos de frecuencia y precisión (descripcionCorta, codFrecuencia, decimales, etc.) |
df_info |
Títulos e información descriptiva detallada proporcionada por el BdE |
Parámetros Soportados y Mapeo Interno
Para facilitar el desarrollo, bdeapi traduce de forma transparente los argumentos de Python a la QueryString que exige la API HTTP del Banco de España:
| Parámetro en Python | Parámetro URL (API BdE) | Tipos Aceptados | Ejemplo |
|---|---|---|---|
idioma |
idioma |
str |
"es", "en" |
listado_series |
series |
str, list, tuple |
["D_1NBAF472", "D_DNBAD172"] |
rango_temporal |
rango |
str |
"2024-01-01,2026-01-01" |
Pruebas Unitarias
Para ejecutar la suite de tests y verificar la cobertura del código:
# Ejecutar los tests
pytest
# Reporte de cobertura de código
pytest --cov=bdeapi
Licencia
Este proyecto está distribuido bajo la Licencia GPL-3.0. Consulta el archivo LICENSE para más detalles.
Documentación de la API
⚠️ Exención de Responsabilidad (Disclaimer)
Este proyecto es una librería no oficial y de desarrollo independiente. No está afiliado, asociado, autorizado, respaldado ni conectado de ninguna manera con el Banco de España (BdE) ni con ninguna de sus filiales u organismos oficiales.
- El nombre Banco de España, BIEST y las marcas o nombres relacionados son marcas registradas de sus respectivos propietarios.
- Este paquete únicamente facilita la interacción programática con el servicio web de datos abiertos del Banco de España a través de sus endpoints públicos.
Release files for bdeapi 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bdeapi-0.1.0.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bdeapi-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:13.0 kB
Release files / bdeapi-0.1.0.tar.gz
| Download URL | bdeapi-0.1.0.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24df2838441c1a58ad636037f208de197da2dd0c7770ae782513a3306b86e349
|
|
BLAKE2b-256 checksum How to use checksums |
41e70c3f5550509a24e5173b7ec3159651bcd3c7cbfe246df6b34e327da73013
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / bdeapi-0.1.0-py3-none-any.whl
| Download URL | bdeapi-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bab2414361e34fc0df3e1383a1ceb744c3323b6ed63923f35bfae3afd4c88f8b
|
|
BLAKE2b-256 checksum How to use checksums |
bb6d8cff75e3efae2049046c1fc13a9c7567dc10cf41f09c1a0d2371cc25c0e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|