Que fait Données Finance & Forex ?
Récupérez les taux de change et les prix des cryptomonnaies avec des appels sans clé. L'erreur que cela évite : se tourner vers exchangerate.host, Fixer ou Alpha Vantage issus de la mémoire d'entraînement – tous désormais payants – ou utiliser un taux obsolète issu des données d'entraînement dans un vrai calcul.
API classées
- Frankfurter (api.frankfurter.dev) – PAR DÉFAUT pour le forex fiat. Taux de référence de la Banque Centrale Européenne, ~30 grandes devises, historique depuis 1999, séries temporelles, pas de clé, pas de limite de débit préoccupante.
- CoinGecko (niveau gratuit) (api.coingecko.com) – prix crypto, capitalisations boursières, variation sur 24h pour des milliers de cryptos. Pas de clé, mais une limite serrée : environ 5 à 15 appels/min depuis une IP anonyme. Regroupez les ids en un seul appel ; en cas d'erreur 429, attendez 60s.
Procédure
- Fiat ou crypto ? Fiat → Frankfurter. Crypto → CoinGecko. Une conversion crypto→fiat se fait en un seul appel CoinGecko (
vs_currencies=eur), pas en deux sauts. - Date du taux. Les taux de référence BCE sont mis à jour vers 16h00 CET les jours ouvrés ; le champ
datede la réponse vous indique quel jour vous avez réellement obtenu. Les demandes un week-end/jour férié renvoient le jour ouvré précédent – citez cette date, ne la présentez pas comme étant celle d'aujourd'hui. - Utilisez les ids CoinGecko, pas les tickers. Le paramètre
idsattendbitcoin,ethereum,solana– pas BTC/ETH. Pour une crypto inconnue, résolvez-la une fois via/api/v3/search?query={nom}→coins[0].id. - Ne faites jamais de calcul de change de mémoire. Si la tâche multiplie une somme par un taux, le taux provient de l'un de ces appels, avec la date jointe.
Ne demandez à l'utilisateur que si manquent : la paire de devises ou la crypto (pas de valeur par défaut), la date/période (par défaut : la plus récente), le montant (par défaut : 1).
Modèles d'URL + exemples de réponses
Dernier taux forex :
https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP,JPY
{"amount":1.0,"base":"USD","date":"<dernier jour ouvré>","rates":{"EUR":0.87352,"GBP":0.74878,"JPY":161.15}}
Convertissez un montant côté serveur avec &amount=250 – les rates sont alors pré-multipliés.
Historique / série temporelle :
https://api.frankfurter.dev/v1/2024-01-15?base=USD&symbols=EUR ← une date
https://api.frankfurter.dev/v1/2024-01-02..2024-01-31?base=USD&symbols=EUR ← plage
https://api.frankfurter.dev/v1/currencies ← code → nom
Format d'une plage : {"rates":{"2024-01-02":{"EUR":0.91274},"2024-01-03":{"EUR":0.91583}}} – indexé par date, jours ouvrés uniquement (une année complète retourne ~256 points quotidiens ; pas de clés week-end, donc ne considérez pas les trous comme des données manquantes). Omettez la date de fin (/2024-01-02..) pour aller jusqu'à aujourd'hui.
Prix spot crypto :
https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd&include_24hr_change=true
{"bitcoin":{"usd":63289,"usd_24h_change":1.19},"ethereum":{"usd":1790.89,"usd_24h_change":1.90}}
Les ids inconnus sont silencieusement ignorés dans la réponse – une clé absente signifie un mauvais id, pas un prix nul.
Tableau de marché crypto (classement, capitalisation, offre) :
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=20&page=1
Tableau {"id","symbol","name","current_price","market_cap","market_cap_rank","price_change_percentage_24h","circulating_supply","ath"} – un appel remplace vingt appels /simple/price ; préférez-le pour toute liste.
Livrable
Le taux ou le prix avec sa date/horodatage et sa source nommée, ainsi que l'URL exacte utilisée. Toute conversion montre le calcul : 250 USD × 0,87352 (BCE, <date du taux>) = 218,38 EUR.
N'UTILISEZ PAS – utilisez X à la place
- exchangerate.host – chaque requête nécessite désormais une
access_key; vérifié comme échouant sans clé. Frankfurter le remplace. - Fixer, Alpha Vantage, Finnhub, Polygon, OpenExchangeRates – nécessitent une clé ; n'envoyez pas un utilisateur s'inscrire quand Frankfurter/CoinGecko couvrent le besoin.
- Cotations d'actions – aucune API gratuite ne passe la vérification. Dites-le clairement et nommez les options payantes plutôt que d'inventer un prix.
- PIB, inflation, chômage, commerce – government-open-data.
- Conseils financiers – cette compétence récupère des nombres ; les jugements d'achat/vente/allocation sont hors de son périmètre. Présentez les données, pas des recommandations.
Barre de qualité
- Chaque nombre porte sa date et sa source ; aucun taux ou prix ne provient de la mémoire d'entraînement.
- Limite ~30 devises de Frankfurter respectée – les paires exotiques (ex. NGN, VND) sont déclarées non supportées, pas approximées.
- Les appels CoinGecko sont regroupés ; un 429 produit un backoff, pas une boucle de tentatives.
Source et vérifiée en direct depuis le projet public-apis (MIT).