Spot, bid, ask et spread : comment sont cotés les métaux précieux
Spot, bid, ask, mid et spread pour l'or, l'argent, le platine et le palladium : comment les négociants cotent et comment obtenir et afficher le bid/ask par API.
Pourquoi une once d'or a plusieurs prix
Consultez le cours de l'or sur trois sites au même moment et vous verrez souvent trois nombres légèrement différents. Le site d'un négociant en pièces en affiche encore deux autres. Aucun n'est forcément faux : ils répondent à des questions différentes. L'un montre le prix spot au milieu du marché, un autre un contrat à terme, un troisième le prix auquel un négociant vous vendra un lingot et un dernier celui auquel il vous le rachètera.
Si vous développez quoi que ce soit qui affiche ou utilise des prix de métaux précieux, comme la boutique en ligne d'un négociant, un suivi de portefeuille, un calculateur pour bijoutier ou un rapport interne, vous devez savoir avec lequel de ces nombres vous travaillez. Cet article explique le vocabulaire (spot, bid, ask, mid et spread), montre comment les négociants transforment les cotations de gros en prix de détail, puis détaille comment demander et afficher les prix bid et ask avec l'API REST de MetalAPI.
Cet article a une vocation pédagogique et porte sur la manière dont les prix sont cotés. Il ne constitue pas un conseil en investissement ou en trading, et tous les chiffres des exemples sont indicatifs.
Le prix spot : la référence pour une livraison immédiate
Le prix spot est le prix d'une quantité standard de métal pour une livraison immédiate, par opposition à une livraison à une date future. Sur le marché de gros de l'or, qui se négocie en grande partie de gré à gré (OTC) et dont le centre est Londres, « spot » désigne par convention un règlement deux jours ouvrés après la transaction.
Les métaux précieux sont cotés par once troy (31,1034768 grammes), généralement en dollars américains, avec des codes de type ISO : XAU pour l'or, XAG pour l'argent, XPT pour le platine et XPD pour le palladium. XAU/USD se lit donc « dollars américains par once troy d'or », de la même façon que EUR/USD se lit « dollars américains par euro ».
Le marché spot étant de gré à gré, aucune bourse unique ne publie de dernière transaction officielle. Les banques et les fournisseurs de liquidité diffusent leurs propres cotations à double sens, et le « prix spot » que vous voyez sur un site web est une valeur représentative tirée de ces cotations, le plus souvent le mid. Quelques prix voisins se confondent facilement avec lui :
- Les prix des contrats à terme, comme le contrat or du COMEX, portent sur une livraison lors d'un mois futur. Ils diffèrent généralement du spot du coût de portage : intérêts et stockage jusqu'à la livraison.
- Les prix de référence, comme le LBMA Gold Price (fixé par enchères deux fois par jour ouvré londonien) et le LBMA Silver Price (fixé une fois par jour), sont des valeurs de référence uniques qui servent à régler des contrats et à valoriser des avoirs. Ils sont fixés à heures précises et ne bougent pas entre-temps.
- Les prix de détail des pièces et des lingots incluent des primes au-dessus du spot. Ils sont abordés plus loin.
Bid, ask et mid
Sur un marché à double sens, chaque cotation se compose de deux nombres :
- Le bid (prix acheteur) est le prix le plus élevé qu'un teneur de marché est actuellement prêt à payer. C'est le prix auquel vous pourriez vendre.
- L'ask (prix vendeur), aussi appelé offer, est le prix le plus bas auquel un teneur de marché accepte de vendre. C'est le prix auquel vous pourriez acheter.
L'ask est toujours supérieur ou égal au bid. Le mid est leur moyenne, (bid + ask) / 2. Personne ne traite au mid en tant que tel : c'est une référence neutre, située entre les deux côtés, qui ne favorise ni l'acheteur ni le vendeur. C'est donc le nombre naturel pour les graphiques, les valorisations de portefeuille et les titres du type « le cours de l'or aujourd'hui », et c'est ce que la plupart des API de prix renvoient par défaut.
| Terme | Signification | Usage courant |
|---|---|---|
| Bid | Meilleur prix qu'un acheteur paiera | Valoriser du métal que vous vendriez ; référence des prix de rachat des négociants |
| Ask (offer) | Meilleur prix qu'un vendeur acceptera | Coût d'un achat ; référence des prix de vente des négociants |
| Mid | Moyenne du bid et de l'ask | Graphiques, valorisations, prix affichés en titre |
| Spread | Ask moins bid | Mesurer la liquidité et le coût d'un aller-retour |
Un exemple chiffré, avec des valeurs indicatives. Supposons que la cotation de gros de l'or soit de 3 997,62 au bid et 3 998,16 à l'ask, en dollars américains par once troy :
bid = 3,997.62
ask = 3,998.16
mid = (3,997.62 + 3,998.16) / 2 = 3,997.89
spread = 3,998.16 - 3,997.62 = 0.54 USD
spread en % du mid = 0.54 / 3,997.89 ≈ 0.0135 % (environ 1.35 point de base)Les spreads en pratique
Le spread est le prix de l'immédiateté : ce qu'il en coûterait d'acheter puis de revendre aussitôt. Comparez les spreads en termes relatifs, en pourcentage du mid ou en points de base (centièmes de pour cent). Un spread absolu de 0,50 n'a pas du tout le même sens sur l'or, à plusieurs milliers de dollars l'once, que sur l'argent, à quelques dizaines de dollars.
Plusieurs facteurs l'élargissent ou le resserrent :
- La liquidité du métal. L'or est le métal précieux le plus échangé et présente généralement le spread relatif le plus serré. Le platine et le palladium s'échangent en volumes bien moindres : leurs spreads sont donc généralement plus larges en pourcentage.
- L'heure de la journée. Les spreads ont tendance à être plus serrés lorsque les principales places de marché se chevauchent, et plus larges aux heures calmes, par exemple autour de la clôture quotidienne de New York et de la réouverture hebdomadaire du dimanche soir, heure de New York.
- La volatilité et l'actualité. Autour des grandes publications économiques ou en période de tensions sur les marchés, les teneurs de marché élargissent leurs cotations pour se protéger.
- La taille. Un spread coté s'applique à une taille de transaction standard. Les très gros ordres peuvent être cotés avec un spread plus large, et les petits achats de détail supportent des coûts que le spread de gros n'inclut pas du tout.
Lorsque vous calculez des spreads dans votre code, utilisez les nombres non arrondis du flux et mesurez le spread relatif par rapport au mid :
function spreadStats(bid, ask) {
const mid = (bid + ask) / 2;
const spread = ask - bid;
return {
mid,
spread,
spreadPct: (spread / mid) * 100,
spreadBps: (spread / mid) * 10000,
};
}
spreadStats(3997.62, 3998.16);
// mid ≈ 3997.89, spread ≈ 0.54, spreadPct ≈ 0.0135, spreadBps ≈ 1.35Spreads de gros et spreads de détail sont deux choses différentes. Le spread interbancaire sur l'or représente une petite fraction de pour cent. L'écart entre les prix de vente et de rachat d'un négociant pour une pièce d'une once est bien plus important, car il couvre aussi la prime du produit, les coûts de distribution et la marge du négociant.
Demander le bid et l'ask avec MetalAPI
Par défaut, MetalAPI renvoie le prix mid. Pour les métaux précieux au comptant, ce mid est calculé à partir de flux bid/ask interbancaires. À partir du plan Standard, vous pouvez aussi demander les deux côtés en ajoutant -BID et -ASK à un symbole dans currencies :
curl "https://metalapi.com/api/v1/latest?currencies=XAU,XAU-BID,XAU-ASK" \
-H "Authorization: Bearer YOUR_API_KEY"Chaque côté demandé apparaît dans rates dans les deux sens, exactement comme le mid. USDXAU-BID est le bid en dollars américains par once troy, et XAU-BID en est l'inverse :
{
"success": true,
"timestamp": 1792834892,
"date": "2026-10-24",
"base": "USD",
"rates": {
"XAU": 0.0002501319446,
"USDXAU": 3997.89,
"XAU-BID": 0.0002501488386,
"USDXAU-BID": 3997.62,
"XAU-ASK": 0.0002501150529,
"USDXAU-ASK": 3998.16
}
}Quelques détails à connaître :
- Quels symboles. Le bid et l'ask sont disponibles pour les symboles cotés à partir de flux interbancaires : les métaux précieux et les principales devises. Les symboles issus de contrats à terme, comme le cuivre ou le pétrole brut, sont publiés avec un prix unique. Si un côté n'est pas disponible pour un symbole, il est absent de
rates: vérifiez donc que la clé existe plutôt que de le supposer. - Un seul instantané. Le bid, l'ask et le mid proviennent du même instantané : ils sont donc cohérents entre eux. Ils sont rafraîchis à l'intervalle de votre plan : toutes les 10 minutes sur Standard, toutes les minutes sur Advanced et Pro, toutes les 15 secondes sur Ultra et Business, et toutes les 5 secondes sur Enterprise.
- Autres devises et unités.
baseetunitfonctionnent comme d'habitude :base=EUR&unit=gramrenvoie donc le bid et l'ask de l'or en euros par gramme. La conversion vers une autre devise de base utilise le cours mid de cette devise ; si vous devez aussi appliquer un spread de change, ajoutez-le vous-même. - Plans. Sur Free et Lite, une requête qui inclut des symboles
-BIDou-ASKrenvoie l'erreur106(plan_restriction). Comme les autres restrictions de plan, cette requête n'est pas facturée. - Historique. Les endpoints historiques (clôtures quotidiennes, séries temporelles, OHLC) renvoient des prix mid. Le bid et l'ask font partie de la dernière cotation.
- Assistants IA. Les mêmes suffixes fonctionnent dans l'argument
symbolsde l'outil MCPget_latest_pricessi vous utilisez MetalAPI depuis Claude ou ChatGPT. Consultez IA & MCP.
Afficher correctement les cotations
La plupart des erreurs sur les prix des métaux se produisent dans la couche d'affichage plutôt que dans les données. Une courte liste de contrôle :
- Dites de quel prix il s'agit. Indiquez qu'un prix mid en est un (« spot » ou « mid »). Si vous affichez les deux côtés, nommez-les du point de vue du client : le client achète à l'ask et vend au bid. Les sites de négociants utilisent souvent « Nous achetons » et « Nous vendons », c'est-à-dire le point de vue du négociant ; mélanger les deux conventions sur une même page sème la confusion.
- Affichez l'unité et la devise. « 3 997,89 $ » seul est ambigu. Écrivez « USD par once troy » ou « EUR par gramme ». Attention aux onces : dans le paramètre
unitde MetalAPI,ounceetozdésignent l'once avoirdupois (28,35 g), alors que les métaux précieux sont cotés à l'once troy (troy_oz, la valeur par défaut). - Indiquez l'heure. Affichez l'heure de la cotation à partir du champ
timestampde la réponse, qui correspond à l'heure des données et non à celle de votre requête. Sur les plans à mises à jour différées, précisez la fréquence de rafraîchissement du prix. - Tenez compte des horaires de marché. Les métaux au comptant et les principales devises se négocient du dimanche 17:00 au vendredi 17:00, heure de New York. Le week-end, MetalAPI continue de renvoyer les cours de clôture du vendredi : affichez une mention « marché fermé » plutôt que de laisser un prix figé passer pour un prix en direct.
- N'arrondissez qu'à l'affichage. Gardez la précision complète dans les calculs et arrondissez tout à la fin. Un spread calculé à partir d'un bid et d'un ask arrondis peut être faussé d'une part importante de sa propre valeur.
- Protégez-vous contre une cotation croisée. Si vos propres ajustements produisent un jour un prix de vente inférieur au prix de rachat, traitez-le comme un bug et cessez de coter jusqu'à sa correction.
- Précisez que les prix sont indicatifs. Les prix issus d'une API de données sont une information, pas une offre de transaction. Si vous les affichez à des clients, indiquez clairement que le prix ferme est celui confirmé lors du paiement ou sur une confirmation d'opération.
Pour assembler le tout, voici un petit exemple qui récupère le mid, le bid et l'ask de l'or en euros par gramme et les affiche avec des libellés et un horodatage :
const res = await fetch(
"https://metalapi.com/api/v1/latest?base=EUR&unit=gram¤cies=XAU,XAU-BID,XAU-ASK",
{ headers: { Authorization: "Bearer " + process.env.METALAPI_KEY } },
);
const data = await res.json();
if (!data.success) throw new Error(data.error.code + ": " + data.error.info);
const r = data.rates;
const eur = new Intl.NumberFormat("en-GB", { style: "currency", currency: "EUR" });
const asOf = new Date(data.timestamp * 1000).toISOString();
console.log("Gold, EUR per gram, as of " + asOf);
console.log("Mid:", eur.format(r.EURXAU));
if (r["EURXAU-BID"] !== undefined && r["EURXAU-ASK"] !== undefined) {
console.log("You sell at (bid):", eur.format(r["EURXAU-BID"]));
console.log("You buy at (ask):", eur.format(r["EURXAU-ASK"]));
}Aide-mémoire
| Terme | Définition |
|---|---|
| Spot | Prix pour une livraison immédiate ; sur le marché de gros, règlement deux jours ouvrés après la transaction |
| Bid | Prix auquel le marché vous achète |
| Ask / offer | Prix auquel le marché vous vend |
| Mid | (bid + ask) / 2 ; la référence habituelle et le prix renvoyé par défaut par l'API |
| Spread | Ask moins bid ; souvent exprimé en pourcentage du mid ou en points de base |
| Point de base | 0,01 %, un centième de pour cent |
| Prime | Majoration appliquée par un négociant au prix de référence pour un produit physique |
| Once troy | 31,1034768 grammes ; l'unité de cotation des métaux précieux |
Pour essayer par vous-même, inscrivez-vous pour obtenir une clé gratuite et travailler avec les prix mid, et consultez les tarifs pour connaître les plans qui incluent le bid et l'ask. La documentation de l'API liste tous les paramètres, et le guide Formats de données et unités détaille les devises de base, les unités de masse et les taux inverses.
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
Connecter Claude et ChatGPT aux prix de l'or en direct avec MCP
Connectez Claude, ChatGPT, Cursor et VS Code aux prix de l'or et des métaux en direct via le serveur MCP MetalAPI : OAuth ou clé API, outils, sécurité, quotas.
Prix du cuivre, de l'aluminium, du zinc et du pétrole par API : le guide du développeur
Prix du cuivre, de l'aluminium, du zinc, de l'acier, du pétrole et du gaz par API : unités de marché, normalisation, contrats à terme, conversions et exemples.
Comment choisir une API de prix des métaux précieux : 12 questions à poser
Une checklist neutre pour choisir une API de prix des métaux précieux : sources, fraîcheur, historique, unités, bid/ask, limites, tarifs, sécurité et MCP.
Comment les négociants passent du spot à une cotation
Un négociant en métaux précieux, un bijoutier ou une application de trading affiche rarement la cotation de gros telle quelle. La plupart partent d'une référence en direct, soit le mid, soit le bid et l'ask, et appliquent leurs propres conditions de chaque côté. Une structure courante ressemble à ceci :
La prime couvre la fabrication (frapper une petite pièce coûte plus cher par once que couler un gros lingot), l'assurance, l'expédition, les frais de paiement et la marge. Elle peut être un pourcentage au-dessus du spot, un montant fixe par article, ou les deux, et elle varie selon le produit, la taille, le négociant et la demande.
Deux conversions s'intercalent souvent. Les prix destinés aux clients hors des États-Unis sont convertis du dollar américain vers la devise locale, ce qui fait intervenir un taux de change et parfois un spread de change propre. Et les produits vendus au gramme ou au carat, comme les bijoux, sont convertis depuis l'once troy et ajustés selon leur titre : l'or 22 carats est pur à 22/24, soit environ 91,67 %, et l'or 18 carats à 75 %.
La prime et la décote de ce tableau sont inventées pour l'exemple ; les valeurs réelles varient fortement. L'essentiel est la structure : le spread vu par le client est le spread de gros plus les ajustements du négociant des deux côtés, et la part de gros en est généralement la plus petite composante.