Introducción a la API v2
Bienvenido a la documentación oficial de la API de Divisas de DólarCTD. Esta interfaz de programación (API) ha sido diseñada para ser una de las soluciones más rápidas y accesibles para obtener tipos de cambio internacionales.
Proporciona datos en tiempo real y series históricas que abarcan desde el año 1999 hasta el día de hoy, procesando la información de más de 84 bancos centrales alrededor del globo. Las actualizaciones de mercado se reflejan diariamente alrededor de las 16:00 CET.
Arquitectura Serverless & Autenticación
Para maximizar la resiliencia y velocidad, nuestra API está impulsada por Netlify Functions. Esto significa que DólarCTD actúa como un proxy inverso de altísimo rendimiento conectado a la red principal del BCE (vía Frankfurter).
Ventajas de nuestra infraestructura:
- Cero Configuración: No requieres registrarte, ni gestionar API Keys, ni enviar Headers de Autenticación. Es completamente abierta.
- CORS Habilitado Nativo: Las cabeceras
Access-Control-Allow-Origin: *están inyectadas a nivel de proxy. Puedes hacer peticionesfetch()oaxios()directamente desde el frontend de tu aplicación (React, Vue, Vanilla) sin temor a ser bloqueado por el navegador. - Límites de Uso (Rate Limit): No hay límites estrictos codificados, pero apelamos al "Fair Use" (Uso Justo). Si planeas hacer cientos de peticiones por segundo, considera implementar caché en tu lado.
Obtener Tasas Actuales
El endpoint /rates (sin parámetro de fecha) devuelve los tipos de cambio más recientes conocidos por el sistema.
| Parámetro | Descripción |
|---|---|
| base Opcional | Código ISO 4217 de 3 letras de la moneda base. Si se omite, el sistema usa EUR por defecto. |
| quotes Opcional | Lista separada por comas de los símbolos de monedas de destino. Ejemplo: ARS,BRL,GBP. Usar esto reduce el tamaño del JSON de respuesta significativamente. |
Respuesta Esperada
[
{
"date": "2026-07-17",
"base": "USD",
"quote": "ARS",
"rate": 1015.50
},
{
"date": "2026-07-17",
"base": "USD",
"quote": "EUR",
"rate": 0.9124
}
]
Tasas Históricas
¿Necesitas saber cuánto valía el Euro o el Real Brasileño hace 5 años? Proporciona el parámetro de fecha en la URL.
| Parámetro | Descripción |
|---|---|
| date Requerido | Fecha exacta a consultar, estrictamente en formato ISO YYYY-MM-DD. Si la fecha cae en fin de semana, la API buscará el último día hábil anterior. |
| base Opcional | Moneda base de cálculo. |
Series Temporales (Time-Series)
El endpoint más potente para graficar. Permite solicitar la evolución de una o varias monedas a lo largo de un periodo de tiempo. Nuestro propio gráfico interactivo en el conversor funciona gracias a este método.
| Parámetro | Descripción |
|---|---|
| from Requerido | Fecha de inicio de la serie temporal (YYYY-MM-DD). |
| to Opcional | Fecha de finalización. Si se omite, se asume el día actual. |
| group Opcional | Técnica de compresión (Downsampling) para evitar payloads masivos. Valores aceptados: week (promedio semanal) o month (promedio mensual). Ideal si consultas rangos de 5 o 10 años. |
Catálogo de Monedas
Obtén el diccionario completo de las monedas soportadas, mapeando los códigos ISO de 3 letras con sus nombres descriptivos.
Ejemplos de Implementación
Aquí tienes ejemplos listos para copiar y pegar (Copy-Paste) en los lenguajes más populares.
JavaScript (Node.js / Browser Fetch)
// Función asíncrona para obtener tasas del USD al Peso Argentino y Euro async function getDivisas() { const url = 'https://dolarctd.fabrictd.com/api/v2/rates?base=USD"es=ARS,EUR'; try { const response = await fetch(url); if (!response.ok) { throw new Error(`Error HTTP: ${response.status}`); } const data = await response.json(); console.log("Resultados:", data); // Iterar el Array V2 data.forEach(item => { console.log(`1 ${item.base} equivale a ${item.rate} ${item.quote}`); }); } catch (error) { console.error("Fallo al contactar la API:", error); } }
Python (Requests)
import requests def obtener_tasas_historicas(fecha, base): url = f"https://dolarctd.fabrictd.com/api/v2/rates?date={fecha}&base={base}" try: respuesta = requests.get(url, timeout=5) respuesta.raise_for_status() # Valida que sea un código 200 datos = respuesta.json() for item in datos: print(f"{item['quote']}: {item['rate']}") except requests.exceptions.RequestException as error: print(f"Error de red o API: {error}")
Códigos de Error HTTP
Nuestra API devuelve los códigos HTTP estándar para facilitarte el manejo de excepciones en tu código:
| Código | Significado y Solución |
|---|---|
| 200 OK | Todo ha salido perfecto. El JSON contiene los datos solicitados. |
| 400 Bad Request | Normalmente indica que enviaste un parámetro malformado (ej. una moneda que no existe como `ZZZ`, o una fecha imposible como `2025-15-40`). |
| 404 Not Found | Estás consultando una fecha anterior a 1999 o una ruta inexistente. |
| 500 Internal Error | Fallo en nuestros servidores Netlify. El proxy no pudo comunicarse con el proveedor ascendente. |
Prueba Interactiva V2
Ejecuta una petición GET real directamente desde esta ventana y analiza la respuesta en la consola integrada.
// Esperando instrucción...