Documentación /

Referencia de la API

Resumen REST: autenticación, límites, campos de frescura, endpoints y errores.

Autenticación y límites

Los endpoints de datos aceptan evaluación anónima: 12 solicitudes por minuto y 100 por hora e IP. Una clave aplica la cuota mensual de tu cuenta.

bash · header
Authorization: Bearer YOUR_KEY
X-RateLimit-Remaining: 9999
X-RateLimit-Reset: 1788220800

Campos que explican la frescura

`source` indica la clase de fuente, `market_session` el estado del mercado y `data_updated_at` cuándo se escribió el dato. Guarda los tres.

Endpoints

GET /v1/latest[/{BASE}]Tipos actuales, todos o filtrados por symbols.
GET /v1/{YYYY-MM-DD}[/{BASE}]Foto histórica de una fecha y una base.
GET /v1/convert/{FROM}/{TO}[/{AMOUNT}] · POST /v1/convertConvierte un importe; GET individual o POST por lotes.
GET /v1/rate/{slug}Cotización plana de un par por slug.
GET /v1/rangeSerie diaria con paginación y descargas.
GET /v1/currenciesLista de monedas compatibles; no acepta parámetros.
GET /v1/accountCuenta, plan, clave activa y consumo del mes.

Errores

Todos usan `{ result: "error", code, message }`. Un 429 añade `Retry-After`; no hay datos simulados cuando una fuente falla.

json · error
{
  "result": "error",
  "code": "missing_parameter",
  "message": "missing required parameter: symbols"
}

English complete field-by-field reference →

Úsala con tu stack

La misma solicitud funciona con curl, Python y JavaScript. No necesitas una clave para evaluar la API.

Abrir la guía de inicio
curl -fsS --max-time 10 "https://api.exchangerate.dev/v1/latest/USD?symbols=EUR,GBP"
Respuesta de ejemplo
{
  "result": "success",
  "base": "USD",
  "source": "live",
  "sources": {
    "EUR": "live",
    "GBP": "live"
  },
  "market_session": "open",
  "timestamp": "2026-06-15T12:00:00Z",
  "data_updated_at": "2026-06-15T12:00:00Z",
  "effective_at": {
    "EUR": "2026-06-15T12:00:00Z",
    "GBP": "2026-06-15T12:00:00Z"
  },
  "rates": {
    "EUR": 0.86207,
    "GBP": 0.74627
  },
  "derived_symbols": [],
  "notice": "Indicative rates, not for settlement."
}

rates.EUR es la cantidad de EUR por 1 USD. effective_at.EUR es la hora de observación y sources.EUR identifica la fuente. Valores y fechas ilustrativos.

Abrir respuesta JSONReferencia de la API