Datos históricos
El histórico devuelve la serie de un par: cada vez que su valor cambió, del más reciente al más antiguo.
Pedir la serie
Sección titulada «Pedir la serie»GET /api/v2/history/{moneda}/{origen}
curl "https://monedapi.ar/api/v2/history/usd/cripto?limit=3"[ { "buy": 1598.42, "sell": 1598.42, "createdAt": "2026-09-30T18:33:24.856-03:00" }, { "buy": 1599.5, "sell": 1599.5, "createdAt": "2026-09-30T18:28:24.760-03:00" }, { "buy": 1598.93, "sell": 1598.93, "createdAt": "2026-09-30T18:23:24.660-03:00" }]Cada punto es un cambio de valor. createdAt es el momento en que se observó ese valor por
primera vez. Si un valor se confirma durante varias horas sin moverse, sigue siendo un solo punto.
Moneda y origen son los de la tabla de pares.
Desde cuándo hay datos
Sección titulada «Desde cuándo hay datos»Cada par tiene su propia fecha de inicio. Un rango anterior a esa fecha devuelve un array vacío.
| Par | Primer dato |
|---|---|
USD/BLUE, USD/OFICIAL, USD/MAYORISTA, EUR/BNA, ARG/RIESGO |
4 de enero de 2010 |
ARG/CER |
1 de enero de 2010 |
USD/CCL |
2 de enero de 2013 |
ARG/UVA |
31 de marzo de 2016 |
USD/BOLSA |
20 de marzo de 2020 |
USD/BNA, USD/TARJETA |
3 de enero de 2022 |
USD/CRIPTO, BRL/BNA, CLP/OFICIAL, UYU/OFICIAL |
4 de mayo de 2026 |
USD/FUTURO |
6 de julio de 2026 |
Hasta abril de 2026 la serie tiene un punto por día con cambio, el cierre, a las 18:00. Desde mayo de 2026 tiene cada cambio observado, con hasta un punto cada 5 minutos.
Del 22 al 29 de septiembre de 2026 hay como mucho un cierre por día, y solo para los pares con una
fuente que lo publica: los de Ámbito, en días hábiles (salvo USD/CRIPTO), y ARG/CER y ARG/UVA,
todos los días. USD/FUTURO, BRL/BNA, CLP/OFICIAL y UYU/OFICIAL no tienen puntos esa
semana: la serie salta del último valor anterior al primero posterior. BRL/BNA tampoco tiene
puntos entre el 6 de julio y el 30 de septiembre de 2026.
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Qué hace |
|---|---|---|
date_from |
YYYY-MM-DD |
Opcional. Primer día incluido. También se acepta from. |
date_to |
YYYY-MM-DD |
Opcional. Último día incluido. También se acepta to. |
limit |
entero | Opcional. Cantidad máxima de puntos. Por defecto 100, tope 500. |
Los dos límites de fecha son inclusivos y se interpretan como días UTC, no argentinos:
date_to=2026-09-30 incluye hasta las 23:59:59 UTC de ese día, que son las 20:59:59 en Argentina.
Un cambio de las 22:30 hora argentina cae en el día UTC siguiente.
curl "https://monedapi.ar/api/v2/history/usd/blue?date_from=2015-06-01&date_to=2015-06-05"[ { "buy": 12.55, "sell": 12.65, "createdAt": "2015-06-05T18:00:00.000-03:00" }, { "buy": 12.54, "sell": 12.64, "createdAt": "2015-06-04T18:00:00.000-03:00" }, { "buy": 12.56, "sell": 12.66, "createdAt": "2015-06-03T18:00:00.000-03:00" }, { "buy": 12.55, "sell": 12.65, "createdAt": "2015-06-02T18:00:00.000-03:00" }, { "buy": 12.53, "sell": 12.63, "createdAt": "2015-06-01T18:00:00.000-03:00" }]from y to son sinónimos. Si mandás los dos nombres de un mismo límite, gana date_from o
date_to.
curl "https://monedapi.ar/api/v2/history/usd/blue?from=2015-06-01&to=2015-06-05"Sobre limit:
- un valor mayor a 500 se toma como 500;
- un valor que no es un entero, o que es menor a 1, se toma como 100;
- la serie junta sus puntos de, como mucho, los 30 meses más recientes con datos dentro del rango.
Para llegar más atrás, acotá el rango con
date_to.
Un rango con date_from posterior a date_to, o sin cambios, devuelve 200 con []. Un par
fuera del catálogo también devuelve 200 con [].
Desde Python:
import requests
points = requests.get( "https://monedapi.ar/api/v2/history/usd/blue", params={"date_from": "2015-01-01", "date_to": "2015-12-31", "limit": 500}, timeout=10,).json()
for p in points: print(p["createdAt"], p["sell"])- Un rango que terminó hace más de 24 horas no cambia más, y se sirve con
Cache-Control: public, max-age=86400. - Cualquier otro pedido, incluido uno sin fechas, tiene hasta 60 segundos de caché.
- Un cambio nuevo aparece en la serie a los pocos minutos de observado.
Errores y límites
Sección titulada «Errores y límites»| Caso | Respuesta |
|---|---|
Fecha con otro formato o inexistente, como 2026-02-31 |
400 con {"error":"Fecha inválida. Formato esperado: YYYY-MM-DD."} |
| Más de 20 pedidos en 10 segundos desde la misma IP | 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 |
curl "https://monedapi.ar/api/v2/history/usd/blue?date_from=2026-02-31"{ "error": "Fecha inválida. Formato esperado: YYYY-MM-DD." }