API Cambios Paraguay

Cotizaciones oficiales del guaraní paraguayo en formato JSON.
Datos de la DNIT desde 2014. Gratis con API key.

Cómo empezar

  1. Pedí una API key contactando al equipo (info@cambios.com.py).
  2. Incluí la key en el header X-API-Key en cada request.
  3. Hacé tu primer request: GET https://cambios.com.py/api/v1/rates/today
Ejemplo con curl
curl -H "X-API-Key: cmp_tu_clave_aqui" \
  https://cambios.com.py/api/v1/rates/today

Autenticación

Pasá tu API key de cualquiera de estas 3 formas:

  • Header (recomendado): X-API-Key: cmp_xxxxx
  • Header Authorization: Authorization: Bearer cmp_xxxxx
  • Query param (solo testing): ?api_key=cmp_xxxxx

Rate limiting

Cada API key tiene un límite de requests por día (default: 1.000/día).

Cada response incluye headers informativos:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 947
X-RateLimit-Reset: 1746345600

Cuando llegues al límite recibís HTTP 429. El contador se resetea a las 00:00 hora Paraguay.

Endpoints

GET /api/v1/currencies

Lista de monedas activas.

Ejemplo:
https://cambios.com.py/api/v1/currencies
Response (resumido):
{"ok":true,"currencies":[{"id":1,"iso_code":"USD","name":"Dólar Estadounidense","slug":"dolar",...}]}
GET /api/v1/rates/today

Cotizaciones del día actual de todas las monedas.

Ejemplo:
https://cambios.com.py/api/v1/rates/today
Response (resumido):
{"ok":true,"date":"2026-05-04","rates":[{"iso_code":"USD","buy":5981.47,"sell":6007.39,...}]}
GET /api/v1/rates/{slug}/today

Cotización del día de una moneda específica.

Ejemplo:
https://cambios.com.py/api/v1/rates/dolar/today
Response (resumido):
{"ok":true,"currency":{"iso_code":"USD",...},"buy":5981.47,"sell":6007.39,...}
GET /api/v1/historical/{slug}

Histórico OHLC de una moneda. Query: from=YYYY-MM-DD&to=YYYY-MM-DD (máx 5 años).

Ejemplo:
https://cambios.com.py/api/v1/historical/dolar?from=2024-01-01&to=2024-12-31
Response (resumido):
{"ok":true,"currency":{...},"from":"2024-01-01","to":"2024-12-31","total_points":260,"data":[{"date":"2024-01-02","buy":{"open":7300,"close":7320,"min":...},"sell":{...}},...]}
GET /api/v1/historical/{slug}/at/{date}

Cotización en una fecha específica (busca el día hábil más cercano si no hay datos exactos).

Ejemplo:
https://cambios.com.py/api/v1/historical/dolar/at/2024-12-25
Response (resumido):
{"ok":true,"currency":{...},"date_requested":"2024-12-25","date_actual":"2024-12-24","rate":{"buy":{...},"sell":{...}}}
GET /api/v1/variation/{slug}

Variación porcentual entre 2 fechas. Query: from=YYYY-MM-DD&to=YYYY-MM-DD

Ejemplo:
https://cambios.com.py/api/v1/variation/dolar?from=2024-01-01&to=2024-12-31
Response (resumido):
{"ok":true,"currency":{...},"buy":{"from":7300,"to":5981,"change_abs":-1319,"change_pct":-18.07},...}
GET /api/v1/me

Información de tu API key: rate limit, requests usados hoy, total histórico.

Ejemplo:
https://cambios.com.py/api/v1/me
Response (resumido):
{"ok":true,"name":"Mi App","rate_limit_day":1000,"used_today":47,"remaining_today":953,...}

Errores

Los errores siempre vienen en formato JSON:

{
  "ok": false,
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Excediste el límite de 1000 requests/día."
  },
  "docs_url": "/api"
}
HTTPCodeSignificado
400invalid_dateFechas inválidas o formato incorrecto.
400range_too_largeMás de 5 años en una sola query.
401missing_api_keyNo mandaste API key.
401invalid_api_keyAPI key no existe.
403revoked_api_keyTu key fue revocada.
403expired_api_keyTu key expiró.
404currency_not_foundEl slug de moneda no existe.
429rate_limit_exceededExcediste tu cuota diaria.

Slugs de monedas

Donde dice {slug}, usá uno de estos:

  • dolar → USD (Dólar Estadounidense)
  • euro → EUR (Euro)
  • real → BRL (Real Brasileño)
  • peso-argentino → ARS (Peso Argentino)
  • yen → JPY (Yen Japonés)
  • libra → GBP (Libra Esterlina)

Tip: usá GET /api/v1/currencies para obtener la lista completa con sus slugs.

¿Necesitás una API key?

Mandanos un mail con tu uso y te la creamos gratis.

Solicitar API key