JSON · CORS abierto · sin API key

API de tipo de cambio CRC — JSON para developers

Compra y venta del BCCR en un GET. Contrato v1 estable: {compra, venta, fecha}.

Volver a la calculadora

GET/api

Último tipo de cambio disponible (hoy hábil, o el registro previo si aún no hay dato).

GEThttps://tipodecambio.paginasweb.cr/api

curl
curl -s https://tipodecambio.paginasweb.cr/api
JavaScript
const res = await fetch("https://tipodecambio.paginasweb.cr/api");
const { compra, venta, fecha } = await res.json();
console.log(compra, venta, fecha);
Python
import json, urllib.request
url = "https://tipodecambio.paginasweb.cr/api"
with urllib.request.urlopen(url) as res:
    data = json.load(res)
print(data["compra"], data["venta"], data["fecha"])

GET/api/dd/mm/yyyy

Tipo de cambio de una fecha. Si ese día no hay fila (finde o feriado), responde el último dato hábil anterior.

GEThttps://tipodecambio.paginasweb.cr/api/02/09/2026

curl
curl -s https://tipodecambio.paginasweb.cr/api/02/09/2026

Respuesta

JSON
{
  "compra": 445.58,
  "venta": 451.72,
  "fecha": "02/09/2026"
}
  • compra / venta: números del BCCR (indicadores 317 y 318).
  • fecha: día del dato, formato dd/mm/yyyy.
  • CORS *. Sin autenticación.
  • 400 si la fecha no es válida. 500 si no hay dato en la base.

Spec: openapi.json · llms.txt

Preguntas frecuentes

¿De dónde salen los datos?

Del Banco Central de Costa Rica. El worker los guarda en D1 varias veces al día. Esta página no inventa un tipo de cambio propio.

¿Puedo usarlo desde el browser?

Sí. El API manda Access-Control-Allow-Origin: *. Para el valor de hoy, no dependás de un caché agresivo del cliente: el dato actual se cachea 5 minutos.

¿Hay tipo de cambio sábado y domingo?

El BCCR no publica esos días. Pedí la fecha igual: el API te devuelve el último hábil disponible y fecha indica de qué día es el número.