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.
Primer pedido
Sección titulada «Primer pedido»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.
Reglas comunes
Sección titulada «Reglas comunes»- 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/Blueresponde 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.
Errores
Sección titulada «Errores»| 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.