Tipos de cambio del euro
Los tipos de referencia oficiales del Banco Central Europeo desde 1999: una API JSON estática y gratuita, sin servidor ni claves, y una librería PHP. Se actualiza sola cada día hábil; última publicación: 2026-11-09.
API JSON Librería PHP API en tu servidor Packagist GitHub
Ficheros JSON en GitHub Pages: sin servidor, sin claves, con CORS abierto.
codecruz/currency-flow en Packagist: consultas, históricos, tipos cruzados y conversiones.
La misma información en tu dominio, con rangos a medida y comprobación de estado.
API
Todas las rutas son ficheros JSON estáticos servidos por GitHub Pages, con CORS abierto. Una ruta sin datos devuelve 404.
| Ruta | Contenido |
|---|---|
/v1/latest.json | Última publicación, todas las divisas |
/v1/rates/{YYYY-MM-DD}.json | Cualquier día desde 1999-01-04. En fines de semana y festivos devuelve la publicación anterior. |
/v1/history/{CUR}.json | Serie histórica completa de una divisa |
/v1/history/{CUR}/{YYYY}.json | Serie de una divisa en un año |
/v1/currencies.json | Todas las divisas publicadas alguna vez, con su periodo y si siguen activas |
/v1/meta.json | Fuente, cobertura y fecha de generación |
curl https://codecruz.github.io/currency-flow-api/v1/rates/2025-03-23.json
{
"base": "EUR",
"date": "2025-03-21",
"requested_date": "2025-03-23",
"source": "ECB",
"rates": { "AUD": "1.724", "BRL": "6.1911", "…": "…", "USD": "1.0827" }
}
- Los tipos expresan cuántas unidades de la divisa equivalen a 1 EUR.
- Los valores son cadenas decimales tal como las publica el BCE, para no perder precisión.
datees la publicación usada;requested_date, la fecha pedida. Si son distintas, era fin de semana o festivo.- El BCE publica hacia las 16:00 (hora de Fráncfort) cada día hábil TARGET.
Librería PHP
Los mismos datos para PHP 8.2+, con caché PSR-16, históricos, tipos cruzados entre cualquier par de divisas y conversiones. Disponible en Packagist:
composer require codecruz/currency-flow
use CodeCruz\CurrencyFlow\CurrencyFlow;
$flow = CurrencyFlow::ecb();
$flow->rate('USD', '2025-03-23')->value; // "1.0827" (Sunday → Friday 21)
$flow->rate('GBP', '2025-03-21', base: 'USD')->value; // "0.773668"
$flow->convert(100, 'USD', 'GBP', '2025-03-21')->result; // "77.37"
$flow->history('USD', '2024-01-01', '2024-12-31'); // list<Rate>
Documentación completa en el README.
API en tu servidor
Si necesitas rangos de fechas a medida, tu propio dominio o un endpoint de salud para tu monitorización, el repositorio incluye una API HTTP lista para desplegar (Slim 4, errores RFC 7807, ETag y especificación OpenAPI 3.1):
GET /v1/rates/USD?date=2025-03-23
GET /v1/rates/USD/history?from=2024-06-01&to=2025-05-31
GET /health
Instalación y despliegue en server/README.md.