Python es una de las opciones más sencillas para consumir una API REST y procesar una respuesta JSON.
En este tutorial aprenderemos a consultar la tasa del dólar BCV desde Python utilizando la API pública de datos de Crom Studio.
Endpoint de la tasa BCV
Utilizaremos:
https://datos.cromstudio.com.ve/tasa
La API devuelve una respuesta JSON similar a:
{
"fuente": "BCV_DB",
"fecha_valor": "Lunes, 05 Octubre 2026",
"tasas": {
"USD": 871.3689,
"EUR": 981.17880877
},
"actualizado_el": "2026-10-03T08:05:04.620451-04:00"
}
Para obtener el dólar:
data["tasas"]["USD"]
Instalar Requests
La forma habitual de realizar peticiones HTTP en Python es utilizar requests.
pip install requests
Después podemos realizar la petición:
import requests
url = "https://datos.cromstudio.com.ve/tasa"
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
print(data)
Obtener solamente el dólar
No necesitamos imprimir toda la respuesta.
import requests
url = "https://datos.cromstudio.com.ve/tasa"
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
usd = data["tasas"]["USD"]
print(f"Tasa BCV: {usd}")
Obtener USD y EUR
La misma respuesta incluye el euro:
usd = data["tasas"]["USD"]
eur = data["tasas"]["EUR"]
print(f"USD: {usd}")
print(f"EUR: {eur}")
Esto resulta útil si una aplicación necesita trabajar con más de una moneda.
Obtener la fecha del valor
También podemos recuperar los metadatos:
fecha = data["fecha_valor"]
actualizado = data["actualizado_el"]
print("Fecha:", fecha)
print("Actualizado:", actualizado)
Una aplicación puede utilizar esta información para mostrar al usuario cuándo corresponde el valor consultado.
Crear una función
Para reutilizar el código:
import requests
def obtener_tasa_bcv():
url = "https://datos.cromstudio.com.ve/tasa"
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
return data["tasas"]["USD"]
tasa = obtener_tasa_bcv()
print(f"1 USD = {tasa} VES")
Ahora cualquier parte de nuestro programa puede llamar:
obtener_tasa_bcv()
Validar la respuesta
En una aplicación real no conviene asumir que todos los datos siempre existen.
Podemos hacer una validación básica:
def obtener_tasa_bcv():
url = "https://datos.cromstudio.com.ve/tasa"
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
if "tasas" not in data:
raise ValueError("La respuesta no contiene tasas")
if "USD" not in data["tasas"]:
raise ValueError("La respuesta no contiene USD")
tasa = data["tasas"]["USD"]
if not isinstance(tasa, (int, float)) or tasa <= 0:
raise ValueError("Tasa USD inválida")
return tasa
Usar la tasa para convertir dólares
Supongamos que tenemos un producto cuyo precio es:
precio_usd = 150
Podemos convertirlo a bolívares:
tasa = obtener_tasa_bcv()
precio_ves = precio_usd * tasa
print(
f"${precio_usd} = Bs. {precio_ves:.2f}"
)
La operación utiliza la tasa obtenida en el momento de la consulta.
Manejar errores de conexión
Una API externa puede no estar disponible temporalmente.
Podemos manejar el error:
import requests
try:
response = requests.get(
"https://datos.cromstudio.com.ve/tasa",
timeout=10
)
response.raise_for_status()
data = response.json()
print(data["tasas"]["USD"])
except requests.RequestException as error:
print("Error de conexión:", error)
except (KeyError, TypeError, ValueError) as error:
print("Respuesta inválida:", error)
Usarlo desde un script automatizado
Python también permite automatizar esta consulta.
Por ejemplo, un programa podría:
Consultar API
↓
Obtener USD
↓
Validar dato
↓
Guardar en base de datos
↓
Actualizar aplicación
Este patrón puede utilizarse en:
- sistemas de facturación;
- inventarios;
- dashboards;
- tiendas online;
- reportes;
- sistemas administrativos;
- procesos de automatización.
Una API frente al scraping
Cuando un programa necesita un dato estructurado, consumir JSON suele ser más directo que analizar HTML.
Con la API:
GET /tasa
↓
JSON
↓
data["tasas"]["USD"]
No necesitamos buscar una etiqueta HTML ni depender de selectores CSS.
Conclusión
Python puede consultar la tasa BCV utilizando unas pocas líneas de código:
import requests
response = requests.get(
"https://datos.cromstudio.com.ve/tasa",
timeout=10
)
data = response.json()
print(data["tasas"]["USD"])
El endpoint puede utilizarse como fuente de datos para aplicaciones Python que necesiten incorporar la tasa del dólar BCV en sus propios procesos.
Para proyectos más importantes, es recomendable añadir validación, manejo de errores y almacenamiento de la última tasa válida.
Top comments (0)