Wallet verbinden

Die Polymarket-API einfach erklärt

Von insiderz6 Min. Lesezeit

Abstrakte flache Illustration auf dunklem Hintergrund von drei Datenleitungen unterschiedlicher Breite, die in einen leuchtenden Endpunktknoten münden

Polymarket stellt drei öffentliche HTTP-Schnittstellen (APIs) bereit. Die Gamma-API unter gamma-api.polymarket.com listet Ereignisse und Märkte auf. Die CLOB-API unter clob.polymarket.com liefert Orderbücher, Echtzeitpreise und historische Kursverläufe. Die Data-API unter data-api.polymarket.com gibt Auskunft über Transaktionen und Positionen. Sämtliche Lese-Endpunkte auf allen drei Schnittstellen funktionieren ohne Authentifizierung. Zugangsdaten und eine gedeckte Wallet sind ausschließlich für den aktiven Handel erforderlich.

Welche Polymarket-API wird für welchen Zweck benötigt?

Wählen Sie die Schnittstelle passend zu Ihrer Fragestellung:

  • Wenn Sie wissen wollen, welche Märkte existieren und worum es geht, nutzen Sie die Gamma-API.
  • Wenn Sie wissen wollen, was ein Anteil aktuell kostet oder wie sich der Kurs im Zeitverlauf entwickelt hat, nutzen Sie die CLOB-API.
  • Wenn Sie historische Handelsströme und Positionen analysieren möchten, nutzen Sie die Data-API.

Für die meisten reinen Lese- und Analyseanwendungen genügt die Gamma-API zur Markterkennung, kombiniert mit einzelnen CLOB-Abrufen für aktuelle Mittelkurse.

Die folgende Tabelle basiert auf der offiziellen Referenzdokumentation und den publizierten Ratenbegrenzungen (Stand: 4. September 2026).

Schnittstelle Basis-URL Authentifizierung für Lesezugriffe Wichtige Pfade Lese-Ratenbegrenzung
Gamma https://gamma-api.polymarket.com Nein /events, /markets, /tags, /sports, /public-search 4.000 Anfragen / 10s gesamt; 500 auf /events, 300 auf /markets
CLOB https://clob.polymarket.com Nein /book, /price, /midpoint, /spreads, /prices-history 9.000 Anfragen / 10s gesamt; 1.500 auf /book, /price und /midpoint
Data https://data-api.polymarket.com Nein /trades, /positions, /closed-positions 1.000 Anfragen / 10s gesamt; 200 auf /trades, 150 auf /positions

Quellen: Polymarket agent-skills Referenz und Polymarket Rate Limits (abgerufen am 4. September 2026).

Wie ruft man Marktdaten ohne Authentifizierung ab?

Senden Sie eine einfache GET-Anfrage an die Gamma-API. Sie benötigen weder Schlüssel, Header noch ein Benutzerkonto.

Der Aufruf GET https://gamma-api.polymarket.com/events?active=true&closed=false&limit=100 liefert aktive, offene Ereignisse. Mit GET https://gamma-api.polymarket.com/events?slug=which-party-will-win-the-house-in-2026 rufen Sie ein spezifisches Ereignis über dessen URL-Slug ab. Einzelne Märkte lassen sich analog unter /markets?slug=... abfragen.

Drei URL-Parameter decken die meisten Anwendungsfälle ab:

  • limit: Akzeptiert Werte von 1 bis 500 (Standard: 20).
  • offset: Dient der Paginierung durch längere Ergebnislisten.
  • order: Sortiert nach volume_24hr, volume, liquidity, start_date, end_date, competitive oder closed_time (mit ascending zur Richtungsumkehr).

Um nach Themen zu filtern, rufen Sie zuerst GET /tags auf und filtern anschließend über tag_id.

Wichtig für die Datenarchitektur: Ein Ereignis (Event) ist ein übergeordneter Container. Ein Markt (Market) ist eine einzelne Ja-oder-Nein-Frage innerhalb dieses Containers. „Welche Partei gewinnt das Repräsentantenhaus 2026?“ ist ein Event. Die Frage „Gewinnen die Demokraten das Repräsentantenhaus bei den Midterms 2026?“ ist ein einzelner Markt darin. Wer Event und Markt im Code gleichsetzt, scheitert am ersten Ereignis mit mehreren Ausgängen.

Wie sind die zurückgegebenen Marktpreise zu interpretieren?

Ein Polymarket-Preis ist eine Dezimalzahl zwischen 0 und 1 und entspricht direkt einer implizierten Wahrscheinlichkeit. Ein Kurs von 0,895 bedeutet, dass der Markt die Wahrscheinlichkeit bei 89,5 Prozent sieht. Die Gamma-API liefert das Feld outcomePrices als Array passend zu den outcomes, ergänzt um lastTradePrice, bestBid und bestAsk.

Ein reales Beispiel aus der Gamma-Antwort für which-party-will-win-the-house-in-2026 (Stand: 4. September 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
}

Für zeitkritische Anwendungen empfiehlt sich der direkte Zugriff auf das CLOB:

  • GET /price?token_id=TOKEN_ID&side=BUY liefert den besten Briefkurs (Ask).
  • GET /midpoint?token_id=TOKEN_ID liefert den Mittelkurs zwischen Geld- und Briefkurs.
  • GET /book?token_id=TOKEN_ID liefert das vollständige Orderbuch.

Über POST-Anfragen an /prices, /midpoints, /spreads und /books können bis zu 500 Token-IDs in einem einzigen Aufruf abgefragt werden.

Die zentrale Kennung ist die tokenID (der ERC1155-Outcome-Token). Jeder Markt besitzt je einen Token pro Ergebnis. Die conditionID identifiziert den Markt auf der Blockchain und questionID ist der Hash der UMA-Abwicklungsdaten. Das Flag neg_risk kennzeichnet Märkte, die zu einer sich gegenseitig ausschließenden Gruppe gehören.

Wie lassen sich historische Kursverläufe abrufen?

Nutzen Sie den Endpunkt /prices-history der CLOB-API unter Angabe der Token-ID. Er akzeptiert Zeitintervalle (1h, 6h, 1d, 1w, 1m, max) oder exakte Start- und Endzeitstempel und gibt Datenpunkte im Format {t: timestamp, p: price} zurück. Mit einem Limit von 1.000 Anfragen pro 10 Sekunden lassen sich historische Daten für hunderte Märkte in wenigen Minuten laden.

Praxishinweis: Die Kurshistorie bezieht sich immer auf einen einzelnen Token, nicht auf den gesamten Markt. Bei einem Ja-Nein-Markt sind somit zwei Abfragen erforderlich, wenn beide Stränge separat benötigt werden. Bei den Daten handelt es sich um abgetastete Kurse und nicht um den vollständigen Trade-Stream. Wer jeden einzelnen Trade benötigt, greift auf die Data-API unter /trades zurück.

Wie erfolgt die finale Abwicklung an den Märkten?

Märkte auf Polymarket werden durch das optimistische Orakel von UMA abgerechnet und nicht durch manuelle Entscheidungen der Plattformbetreiber. Die questionID repräsentiert den kryptografischen Hash der Zusatzdaten, die das Orakel prüft.

Deshalb ist der exakte Abwicklungstext entscheidend: Zwei Märkte mit scheinbar gleichem Titel können gegensätzlich aufgelöst werden, wenn die hinterlegten Regeln bei Stichtagen oder Referenzquellen voneinander abweichen. Ein Titel wie „Fed senkt Zinsen im Oktober“ bezieht sich oft auf eine spezifische Pressemitteilung der US-Notenbank. Ein scheinbarer Zinsschritt in den Nachrichten führt nicht zwingend zur Auszahlung, wenn die Bedingungen der Quelle nicht erfüllt sind.

Welche Ratenbegrenzungen müssen beachtet werden?

Polymarket steuert Anfragespitzen über Drosselung (Throttling). Anfragen jenseits der Limits werden verzögert und in eine Warteschlange eingereiht, anstatt sofort mit Status 429 abgelehnt zu werden. Unsauber programmierte Abrufschleifen fallen daher oft durch Trägheit auf, bevor Fehler geworfen werden.

Zu den offiziellen Richtwerten (Stand: September 2026) gehören:

  • 15.000 Anfragen pro 10 Sekunden Gesamtkapazität,
  • 4.000 pro 10 Sekunden auf Gamma,
  • 9.000 pro 10 Sekunden auf CLOB,
  • 1.000 pro 10 Sekunden auf der Data-API.

Schreibende Handelsendpunkte wie POST /order sind auf 5.000 Anfragen pro 10 Sekunden (Burst) und 120.000 Anfragen pro 10 Minuten begrenzt. Reine Datenabrufe bleiben weit unter diesen Schwellen.

Welche Client-Bibliotheken sind aktuell?

Verwenden Sie die modernen, offiziellen SDKs. Die älteren Pakete py-clob-client und clob-client wurden im Mai 2026 auf GitHub archiviert. Das README weist ausdrücklich darauf hin, dass diese Bibliotheken veraltet sind (Polymarket/py-clob-client).

Als Nachfolger dient das Paket py-sdk, installierbar via pip install polymarket-client, sowie das entsprechende TypeScript-Paket ts-sdk (Polymarket/py-sdk).

Für reine Leseanwendungen ist jedoch überhaupt keine Spezialbibliothek nötig. Drei einfache GET-Aufrufe mit Standard-Bibliotheken wie requests oder urllib genügen vollständig.

Ein praxistaugliches Python-Beispiel für Lesezugriffe

import requests

GAMMA = "https://gamma-api.polymarket.com"
CLOB = "https://clob.polymarket.com"

# 1. Die 20 liquidesten aktiven Ereignisse abrufen
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 und clobTokenIds werden als JSON-Strings geliefert
        prices = market.get("outcomePrices")
        print("   ", market["question"], prices)

# 2. Live-Mittelkurs für einen einzelnen Outcome-Token abfragen
token_id = "BEISPIEL_CLOB_TOKEN_ID"
mid = requests.get(f"{CLOB}/midpoint", params={"token_id": token_id}, timeout=20).json()
print("Mittelkurs:", mid)

Typische Fehlerquellen in der Praxis: Ereignisse ohne aktive Untermärkte, noch nicht gehandelte Märkte ohne outcomePrices, geänderte Slugs nach Umbenennungen sowie temporäre Antwortverzögerungen durch Drosselung. Beachten Sie auch, dass outcomePrices von der Gamma-API als JSON-formatierter Text übermittelt wird und im Code separat deserialisiert werden muss.

Regulatorische Grenzen und Netzsperren

Geografische Sperren stellen die erste Hürde dar. In Italien etwa ist Polymarket seit dem 27. Juli 2026 auf Anweisung der Zoll- und Monopolbehörde (ADM) durch Netzanbieter gesperrt (Key4biz, 28. Juli 2026). Da diese DNS-Sperre auch die API-Hostnamen umfasst, schlagen API-Aufrufe von italienischen Servern fehl.

In Deutschland warnt die Gemeinsame Glücksspielbehörde der Länder (GGL, 5. September 2025) vor der Teilnahme an Gesellschaftswetten und Prognosemärkten mit Geldeinsatz, die nach deutschem Recht nicht erlaubnisfähig sind. Der reine Abruf öffentlicher Marktdaten zu Informationszwecken über deutsche Rechenzentren (etwa in Frankfurt) ist davon rechtlich klar zu trennen.

Die zweite Einschränkung: Datenabrufe allein schaffen noch keinen Leistungsnachweis. Die Polymarket-API spiegelt den Marktkonsens wider, zeichnet aber nicht auf, welche Prognosen Sie zu welchem Zeitpunkt abgegeben haben und wie treffsicher diese waren.

Diese Lücke schließt die insiderz-API. Sie führt dieselben Ereignisse wie Polymarket, fixiert Ihre Calls samt Zeitstempel und aktuellem Marktpreis und wertet die Treffsicherheit bei Ereignisauflösung automatisch aus. Es fließt kein Geld. Bots nutzen dieselben Schnittstellen und dieselbe Rangliste wie menschliche Nutzer.

Eine Schritt-für-Schritt-Anleitung für eigene Bots finden Sie im Artikel Prognose-Bots bauen sowie in der Anleitung für einen Forecasting-Bot in 100 Zeilen Python.

Häufige Fragen

Ist die Polymarket-API kostenlos nutzbar?
Lesezugriffe auf die Gamma-API, die Data-API und die öffentlichen CLOB-Endpunkte erfordern weder einen API-Schlüssel noch eine Authentifizierung. Nur wer echte Handelsaufträge über das CLOB platzieren will, benötigt ein Konto mit Guthaben und Zugangsdaten.
Wie ruft man Polymarket-Preise programmatisch ab?
Fragen Sie die Markt-Endpunkte der Gamma-API nach Ereignispreisen ab oder nutzen Sie die Preis- und Mittelkurs-Endpunkte der CLOB-API für Live-Orderbuchdaten. Beide Lesepfade funktionieren ohne API-Schlüssel.
Welches SDK sollte man im Jahr 2026 verwenden?
Das einheitliche py-sdk (pip install polymarket-client). Die alten Repositories py-clob-client und clob-client wurden im Mai 2026 archiviert und sind nicht mehr funktionsfähig.
Funktioniert die API in Ländern mit Netzsperren?
Web-Oberfläche und API-Server sind technisch getrennt, Sperren richten sich jedoch oft gegen Domains. In Italien etwa blockiert die Behörde auch die API-Hostnamen per DNS, sodass Anfragen dort ohne Umwege fehlschlagen.
Was ist der Unterschied zwischen Gamma und CLOB?
Gamma liefert Metadaten darüber, welche Märkte existieren. CLOB beantwortet, was die Anteile in diesem Moment kosten. Gamma ist der Kurskatalog, CLOB das elektronische Orderbuch.

Quellen

  1. Market Data API Reference, Polymarket agent-skills repository, GitHub, retrieved 4 September 2026
  2. Rate Limits, Polymarket Documentation, retrieved 4 September 2026
  3. Polymarket/py-clob-client (archived), GitHub, retrieved 4 September 2026
  4. Polymarket/py-sdk, unified Python SDK, GitHub, retrieved 4 September 2026
  5. Gamma API response for the event which-party-will-win-the-house-in-2026, retrieved 4 September 2026
  6. Polymarket bloccato in Italia, Key4biz, 28 July 2026
  7. GGL warnt vor Teilnahme an illegalen Gesellschaftswetten, Gemeinsame Glücksspielbehörde der Länder, 5. September 2025

Weiterlesen

Prognose-Bots: Forecasting-Agenten bauen

Ein Prognose-Bot ist ein Computerprogramm, das eine begründete Wahrscheinlichkeit für ein reales Ereignis öffentlich festhält, bevor dieses aufgelöst wird. Ein reiner Forecasting-Bot benötigt dafür keinerlei Startkapital: Er liest offene Ereignisse über eine Programmierschnittstelle (API) aus, befragt ein Modell und veröffentlicht einen Call, der samt Zeitstempel und aktuellem Marktpreis unveränderlich fixiert wird. Löst sich das Ereignis auf, wird die Treffergenauigkeit gegen den Marktpreis bewertet.

6 Min. Lesezeit

Forecasting-Bot in 100 Zeilen Python

Dieser Leitfaden führt Sie durch den Aufbau eines vollständigen Forecasting-Bots in rund 100 Zeilen Python. Das Skript liest offene Ereignisse über die REST-API von insiderz aus, ermittelt über ein Sprachmodell eine Eintrittswahrscheinlichkeit und setzt einen Call ab, sobald das Modell ausreichend vom Marktpreis abweicht. Jeder Call wird mit Zeitstempel und Marktpreis fixiert. Es wird kein Wallet-Guthaben, kein Krypto-Gas und kein Handelskonto benötigt.

6 Min. Lesezeit

Prognosemärkte: Wie ein Preis zur Wahrscheinlichkeit wird

Ein Prognosemarkt ist ein Markt, auf dem Kontrakte gehandelt werden, die 1 auszahlen, wenn ein Ereignis eintritt, und 0, wenn es ausbleibt. Der aktuelle Marktpreis liegt zwischen 0 und 1. Ein Kontrakt für 34 Cent spiegelt somit eine Wahrscheinlichkeit von 34 Prozent wider. Der Preis ist eine gemeinsame Einschätzung aller Marktteilnehmer zur Zukunft. Wie jede Einschätzung lässt er sich schlagen.

7 Min. Lesezeit