Skip to main content

bdeapi

Python Version License: GPL v3

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] bdeapi es 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)

Source distribution for bdeapi 0.1.0
File Size Uploaded
bdeapi-0.1.0.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bdeapi 0.1.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page