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 peticiones fetch() o axios() 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.

GET https://dolarctd.fabrictd.com/api/v2/rates?base=USD&quotes=ARS,EUR
ParámetroDescripció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.

GET https://dolarctd.fabrictd.com/api/v2/rates?date=2023-05-10&base=USD
ParámetroDescripció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.

GET https://dolarctd.fabrictd.com/api/v2/rates?from=2024-01-01&to=2024-01-05&base=USD&quotes=EUR
ParámetroDescripció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.

GET https://dolarctd.fabrictd.com/api/v2/currencies

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ódigoSignificado 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...