L'API v1 est deprecated, mais continue de fonctionner. Utilise v2.

Endpoints de l'API

Frankfurter propose des endpoints pour obtenir les derniers taux, des données historiques et des séries temporelles.

Derniers taux
Récupère les taux du dernier jour ouvrable, mis à jour quotidiennement vers 16h00 CET.
curl https://api.frankfurter.dev/v1/latest
Change la devise de base avec le paramètre base. La valeur par défaut est EUR.
curl https://api.frankfurter.dev/v1/latest?base=USD
Limite la réponse à certaines devises cibles.
curl https://api.frankfurter.dev/v1/latest?symbols=CHF,GBP
Taux historiques
Récupère les taux pour une date spécifique.
curl https://api.frankfurter.dev/v1/1999-01-04
Change la devise de base et filtre les devises cibles.
curl https://api.frankfurter.dev/v1/1999-01-04?base=USD&symbols=EUR
Remarque : Frankfurter enregistre les dates en UTC. Si tu utilises un fuseau horaire différent, attention au décalage éventuel de date calendaire dans tes requêtes. De plus, les données renvoyées pour aujourd'hui ne sont pas figées et sont mises à jour dès que de nouveaux taux sont publiés.
Séries temporelles
Récupère les taux sur une période donnée.
curl https://api.frankfurter.dev/v1/2000-01-01..2000-12-31
Récupère les taux jusqu'à aujourd'hui.
curl https://api.frankfurter.dev/v1/2024-01-01..
Astuce : Filtre les devises pour réduire la taille de la réponse et accélérer le traitement.
curl https://api.frankfurter.dev/v1/2024-01-01..?symbols=USD
Devises disponibles
Obtiens les symboles des devises supportées et leurs noms complets.
curl https://api.frankfurter.dev/v1/currencies
Conversion de devises
Effectue une conversion en récupérant le taux de change et en calculant dans ton code.
function convert(from, to, amount) {
  fetch(`https://api.frankfurter.dev/v1/latest?base=${from}&symbols=${to}`)
    .then((resp) => resp.json())
    .then((data) => {
      const convertedAmount = (amount * data.rates[to]).toFixed(2);
      alert(`${amount} ${from} = ${convertedAmount} ${to}`);
    });
  }

convert("EUR", "USD", 10);