Ir al contenido

Introducción

MonedAPI es una API pública y gratuita de cotizaciones argentinas: el dólar en sus variantes, el euro, el real, los pesos chileno y uruguayo, el Riesgo País, el CER y la UVA. Responde JSON por HTTP. No hace falta key ni registrarse.

Ventana de terminal
curl https://monedapi.ar/api/v2/usd/blue
{
"currency": "USD",
"name": "Dólar Blue",
"origin": "BLUE",
"buy": 1540,
"sell": 1560,
"updatedAt": "2026-09-29T18:54:13.917-03:00",
"lastScrapedAt": "2026-09-30T18:33:24.838-03:00",
"valueType": "money",
"change": { "amount": 0, "percent": 0, "referenceValue": 1560 }
}

buy es la compra y sell la venta, en pesos argentinos. Los campos están explicados en Cotizaciones actuales.

Desde JavaScript, en el navegador o en Node:

const res = await fetch('https://monedapi.ar/api/v2/usd/blue');
const { buy, sell } = await res.json();

Desde Python:

import requests
quote = requests.get("https://monedapi.ar/api/v2/usd/blue", timeout=10).json()
print(quote["buy"], quote["sell"])
Ruta Devuelve Guía
GET /api/v2/{moneda}/{origen} La cotización actual de un par Cotizaciones actuales
GET /api/v2/{moneda} Las cotizaciones actuales de una moneda Cotizaciones actuales
GET /api/v2/quotes Todas las cotizaciones actuales Cotizaciones actuales
GET /api/v2/history/{moneda}/{origen} La serie de cambios de un par Datos históricos
GET /api/v2/date/{fecha}[/{moneda}[/{origen}]] El valor vigente en una fecha y hora Consulta por fecha

La referencia de la API detalla cada ruta, con sus parámetros y respuestas. Sale de https://monedapi.ar/openapi.json, un documento OpenAPI 3.1 que podés usar para generar un cliente.

  • Frescura. Las cotizaciones se recolectan cada 5 minutos. Una respuesta puede tener hasta 60 segundos de caché, así que pedir más de una vez por minuto no trae datos más nuevos.
  • Fechas. Todas las fechas van en ISO 8601 con milisegundos y el offset de Argentina, como 2026-09-29T18:54:13.917-03:00.
  • Mayúsculas. Moneda y origen no distinguen mayúsculas: /api/v2/USD/Blue responde lo mismo que /api/v2/usd/blue.
  • CORS abierto. Todas las rutas responden Access-Control-Allow-Origin: *, así que podés llamarlas desde una página web de cualquier dominio.
  • Números. Los valores son números JSON, con punto decimal. Un valor como 1.395,50 llega como 1395.5.
Caso Respuesta
Moneda o par fuera del catálogo, en las cotizaciones actuales 403 con una página HTML de Cloudflare, no JSON
Parámetro inválido en el histórico o en la consulta por fecha 400 con {"error": "..."}
Moneda o par fuera del catálogo, en la consulta por fecha 404 con {"error":"Cotización no encontrada"}
Más de 20 pedidos en 10 segundos al histórico o a la consulta por fecha 429 en texto plano, con Retry-After: 10
El almacenamiento del histórico no responde 503 con {"error":"Servicio temporalmente no disponible"} y Retry-After: 30

Si tu código lee el cuerpo como JSON, revisá antes el código de estado: el 403 y el 429 no son JSON.