API gratuite du cours de l'or : que faire avec 100 requêtes par mois
API gratuite du cours de l'or, sans détour : ce qu'inclut le plan Free de MetalAPI, comment faire durer 100 requêtes par mois et quand passer à un plan payant.
Que peut vraiment faire une API gratuite du cours de l'or ?
Une API gratuite du cours de l'or est le moyen le plus rapide d'intégrer de vrais prix de l'or dans un prototype, un site personnel ou un rapport interne sans passer de commande. Il est aussi facile d'en attendre trop. Les plans gratuits existent pour vous permettre de construire et de tester une intégration, et de faire tourner de petites charges qui ont besoin d'un prix une fois par jour. Ils ne sont pas conçus pour alimenter un tunnel de paiement qui doit suivre le marché minute par minute.
Cet article décrit le plan Free de MetalAPI tel qu'il est, y compris ce qu'il n'inclut pas. Il montre ensuite comment faire couvrir à 100 requêtes par mois une quantité de travail étonnante, et comment savoir quand vous l'avez dépassé. Si vous comparez plusieurs fournisseurs, la liste de contrôle vers la fin s'applique à n'importe quelle API gratuite de prix des métaux.
Que comprend le plan gratuit de MetalAPI ?
Le plan Free est gratuit et ne demande pas de carte bancaire. En résumé :
| Fonctionnalité | Plan Free |
|---|---|
| Prix | 0 $, sans carte bancaire |
| Requêtes | 100 par mois, réinitialisées le 1er à 00:00 UTC |
| Limite par minute | 10 requêtes par minute |
| Mises à jour des prix | Quotidiennes : un instantané à minuit UTC |
| Symboles | Les 83 : or, argent, platine, palladium, métaux industriels, énergie, 57 devises et 13 cryptomonnaies |
| Endpoints | /latest, jours historiques, /convert, /timeframe, /change et /ohlc |
| Historique | Complet : métaux et énergie depuis 2000, devises depuis 1999, cryptos depuis 2014 |
| Période par requête | Jusqu'à 30 jours pour /timeframe et /change |
| Devises et unités | N'importe quelle base et n'importe quelle unit, comme sur tous les plans |
| Widgets | 1 widget intégrable ; ses pages vues ne consomment pas votre quota |
| Support | Support communautaire |
Certaines fonctionnalités demandent un plan payant :
- Prix de l'or par carat via
/carat: à partir de Lite. Sur Free, vous pouvez quand même calculer vous-même les prix par carat à partir du prix 24K. - Prix bid et ask, comme
XAU-BIDetXAU-ASK: à partir de Standard. - Alertes de prix : par e-mail à partir de Lite, par webhook à partir d'Advanced.
- Flux en temps réel via Server-Sent Events : à partir de Pro.
- SLA de disponibilité : Business et Enterprise.
Une requête d'API pour une fonctionnalité hors de votre plan renvoie l'erreur 106 (plan_restriction) avec une upgrade_url, et cette requête n'est pas facturée. Le plan Free fonctionne aussi avec le serveur MCP de MetalAPI : un assistant IA peut donc consulter le cours de l'or sur votre quota gratuit, avec la même fraîcheur quotidienne.
À quelle fréquence une API gratuite du cours de l'or est-elle mise à jour ?
La ligne la plus importante de ce tableau est l'intervalle de mise à jour. Sur Free, l'API prend un instantané des prix par jour, à minuit UTC, et chaque requête /latest jusqu'au minuit suivant renvoie cet instantané. Une réponse ressemble à ceci, avec les valeurs d'exemple de la documentation MetalAPI :
{
"success": true,
"timestamp": 1792713600,
"date": "2026-10-23",
"base": "USD",
"rates": {
"XAU": 0.0002501319446,
"USDXAU": 3997.89
},
"rate_limit": {
"limit": 100,
"remaining": 99,
"reset": 1793491200,
"used": 1,
"plan": "Free",
"reset_date": "2026-11-01T00:00:00.000Z"
}
}USDXAU est le prix d'une once troy d'or en dollars, et XAU en est l'inverse. timestamp est l'heure des données, ici 00:00 UTC le 23 octobre 2026, et le bloc rate_limit indique ce qu'il reste du quota du mois.
Deux conséquences en découlent. D'abord, appeler /latest plus d'une fois par jour sur Free consomme du quota sans jamais renvoyer de prix plus récent. Ensuite, Free convient aux tâches pour lesquelles un prix quotidien est le bon prix :
- Valorisation quotidienne d'avoirs, de stocks ou d'un portefeuille.
- Rapports de fin de journée, newsletters et tableaux de bord internes.
- Comptabilité et factures qui ont besoin du cours de l'or d'un jour donné.
- Prototypes, projets étudiants et prise en main de l'API avant de choisir un plan.
Il ne convient pas à une boutique qui ajuste le prix de ses produits en or pendant la journée, à un écran de trading, ni à quoi que ce soit qui promet un prix en direct aux clients.
Jusqu'où vont 100 requêtes par mois ?
Chaque appel réussi à un endpoint de données compte pour une requête, quel que soit le nombre de symboles renvoyés. C'est cette règle qui rend un petit quota exploitable. Un budget mensuel réaliste pour un petit site :
| Tâche | Requêtes par mois |
|---|---|
| Derniers prix de tous les symboles que vous affichez, récupérés une fois par jour | 28–31 |
| Un an d'historique quotidien de l'or, un mois civil par requête (une seule fois) | 12 |
| Consultations historiques, par exemple le cours à la date d'une facture | 10–20 |
| Développement et tests | Le reste, environ 35 |
Comparez avec des usages qui ne conviennent pas :
- Rafraîchir toutes les heures : environ 744 requêtes par mois, pour un prix qui change une fois par jour.
- Une requête par métal et par jour pour l'or, l'argent, le platine et le palladium : environ 124, alors qu'une requête combinée en coûte 31.
- Appeler l'API depuis le navigateur à chaque page vue : une centaine de visites épuisent le mois.
Sept façons de faire durer un quota gratuit
- Demandez tous les symboles en un seul appel.
currencies=XAU,XAG,XPT,XPD,EUR,GBPcoûte une requête. Omettrecurrenciesrenvoie tous les symboles, là encore pour une requête. - Mettez en cache jusqu'au prochain minuit UTC. Sur Free, il n'y a rien de plus récent à récupérer avant. Conservez la dernière réponse valide et servez-la si un appel échoue.
- Convertissez localement. Le gramme et le kilogramme sont des multiples exacts de l'once troy (1 once troy = 31,1034768 g), et les taux croisés proviennent d'un même instantané : l'or en euros vaut
USDXAU÷USDEUR. Une seule requête en dollars par once peut alimenter toutes les unités et devises que vous affichez. - Stockez l'historique une fois. Les cours de clôture passés ne changent jamais. Récupérez une période une fois, conservez-la dans une base de données ou un fichier, et ne demandez que les nouveaux jours.
- Validez avant d'envoyer. Les erreurs de validation (codes
201à210) et300(aucun résultat) comptent comme des requêtes. Vérifiez d'abord les dates et les symboles ;/symbolsliste tous les codes valides et n'est jamais décompté du quota. - Gardez les appels sur le serveur. Une clé dans le code du navigateur est visible par tous et consomme une requête par visiteur. Récupérez les prix côté serveur et servez le résultat en cache, ou intégrez un widget, dont les pages vues ne consomment pas votre quota.
- Surveillez le compteur. Chaque réponse contient le bloc
rate_limitet les en-têtesX-RateLimit-*, et/usagerenvoie les mêmes chiffres sans être facturé. Les rejets pour limite de débit (104), restriction de plan (106), origine (107) et erreur serveur ne sont pas facturés non plus : les réessayer ne coûte donc rien.
Au final, le cœur d'une intégration Free tient en une seule tâche planifiée. Ce script Node.js s'exécute une fois par jour peu après minuit UTC, fait une seule requête et écrit les prix de l'or, de l'argent, du platine et du palladium par once et par gramme, dans trois devises, dans un fichier JSON que vos pages lisent :
// À exécuter une fois par jour après 00:00 UTC, p. ex. avec cron : 5 0 * * * (horloge du serveur en UTC)
import { writeFile } from "node:fs/promises";
const GRAMS_PER_TROY_OZ = 31.1034768;
const METALS = ["XAU", "XAG", "XPT", "XPD"];
const CURRENCIES = ["EUR", "GBP"];
const params = new URLSearchParams({ base: "USD", currencies: [...METALS, ...CURRENCIES].join(",") });
const res = await fetch(`https://metalapi.com/api/v1/latest?${params}`, {
headers: { "X-API-Key": process.env.METALAPI_KEY },
signal: AbortSignal.timeout(10_000),
});
const data = await res.json();
if (!data.success) {
// Laisse le fichier de la veille en place : les pages continuent d'afficher les derniers prix valides.
throw new Error(`MetalAPI ${data.error.code} (${data.error.type}): ${data.error.info}`);
}
const prices = {};
for (const metal of METALS) {
const usdPerOz = data.rates[`USD${metal}`];
prices[metal] = {};
for (const cur of ["USD", ...CURRENCIES]) {
const perOz = cur === "USD" ? usdPerOz : usdPerOz / data.rates[`USD${cur}`];
prices[metal][cur] = { perOz, perGram: perOz / GRAMS_PER_TROY_OZ };
}
}
await writeFile("prices.json", JSON.stringify({ asOf: data.timestamp, prices }, null, 2));
console.log(`Saved. ${data.rate_limit.remaining} requests left this month.`);À raison d'une exécution par jour, la tâche consomme de 28 à 31 requêtes par mois et laisse le reste pour l'historique et les tests. Sur les plateformes serverless, écrivez le résultat dans un magasin clé-valeur ou dans le cache de données de votre framework plutôt que dans un fichier.
Pour l'historique, la limite de 30 jours par période implique une requête par mois civil : un an de cours quotidiens de l'or demande 12 requêtes. Cours historiques de l'or et de l'argent par API propose un script de rattrapage et des conseils de stockage ; sur Free, remplacez ses fenêtres annuelles par des mois civils.
Quand passer du plan gratuit à un plan payant
Le plan Free suffit tant qu'un prix quotidien est le bon prix et que 100 requêtes couvrent votre mois. Voici les signes habituels que ce n'est plus le cas :
| Vous avez besoin de | Plus petit plan qui l'inclut | Prix / mois |
|---|---|---|
| Prix plus frais qu'une fois par jour | Lite : toutes les 30 minutes | 4,99 $ |
| Plus de 100 requêtes par mois | Lite : 1 000 requêtes | 4,99 $ |
| Périodes de plus de 30 jours par requête | Lite : 365 jours | 4,99 $ |
Prix par carat via /carat, alertes par e-mail | Lite | 4,99 $ |
| Prix toutes les 10 minutes, bid et ask | Standard | 11,99 $ |
| Prix à la minute, alertes par webhook | Advanced | 24,99 $ |
| Flux en temps réel | Pro | 49,99 $ |
| Un SLA de disponibilité | Business | 149,99 $ |
Les changements de plan prennent effet immédiatement : une clé qui a atteint l'erreur 105 (quota_exceeded) fonctionne de nouveau dès que vous changez de plan ; sinon, elle attend la réinitialisation du 1er. La facturation annuelle permet d'économiser jusqu'à 25 %. La page des tarifs présente les prix actuels et la comparaison complète, et Limites de débit et plans détaille les quotas et les limites par minute.
Le moyen le plus rapide de savoir si Free suffit à votre projet est de l'essayer. Créez un compte gratuit, copiez votre clé API depuis le tableau de bord et faites votre première requête avec le guide de démarrage. Aucune carte bancaire n'est nécessaire, et vous pouvez passer à un plan payant dès que votre projet a besoin de prix plus frais.
Questions fréquentes
Existe-t-il une API du cours de l'or entièrement gratuite ?
Oui. Le plan Free de MetalAPI est gratuit, ne demande pas de carte bancaire et inclut l'or, l'argent, le platine, le palladium et tous les autres symboles, avec 100 requêtes par mois et des prix mis à jour une fois par jour.
À quelle fréquence le plan gratuit met-il à jour le cours de l'or ?
Une fois par jour. Le plan Free voit un instantané pris à minuit UTC, et chaque requête jusqu'au minuit suivant renvoie les mêmes prix. Les plans payants se mettent à jour toutes les 30 minutes sur Lite et jusqu'à toutes les 5 secondes sur Enterprise.
Puis-je utiliser une API gratuite du cours de l'or sur un site commercial ?
Avec MetalAPI, oui. Les données peuvent être utilisées dans vos propres sites web, applications, systèmes internes et rapports, y compris pour afficher des prix à vos utilisateurs. Redistribuer le flux brut, par exemple en le proposant comme votre propre API, nécessite un accord écrit distinct.
Que se passe-t-il quand j'ai épuisé mes 100 requêtes ?
Les requêtes suivantes renvoient l'erreur 105 (quota_exceeded) avec le statut HTTP 429 jusqu'à la réinitialisation du quota, le 1er du mois à 00:00 UTC. Il n'y a pas de frais de dépassement automatiques, et passer à un plan supérieur lève la limite immédiatement.
Le plan gratuit inclut-il les cours historiques de l'or ?
Oui. Les clés Free peuvent interroger tout l'historique, jusqu'en 2000 pour l'or, et utiliser /timeframe et /change avec des périodes de 30 jours maximum par requête.
Essayez avec vos propres données
Créez un compte gratuit et envoyez votre première requête en moins de deux minutes. 100 requêtes par mois, sans carte bancaire.
À lire aussi
Signification de XAU/USD : que veulent dire XAU, XAG, XPT et XPD
XAU/USD expliqué : pourquoi l'or a un code de devise ISO 4217, ce que signifient XAG, XPT et XPD, et comment lire le sens d'une cotation et des données d'API.
API du cours de l'or en Python : requêtes, cache et graphiques
Utiliser une API du cours de l'or en Python : prix en direct avec requests, erreurs et nouvelles tentatives, cache et série pandas tracée avec matplotlib.
API du cours de l'or en JavaScript : Node.js, TypeScript et Next.js
Obtenir le cours de l'or en JavaScript via une API : fetch avec async/await, types TypeScript, route Express ou Next.js avec cache et clé API protégée.
Comment évaluer n'importe quelle API gratuite du cours de l'or
Si vous comparez des API gratuites de prix des métaux, les chiffres mis en avant en disent moins que les détails. Ces questions méritent une réponse pour chaque fournisseur, nous compris :
Faites ensuite un court test pratique avec vos propres symboles et devises ; une clé gratuite suffit pour cela. Comment choisir une API de prix des métaux précieux transforme ces questions en une liste de contrôle complète, avec un modèle de comparaison.
Pour MetalAPI, les réponses figurent ci-dessus et dans la documentation : instantanés quotidiens avec un
timestampsur Free ; une requête par appel, quel que soit le nombre de symboles renvoyés ; rejets pour limite de débit, plan, origine et erreur serveur non facturés ; historique, conversion et séries temporelles inclus ; n'importe quelle unité et n'importe laquelle des 57 devises ; utilisation des données dans vos propres sites, applications et rapports, y compris pour afficher des prix à vos utilisateurs, mais pas de redistribution du flux brut ; arrêt net avec l'erreur105au quota, sans frais de dépassement ; clés dans un en-tête ou dans la chaîne de requête.