JavaScript
Non serve un SDK. fetch è integrato in qualsiasi browser, Node, Deno, Bun e ambienti edge. CORS è aperto e non c'è alcuna chiave che possa essere esposta, quindi puoi chiamare l'API direttamente dal codice client.
Avvio rapido
Ottieni un tasso di cambio ed esegui la conversione:
const res = await fetch("https://api.frankfurter.dev/v2/rate/usd/eur");
const data = await res.json();
const total = 100 * data.rate; La risposta è un singolo oggetto semplice: {"date": "2026-07-17", "base": "USD", "quote": "EUR", "rate": 0.8739}. fetch si risolve anche in caso di errori HTTP, quindi controlla res.ok; un codice valuta non valido restituisce un 422 con un messaggio JSON.
Formattare con Intl
Non inserire i simboli di valuta manualmente. Intl.NumberFormat conosce il simbolo, la posizione e i decimali esatti per ogni valuta in qualsiasi impostazione locale:
const res = await fetch("https://api.frankfurter.dev/v2/rate/usd/eur");
const { rate } = await res.json();
const eur = new Intl.NumberFormat("it", {
style: "currency",
currency: "EUR",
});
eur.format(100 * rate); // "100,00 €"Simboli e decimali
Non serve mantenere una tabella di metadati per sottounità o simboli. Chiedilo direttamente al formattatore:
const yen = new Intl.NumberFormat("it", {
style: "currency",
currency: "JPY",
});
yen.resolvedOptions().maximumFractionDigits; // 0, lo yen non ha sottounità
yen.formatToParts(1).find((part) => part.type === "currency").value; // "JPY" o "¥"Esplora tutte le valute offerte da Frankfurter, con relativi codici e simboli.
Più quotazioni contemporaneamente
/v2/rates restituisce un array semplice, con una riga per quotazione. Trasformalo in un oggetto di ricerca con Object.fromEntries. Ometti quotes per ottenere tutte le valute.
const api = "https://api.frankfurter.dev";
const res = await fetch(`${api}/v2/rates?base=usd"es=eur,gbp,jpy`);
const rows = await res.json();
const rates = Object.fromEntries(rows.map((row) => [row.quote, row.rate]));
// { EUR: 0.8739, GBP: 0.74388, JPY: 162.33 }Fissare una fonte ufficiale
Per impostazione predefinita ottieni la combinazione di tutte le fonti. Aggiungi providers per fissare una specifica istituzione, essenziale se una normativa richiede il tasso ufficiale della propria banca centrale, come il tasso di riferimento della BCE per l'IVA UE.
const api = "https://api.frankfurter.dev";
const res = await fetch(`${api}/v2/rate/usd/eur?providers=ecb`);Esplora tutte le fonti. Una fonte fissata segue il proprio calendario di pubblicazione, quindi il suo ultimo tasso può essere indietro di un giorno rispetto al tasso combinato più recente.
Provalo dal vivo
Componi query e osserva le risposte senza lasciare il browser nel playground.