Ir al contenido

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.

GET /api/v2/history/{moneda}/{origen}

Ventana de terminal
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.

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á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.

Ventana de terminal
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.

Ventana de terminal
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.
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
Ventana de terminal
curl "https://monedapi.ar/api/v2/history/usd/blue?date_from=2026-02-31"
{ "error": "Fecha inválida. Formato esperado: YYYY-MM-DD." }