Tony Wang7 Min. LesezeitMetaculus scrapen in 2026 (API & Python)
Metaculus bietet eine größtenteils keylose API für Fragen & Prognosen – die Nutzungsbedingungen verbieten Scraping der Seite selbst.
Metaculus betreibt bereits seine eigene offizielle API, und das meiste, was man lesen möchte — Fragen, Prognose-Aggregate, Kommentare, Kategorien — ist ohne API-Key verfügbar. Die ehrliche Antwort auf „Wie scrape ich Metaculus" im Jahr 2026 lautet daher weitgehend wie bei Kalshi: Nutze für Lesezugriffe die eigene API der Plattform und scrape nicht zusätzlich die gerenderte Seite. Der Unterschied, der hier zählt, ist, was Metaculus eigentlich ist. Es ist eine Prognose-Community, kein Handelsmarkt — Prognostiker reichen Wahrscheinlichkeitsschätzungen zu realen Fragen ein und verdienen Reputationspunkte für Genauigkeit, aber es wird kein Geld gesetzt oder ausgezahlt. Man kann es sich als Kalshis nicht-monetären Cousin vorstellen: dasselbe Konzept der „crowd-implizierten Wahrscheinlichkeit", aber ohne Bid/Ask, ohne Abrechnung in Dollar. Dieser Guide behandelt Metaculus' eigene API, ihre Nutzungsbedingungen und wann sich eine strukturierte API zusätzlich lohnt.
Warum Metaculus-Daten scrapen?
- Crowd-Prognose-Recherche — Metaculus' Community-Prognose ist ein reputationsgewichtetes Aggregat über Tausende aufgelöster Fragen, nützlich als Kalibrierungs-Benchmark für andere Prognosemethoden.
- Prognosen mit Umfragen und Expertenvorhersagen vergleichen — Metaculus' Crowd-Wahrscheinlichkeit neben politische Umfragen, Expertenbefragungen oder Kalshis/Polymarkets marktimplizierte Quoten für dasselbe Ereignis stellen.
- Prognosegenauigkeits- und Kalibrierungsforschung — Metaculus trackt aufgelöste Fragen mit bekanntem Ausgang, genau die Art von Datensatz, die Kalibrierungs- und Superforecasting-Forschung braucht.
- KI-/LLM-Prognose-Benchmarks — Metaculus veranstaltet öffentliche KI-Prognoseturniere, und Frage-/Prognose-Verlaufsdaten sind ein natürliches Benchmark-Set, um die Wahrscheinlichkeitsschätzungen eines LLM gegen eine menschliche Crowd zu evaluieren.
- Journalismus- und Forschungsnutzung — eine live, belegte Wahrscheinlichkeit zu einer offenen Frage zitieren statt eine statische Umfragezahl.
Ist es legal, Metaculus zu scrapen?
Option 1: Metaculus' eigene API (und ihre Grenzen)
Metaculus' eigene /api2/-API ist das Erste, worauf man zugreifen sollte, und sie ist offener als die meisten Plattformen in dieser Serie:
curl "https://www.metaculus.com/api2/questions/?limit=10"
Kein API-Key für die meisten Lesezugriffe nötig. Was sie abdeckt und wo sie trotzdem an Grenzen stößt:
- Lesezugriffe sind größtenteils keylos, Schreibzugriffe brauchen ein Token. Fragen, Kommentare, Kategorien und Projekte auflisten und abrufen funktioniert unauthentifiziert. Eine Prognose einreichen, einen Kommentar posten oder nutzerspezifische Endpoints ansprechen braucht ein API-Token — Metaculus stellt diese auf Anfrage per
api-requests@metaculus.comaus, oder per Cookie-/Session-Auth, wenn man auf einem eingeloggten Konto aufbaut. - Keine veröffentlichte Self-Serve-Rate-Limit-Zahl. Metaculus veröffentlicht keine feste Requests-pro-Minute-Zahl, wie es manche APIs tun; intensives unauthentifiziertes Polling kann trotzdem gedrosselt oder blockiert werden, also bei
429-Antworten zurückschalten und die Pull-Frequenz vernünftig halten. - Das Schema ist eine funktionierende Research-API, keine stabile Produkt-API.
/api2/ist aus Metaculus' eigenem Django-Backend gewachsen statt aus einem versionierten öffentlichen Vertrag, also können sich Feldnamen und Paginierungsformate zwischen Releases ändern — erwarte, Antworten regelmäßig neu zu prüfen, statt das Schema als eingefroren zu behandeln. - Die Nutzungsbedingungen schränken die Weiterverwendung ein, nicht die Lesezugriffe selbst. Die oben genannte KI-/ML-Trainings-Beschränkung ist das, worauf man sich einstellen sollte, wenn man einen Benchmark oder Datensatz für Modelltraining statt einmaliger Recherche baut.
Option 2: DIY in Python (und warum das meistens unnötig ist)
Weil Metaculus' eigene JSON-API bereits saubere, strukturierte Lesezugriffe liefert, gibt es kaum einen Grund, die gerenderten metaculus.com-Fragenseiten zu parsen — und das würde genau die API-Ausnahme umgehen, auf der die Nutzungsbedingungen aufbauen. Ein minimaler DIY-Pull gegen die offizielle API sieht so aus:
import requests
r = requests.get(
"https://www.metaculus.com/api2/questions/",
params={"limit": 10, "status": "open"},
).json()
questions = r["results"]
Das funktioniert einwandfrei für ein einzelnes Skript gegen eine Plattform. Die Kompromisse zeigen sich, sobald Metaculus eine von mehreren Prognose- oder Marktdaten-Quellen ist, die man trackt:
- Metaculus' Schema ist Metaculus' eigenes — Feldnamen, Fragetypen (binär, numerisch, Multiple-Choice) und Paginierung sind spezifisch für
/api2/, eine eigene Integration, die neben allem anderen, was man zieht, gepflegt werden muss. - Keine einheitliche Auth oder Normalisierung über Quellen hinweg. Wenn man zusätzlich Kalshi, Polymarket oder klassische Marktdaten zieht, hat jede Quelle ihren eigenen Client, ihr eigenes Schema und eigenes Drossel-Verhalten, die zusammengeführt werden müssen.
- Polling, Speicherung und Änderungserkennung bleiben eigene Aufgabe — Metaculus dedupliziert, stempelt oder wiederholt die Pulls nicht, und eine Schema-Änderung auf ihrer Seite wird zum eigenen Bug, den man selbst finden muss.
Option 3: Eine strukturierte Metaculus-API
Der Mehrwert einer Metaculus scraping API liegt nicht darin, Daten freizuschalten, die Metaculus versteckt — das meiste davon ist bereits offen — sondern in einem normalisierten Schema und einem einzigen x-api-key über Metaculus und jede andere Plattform im Katalog hinweg, sodass Prognosedaten neben Marktdaten stehen, ohne einen zweiten Client pflegen zu müssen. Fragen auflisten:
curl "https://api.crawlora.net/api/v1/metaculus/questions?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"
Fragen, Prognosen und Verlauf in Python:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/metaculus"
questions = requests.get(f"{base}/questions", headers=h, params={"limit": 10}).json()["data"]
question = requests.get(f"{base}/question/43612", headers=h).json()["data"]
forecasts = requests.get(f"{base}/question/43612/forecasts", headers=h).json()["data"]
Eine Frage-Prognosen-Antwort ist normalisiertes JSON, das direkt gespeichert werden kann (echte Felder):
{
"code": 200,
"msg": "OK",
"data": {
"question": {
"id": 43612,
"title": "Tampa sulphur price in June 2026?",
"public_page_derived": true
},
"methods_count": 1,
"methods": [
{
"method": "recency_weighted",
"forecaster_count": 54,
"center": 0.52,
"lower": 0.37,
"upper": 0.66,
"history_points": 25
}
]
}
}
Prognose-Verlauf, Optionen für Multiple-Choice-Fragen und Fragemetadaten hinter demselben Key:
history = requests.get(f"{base}/question/43612/forecast-history", headers=h,
params={"max_points": 500}).json()["data"]
options = requests.get(f"{base}/question/43731/options", headers=h).json()["data"]
metadata = requests.get(f"{base}/question/43731/metadata", headers=h).json()["data"]
Feed-artige Pulls zum Durchsuchen ohne konkrete Fragen-ID — nach Kategorie, nach Turnier oder die Kommentar-Feeds der Seite:
category_qs = requests.get(f"{base}/category/artificial-intelligence/questions",
headers=h, params={"limit": 10}).json()["data"]
tournament_qs = requests.get(f"{base}/tournament/ai-benchmarking/questions",
headers=h, params={"limit": 10}).json()["data"]
top_comments = requests.get(f"{base}/top-comments", headers=h, params={"limit": 10}).json()["data"]
Jede Antwort enthält source_url und fetched_at, also speicher den Pull-Zeitstempel mit jeder Zeile neben den Prognosewerten — eine Community-Prognose ist ein gleitender Durchschnitt, und die Zahl von gestern ist nicht die von heute.
Was du sammeln kannst
- Fragen — Titel, Status (offen/geschlossen/aufgelöst), Fragetyp (binär, numerisch, Multiple-Choice) sowie Prognostiker-/Kommentarzahlen, gelistet oder per ID.
- Prognose-Aggregate — die reputationsgewichtete, aktualitätsgewichtete Wahrscheinlichkeit der Community, mit Konfidenzgrenzen und Prognostiker-Anzahl, pro Frage.
- Prognose-Verlauf — Zeitreihenpunkte, die zeigen, wie sich die aggregierte Wahrscheinlichkeit bewegt hat, mit konfigurierbarer Punktdichte.
- Optionen und Metadaten — Wahrscheinlichkeiten pro Option für Multiple-Choice- und Gruppenfragen, plus Fragemetadaten wie Gruppierungsvariablen.
- Kategorie-, Projekt- und Turnier-Feeds — Fragen gefiltert nach Themenbereich, Metaculus-Projekt oder Prognoseturnier.
- Kommentare — der Kommentar-Feed der Seite und wöchentliche Top-Kommentare pro Frage.
Grenzen
- Die Nutzungsbedingungen, nicht der API-Zugang, sind das eigentliche Nadelöhr. Lesezugriffe sind weitgehend offen, aber das Scrapen der gerenderten Seite außerhalb der API sowie das Trainieren von KI-/ML-Modellen mit Metaculus-Inhalten brauchen beide Aufmerksamkeit, bevor man etwas Nachgelagertes baut — lies die Bedingungen direkt.
- Crowd-Wahrscheinlichkeiten, keine Gewissheiten. Eine Metaculus-Community-Prognose ist eine reputationsgewichtete Schätzung, keine Garantie — nützlich als Kalibrierungssignal, nicht als Tatsachenprognose.
- Es wechselt kein Geld den Besitzer. Anders als bei Kalshi oder Polymarket gibt es kein Bid/Ask, kein Volumen und keinen finanziellen Anreiz hinter einer Metaculus-Prognose — Genauigkeit ist reputationsbasiert, was beeinflusst, wie man das Signal gewichten sollte.
- Schema ist eine funktionierende API, kein versioniertes Produkt. Feldformate in Metaculus' eigener
/api2/können sich zwischen Seiten-Releases ändern; behandle sie als Research-API, nicht als stabilen Vertrag. - Keine Anlageberatung. Speicher
fetched_atbei jedem Pull und behandle Werte als Input für Prognoseforschung, niemals als Trading- oder Finanzsignale — es gibt von vornherein keine Position, die man auf Metaculus einnehmen könnte.
Wo das eingesetzt wird
- Prognose- und Kalibrierungs-Dashboards — verfolgen, wie sich die implizierte Wahrscheinlichkeit einer Community für eine Frage über die Zeit bis zur Auflösung bewegt.
- Crowd-vs-Markt-Vergleich — Metaculus' Prognose neben Kalshis oder Polymarkets marktimplizierte Quoten für vergleichbare reale Ereignisse stellen.
- KI-Prognose-Benchmarks — die Wahrscheinlichkeitsschätzungen eines LLM gegen Metaculus' aufgelösten Fragenverlauf evaluieren.
- Forschung und Journalismus — eine belegte, reputationsgewichtete Wahrscheinlichkeit zitieren statt die Vermutung eines einzelnen Experten.
Sources
Loslegen mit dem Sammeln
Probier es erst kostenlos aus: Jag eine beliebige öffentliche URL durch den Free Web Scraper oder prüf mit dem Anti-Bot Checker, ob eine Seite Bots blockiert — ohne Anmeldung.
Teste den Questions-Endpoint im Playground, prüf das Schema in den API docs und schau dir das pricing an. Metaculus ist der nicht-monetäre Blick auf crowd-implizierte Wahrscheinlichkeit; für die Handelsmarkt-Seite derselben Idee deckt how to scrape Kalshi eine regulierte Börse mit echten Yes/No-Preisen ab, und how to scrape CoinGecko deckt Kryptomärkte ab — beide nützlich, um sie neben eine Metaculus-Prognose für dasselbe Ereignis zu stellen. Für die rechtlichen Grundlagen dazu siehe is web scraping legal.
Häufig gestellte Fragen
Ist Metaculus ein Prognosemarkt wie Kalshi oder Polymarket?
Nein. Metaculus ist eine Prognose-Community, kein Handelsmarkt — Prognostiker reichen Wahrscheinlichkeitsschätzungen zu realen Fragen ein und verdienen Reputationspunkte für Genauigkeit, aber es wird kein Geld gesetzt oder ausgezahlt. Anders als bei Kalshi oder Polymarket gibt es kein Orderbuch, keinen Bid/Ask-Preis und keine Abrechnung in Dollar.
Hat Metaculus eine offizielle API?
Ja. Metaculus betreibt seine eigene API unter metaculus.com/api2/, und die meisten Lese-Endpoints — Fragen, Kommentare, Kategorien, Projekte — funktionieren ohne API-Key. Authentifizierte Aktionen wie das Einreichen einer Prognose benötigen ein Token, das Metaculus auf Anfrage über api-requests@metaculus.com ausstellt.
Ist es legal, Metaculus zu scrapen?
Metaculus' Nutzungsbedingungen verbieten das Scraping der Seite mit automatisierten Mitteln (Bots, Skripte, Crawler) außerhalb der eigenen API, erlauben aber ausdrücklich automatisierte Nutzung über diese API. Die Bedingungen untersagen separat, Metaculus-Inhalte ohne vorherige schriftliche Zustimmung zum Trainieren oder Entwickeln von KI-/ML-Modellen zu nutzen. Dies ist keine Rechtsberatung — lesen Sie die Bedingungen direkt, bevor Sie etwas Kommerzielles bauen.
Welche Daten kann man von Metaculus erhalten?
Fragen (Titel, Status, Fragetyp, Prognostiker- und Kommentaranzahl), Prognose-Aggregate (Community-Wahrscheinlichkeit mit Konfidenzgrenzen), Prognose-Verlauf über die Zeit, Wahrscheinlichkeiten pro Option für Multiple-Choice-Fragen, Kategorie-/Projekt-/Turnier-Feeds sowie Kommentare.
Veröffentlicht Metaculus ein API-Rate-Limit?
Metaculus veröffentlicht keine feste Requests-pro-Minute-Zahl für seine API, wie es manche Plattformen tun. Intensives unauthentifiziertes Polling kann trotzdem gedrosselt werden, also bei 429-Antworten zurückschalten und die Pull-Frequenz vernünftig halten, statt ein unbegrenztes Budget anzunehmen.
Wie unterscheidet sich eine Metaculus-Prognose von einem Kalshi-Marktpreis?
Ein Kalshi-"Yes"-Preis ist eine marktimplizierte Wahrscheinlichkeit, die durch echtes Geld gedeckt ist — Trader gewinnen oder verlieren je nach Ausgang. Eine Metaculus-Community-Prognose ist ein reputationsgewichtetes Aggregat von Wahrscheinlichkeitsschätzungen ohne finanziellen Einsatz dahinter. Beide sind nützliche Wahrscheinlichkeitssignale, stammen aber aus unterschiedlichen Anreizstrukturen.
Was ist der einfachste Weg, Metaculus-Daten neben anderen Plattformen abzurufen?
Metaculus' eigene API deckt die meisten Lesezugriffe ab, aber wenn Sie zusätzlich Kalshi, Polymarket oder andere Markt-/Prognosedaten tracken, normalisiert eine strukturierte API wie Crawlora Metaculus-Fragen, -Prognosen und -Verlauf in dasselbe Schema und dieselbe Auth (x-api-key) wie jede andere Plattform im Katalog.