L'API Polymarket en clair
Par insiderz6 min de lecture

Polymarket exploite trois API HTTP publiques. Gamma, sur gamma-api.polymarket.com, répertorie événements et marchés. CLOB, sur clob.polymarket.com, fournit carnets d'ordres, prix et historique. Data, sur data-api.polymarket.com, fournit transactions et positions. Tous les points d'accès en lecture fonctionnent sans authentification. Seule la négociation exige des identifiants et un wallet approvisionné.
De quelle API Polymarket ai-je besoin ?
Tout dépend de la question. Pour savoir quels marchés existent et ce qu'ils couvrent, utilisez Gamma. Pour connaître le prix actuel ou celui de la semaine précédente, utilisez CLOB. Pour savoir qui a négocié quoi, utilisez Data. La plupart des outils en lecture seule découvrent les marchés avec Gamma, puis interrogent une fois CLOB pour chaque jeton.
Ce tableau vient de la référence agent-skills de Polymarket et de la page officielle des limites, consultées le 4 septembre 2026.
| API | URL de base | Authentification en lecture | Chemins principaux | Limite de lecture |
|---|---|---|---|---|
| Gamma | https://gamma-api.polymarket.com | Non | /events, /markets, /tags, /sports, /public-search | 4 000 req/10 s au total, 500 sur /events, 300 sur /markets |
| CLOB | https://clob.polymarket.com | Non | /book, /price, /midpoint, /spreads, /prices-history | 9 000 req/10 s au total, 1 500 sur /book, /price et /midpoint |
| Data | https://data-api.polymarket.com | Non | /trades, /positions, /closed-positions | 1 000 req/10 s au total, 200 sur /trades, 150 sur /positions |
Sources : agent-skills Polymarket, market-data.md et limites Polymarket, consultées le 4 septembre 2026.
Comment lire les marchés sans authentification ?
Envoyez une requête GET ordinaire à Gamma, sans clé, en-tête ni compte. GET https://gamma-api.polymarket.com/events?active=true&closed=false&limit=100 renvoie les événements ouverts. GET https://gamma-api.polymarket.com/events?slug=which-party-will-win-the-house-in-2026 sélectionne un événement par son slug Polymarket. Le chemin /markets?slug=... fait de même pour les marchés.
Trois paramètres couvrent l'essentiel. limit accepte de 1 à 500, avec 20 par défaut. offset assure la pagination. order trie par volume_24hr, volume, liquidity, start_date, end_date, competitive ou closed_time ; ascending inverse le sens. Pour une catégorie, récupérez d'abord GET /tags, puis filtrez par tag_id.
Un événement est un conteneur. Un marché est une question Oui ou Non à l'intérieur. « Quel parti remportera la Chambre en 2026 ? » est un événement. « Le Parti démocrate contrôlera-t-il la Chambre après les élections de mi-mandat de 2026 ? » est l'un de ses marchés. Confondre les deux casse le code dès le premier événement à plusieurs issues.
Que signifient les prix ?
Un prix Polymarket compris entre 0 et 1 se lit comme une probabilité. Un marché à 0,895 indique 89,5 %. Gamma renvoie outcomePrices, aligné sur outcomes, ainsi que lastTradePrice, bestBid et bestAsk.
Voici une vraie réponse de l'événement Gamma which-party-will-win-the-house-in-2026, récupérée le 4 septembre 2026 :
{
"question": "Will the Democratic Party control the House after the 2026 Midterm elections?",
"outcomes": ["Yes", "No"],
"outcomePrices": ["0.895", "0.105"],
"lastTradePrice": 0.9,
"bestBid": 0.89,
"bestAsk": 0.9,
"volume": 5723307.96
}
Pour une donnée sensible au temps, passez par CLOB. GET /price?token_id=TOKEN_ID&side=BUY renvoie la meilleure offre de vente, GET /midpoint?token_id=TOKEN_ID le point milieu, et GET /book?token_id=TOKEN_ID le carnet complet. Les versions groupées sont des requêtes POST vers /prices, /midpoints, /spreads et /books, jusqu'à 500 jetons par appel.
L'identifiant utile est tokenID, le jeton d'issue ERC1155. Chaque marché en possède un par issue. conditionID identifie le marché sur la blockchain. questionID est l'empreinte des données complémentaires UMA qui décident l'issue. Le drapeau neg_risk signale les marchés d'un groupe à issues mutuellement exclusives.
Comment récupérer l'historique des prix ?
Utilisez /prices-history de CLOB avec l'identifiant du jeton. Il accepte un intervalle (1h, 6h, 1d, 1w, 1m, max) ou des horodatages de début et de fin, puis renvoie {t: timestamp, p: price}. La limite de lecture est de 1 000 requêtes toutes les 10 secondes. Quelques centaines de marchés se récupèrent donc en quelques minutes.
L'historique est établi par jeton, pas par marché. Un marché Oui ou Non exige deux appels pour les deux côtés, le second étant presque exactement égal à un moins le premier. La série est un échantillon de prix, pas la liste des transactions. Pour les exécutions réelles, utilisez /trades de Data.
Comment fonctionne la résolution ?
Un marché Polymarket paie selon l'issue décidée par l'oracle optimiste d'UMA, pas selon un choix du personnel de Polymarket. Le questionID est l'empreinte des données que l'oracle lit. Deux titres presque identiques peuvent donc produire deux résolutions différentes si leurs règles divergent sur une date ou une source.
Un bot doit lire la description. Un titre comme « La Fed baisse ses taux en octobre » peut dépendre d'une déclaration du FOMC publiée à une date précise. Une nouvelle ressemblant à une baisse peut ne pas répondre à la règle.
Quelles sont les limites de requêtes ?
Polymarket publie des limites par point d'accès et ralentit les requêtes excédentaires en les plaçant en attente, au lieu de renvoyer immédiatement une erreur 429. Au 4 septembre 2026, le plafond général annoncé était de 15 000 requêtes toutes les 10 secondes, avec 4 000 pour Gamma, 9 000 pour CLOB et 1 000 pour Data (limites Polymarket).
Les opérations de négociation ont un plafond de pointe et un plafond durable. POST /order autorise 5 000 requêtes toutes les 10 secondes en pointe et 120 000 sur 10 minutes. Une intégration en lecture seule ne les approchera pas.
Quelle bibliothèque cliente utiliser ?
Utilisez les SDK unifiés. Au 4 septembre 2026, les dépôts py-clob-client et clob-client étaient archivés sur GitHub, tous deux après un dernier envoi le 25 mai 2026. Le README Python indiquait que le client ne fonctionnait plus et ne devait servir à aucune intégration (Polymarket/py-clob-client). Les remplaçants sont py-sdk, installé avec pip install polymarket-client, et ts-sdk (Polymarket/py-sdk).
Pour la seule lecture, aucune bibliothèque n'est nécessaire. Trois GET avec requests ou fetch couvrent la découverte, le prix et l'historique.
Exemple Python en lecture seule
import requests
GAMMA = "https://gamma-api.polymarket.com"
CLOB = "https://clob.polymarket.com"
# 1. Twenty open events, busiest first.
events = requests.get(
f"{GAMMA}/events",
params={"active": "true", "closed": "false", "limit": 20,
"order": "volume_24hr", "ascending": "false"},
timeout=20,
).json()
for event in events:
print(event["title"])
for market in event.get("markets", []):
# outcomePrices and clobTokenIds arrive as JSON encoded strings.
prices = market.get("outcomePrices")
print(" ", market["question"], prices)
# 2. Live midpoint for one outcome token.
token_id = "REPLACE_WITH_A_CLOB_TOKEN_ID"
mid = requests.get(f"{CLOB}/midpoint", params={"token_id": token_id}, timeout=20).json()
print("midpoint:", mid)
La sortie attendue comporte une ligne par événement, une ligne en retrait par marché et un dictionnaire comme {'mid': '0.895'}. Gamma encode outcomePrices et clobTokenIds comme des chaînes JSON dans le JSON. Il faut donc les analyser une seconde fois.
Avant toute planification, gérez les événements sans marché, l'absence de outcomePrices avant la première transaction, un slug supprimé après renommage et le ralentissement dû au dépassement des limites.
Où l'accès échoue-t-il ?
Les blocages nationaux forment le premier obstacle. Polymarket est bloqué en Italie depuis le 27 juillet 2026 sur ordre de l'Agenzia delle Dogane e dei Monopoli, appliqué au niveau DNS (Key4biz, 28 juillet 2026). Les noms d'hôte de l'API pointent aussi vers la page de l'agence. Une requête italienne vers gamma-api.polymarket.com échoue donc avec une erreur de certificat. Le Brésil a bloqué les plateformes de marché prédictif en mai 2026 sur une autre base juridique.
En France, l'ANJ a indiqué le 17 juillet 2026 que son président avait ordonné le blocage de Polymarket par les fournisseurs d'accès le 16 juillet. Un serveur installé dans un pays concerné peut donc rencontrer un problème de réseau, même si l'API elle-même fonctionne.
Lire les prix ne crée pas non plus un historique. L'API Polymarket dit ce que pense le marché, mais pas ce que vous pensiez, à quel moment, ni si vous aviez raison.
C'est le rôle de l'API insiderz. Elle liste les mêmes événements, reçoit un call, c'est-à-dire une prévision publique Oui ou Non, verrouillé avec l'heure et le prix, puis l'évalue à la résolution. Aucun argent ne circule. Les bots utilisent les mêmes règles et le même classement que les personnes. Pour construire la partie prévision, lisez comment créer un bot de prévision ou la version Python en 100 lignes.
Questions fréquentes
- L'API Polymarket est-elle gratuite ?
- Les opérations de lecture sur Gamma, Data et les points d'accès CLOB ne demandent ni authentification ni compte. Pour négocier via CLOB, il faut un wallet approvisionné et des identifiants API.
- Comment récupérer les prix Polymarket par programme ?
- Interrogez les marchés de Gamma pour les prix des issues, ou les points d'accès CLOB de prix et de point milieu pour le carnet en direct. Aucun des deux chemins de lecture ne demande de clé.
- Quel client Polymarket utiliser en 2026 ?
- Les SDK unifiés. Les anciens dépôts py-clob-client et clob-client ont été archivés en mai 2026, et leur README précise que le client ne fonctionne plus.
- Puis-je lire Polymarket depuis un pays où le site est bloqué ?
- L'interface de négociation et les hôtes de données sont deux sujets distincts. En Italie, le blocage DNS couvre aussi les noms d'hôte de l'API, si bien qu'une requête depuis une connexion italienne ne se résout pas.
- Quelle différence entre Gamma et CLOB ?
- Gamma indique quels marchés existent. CLOB indique leur prix actuel. Gamma est le catalogue, CLOB le carnet d'ordres.
Sources
- Market Data API Reference, Polymarket agent-skills repository, GitHub, retrieved 4 September 2026
- Rate Limits, Polymarket Documentation, retrieved 4 September 2026
- Polymarket/py-clob-client (archived), GitHub, retrieved 4 September 2026
- Polymarket/py-sdk, unified Python SDK, GitHub, retrieved 4 September 2026
- Gamma API response for the event which-party-will-win-the-house-in-2026, retrieved 4 September 2026
- Polymarket bloccato in Italia, Key4biz, 28 July 2026
- Promotion d'une offre de jeux d'argent illégale : blocage du site Polymarket, ANJ, 17 juillet 2026


