Tony Wang7 min de lecturaCómo scrapear Metaculus en 2026 (API y Python)
Metaculus ofrece una API casi sin key para preguntas y predicciones, pero sus Términos de Uso prohíben scrapear el sitio en sí. Así se usa.
Metaculus ya mantiene su propia API oficial, y la mayor parte de lo que querrías leer — preguntas, agregados de predicción, comentarios, categorías — está disponible sin API key. Así que la respuesta honesta a "cómo scrapear Metaculus" en 2026 es en gran medida la misma que para Kalshi: usa la API propia de la plataforma para las lecturas, y no scrapees el sitio renderizado encima de eso. La diferencia que importa aquí es lo que Metaculus realmente es. Es una comunidad de predicción, no un mercado de trading — los forecasters envían estimaciones de probabilidad sobre preguntas del mundo real y ganan puntos de reputación por acertar, pero no se apuesta ni se paga dinero. Piénsalo como el primo no monetario de Kalshi: el mismo concepto de "probabilidad implícita por la multitud", sin bid/ask, sin liquidación en dólares. Esta guía cubre la API propia de Metaculus, sus Términos de Uso y cuándo vale la pena sumar una API estructurada.
¿Por qué scrapear datos de Metaculus?
- Investigación de predicción colectiva — la predicción comunitaria de Metaculus es un agregado ponderado por reputación sobre miles de preguntas resueltas, útil como benchmark de calibración para otros métodos de predicción.
- Comparar predicciones con encuestas y pronósticos de expertos — pon la probabilidad colectiva de Metaculus junto a encuestas políticas, encuestas de expertos o las cuotas implícitas por el mercado de Kalshi/Polymarket sobre el mismo evento.
- Investigación de precisión y calibración de predicciones — Metaculus rastrea preguntas resueltas con resultados conocidos, exactamente el tipo de dataset que necesita la investigación de calibración y superforecasting.
- Benchmarks de predicción con IA/LLM — Metaculus organiza torneos públicos de predicción con IA, y los datos históricos de preguntas/predicciones son un conjunto natural de benchmark para evaluar las estimaciones de probabilidad de un LLM frente a una multitud humana.
- Uso periodístico y de investigación — citar una probabilidad en vivo y con fuente sobre una pregunta abierta en lugar de un número de encuesta estático.
¿Es legal scrapear Metaculus?
Opción 1: la propia API de Metaculus (y sus límites)
La propia API /api2/ de Metaculus es lo primero a lo que recurrir, y es más abierta que la mayoría de las plataformas de esta serie:
curl "https://www.metaculus.com/api2/questions/?limit=10"
No se necesita API key para la mayoría de las lecturas. Lo que cubre, y dónde aún tiene límites:
- Las lecturas son en gran parte sin key, las escrituras necesitan un token. Listar y obtener preguntas, comentarios, categorías y proyectos funciona sin autenticación. Enviar una predicción, publicar un comentario o llamar a endpoints específicos del usuario requiere un token de API — Metaculus los emite a petición vía
[email protected], o mediante autenticación por cookie/sesión si estás construyendo sobre una cuenta con sesión iniciada. - No hay una cifra publicada de rate limit self-serve. Metaculus no publica un número fijo de solicitudes por minuto como hacen algunas APIs; el polling intenso sin autenticar aun así puede recibir throttling o bloqueo, así que reduce la frecuencia ante
429y mantén un ritmo de peticiones razonable. - El esquema es una API de investigación en funcionamiento, no una API de producto estable.
/api2/surgió del propio backend en Django de Metaculus en lugar de un contrato público versionado, así que los nombres de campos y las formas de paginación pueden cambiar entre releases — espera tener que revisar las respuestas periódicamente en lugar de tratar el esquema como congelado. - Los términos restringen el uso posterior, no las lecturas en sí. La restricción de entrenamiento de IA/ML mencionada arriba es la que hay que tener en cuenta si estás construyendo un benchmark o dataset para entrenar modelos en lugar de investigación puntual.
Opción 2: hacerlo tú mismo en Python (y por qué casi nunca hace falta)
Como la propia API JSON de Metaculus ya sirve lecturas limpias y estructuradas, hay pocos motivos para parsear las páginas de preguntas renderizadas de metaculus.com — y hacerlo evitaría precisamente la excepción de la API en la que se basan los Términos de Uso. Un pull mínimo hecho a mano contra la API oficial se ve así:
import requests
r = requests.get(
"https://www.metaculus.com/api2/questions/",
params={"limit": 10, "status": "open"},
).json()
questions = r["results"]
Esto funciona bien para un único script contra una plataforma. Los compromisos aparecen en cuanto Metaculus es una de varias fuentes de predicción o datos de mercado que rastreas:
- El esquema de Metaculus es el suyo propio — los nombres de campos, los tipos de pregunta (binaria, numérica, opción múltiple) y la paginación son específicos de
/api2/, una integración aparte que hay que mantener junto con todo lo demás que extraigas. - No hay autenticación ni normalización unificadas entre fuentes. Si también estás extrayendo Kalshi, Polymarket o datos de mercado tradicionales, cada una tiene su propio cliente, esquema y comportamiento de throttling que conciliar.
- Sigues siendo responsable del polling, el almacenamiento y el manejo de cambios — Metaculus no deduplica, marca con timestamp ni reintenta tus pulls, y un cambio de esquema de su lado se convierte en un bug tuyo que descubrir.
Opción 3: una API estructurada de Metaculus
El valor añadido de una API de scraping de Metaculus no está en desbloquear datos que Metaculus oculta — la mayoría ya está abierta — sino en un esquema normalizado único y una sola x-api-key entre Metaculus y cualquier otra plataforma del catálogo, de modo que los datos de predicción conviven con los datos de mercado sin mantener un segundo cliente. Listar preguntas:
curl "https://api.crawlora.net/api/v1/metaculus/questions?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"
Preguntas, predicciones e historial en 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"]
La respuesta de predicciones de una pregunta es JSON normalizado que puedes guardar directamente (campos reales):
{
"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
}
]
}
}
Historial de predicciones, opciones para preguntas de opción múltiple y metadatos de la pregunta detrás de la misma 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"]
Pulls estilo feed para explorar sin un ID de pregunta concreto — por categoría, por torneo o los feeds de comentarios del sitio:
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"]
Toda respuesta incluye source_url y fetched_at, así que guarda el timestamp del pull junto a cada valor de predicción — una predicción comunitaria es un promedio móvil, y el número de ayer no es el de hoy.
Qué puedes recopilar
- Preguntas — título, estado (abierta/cerrada/resuelta), tipo de pregunta (binaria, numérica, opción múltiple) y número de forecasters/comentarios, listadas o por ID.
- Agregados de predicción — la probabilidad de la comunidad ponderada por actualidad, con límites de confianza y número de forecasters, por pregunta.
- Historial de predicciones — puntos de serie temporal que muestran cómo se movió la probabilidad agregada, con densidad de puntos configurable.
- Opciones y metadatos — probabilidades por opción para preguntas de opción múltiple y de grupo, más metadatos de la pregunta como variables de agrupación.
- Feeds de categoría, proyecto y torneo — preguntas filtradas por área temática, proyecto de Metaculus o torneo de predicción.
- Comentarios — el feed de comentarios del sitio y los mejores comentarios semanales por pregunta.
Limitaciones
- Los Términos de Uso, no el acceso a la API, son la verdadera barrera. Las lecturas son en gran parte abiertas, pero scrapear el sitio renderizado fuera de la API, y entrenar modelos de IA/ML con contenido de Metaculus, requieren atención antes de construir nada río abajo — lee los términos directamente.
- Probabilidades colectivas, no certezas. Una predicción comunitaria de Metaculus es una estimación ponderada por reputación, no una garantía — útil como señal de calibración, no como predicción de un hecho.
- No cambia dinero de manos. A diferencia de Kalshi o Polymarket, no hay bid/ask, ni volumen, ni incentivo financiero detrás de una predicción de Metaculus — la precisión es reputacional, lo que cambia cómo deberías ponderar la señal.
- El esquema es una API en funcionamiento, no un producto versionado. Las formas de los campos en la propia
/api2/de Metaculus pueden cambiar entre releases del sitio; trátala como una API de investigación, no como un contrato estable. - No es asesoría de inversión. Guarda
fetched_atcon cada pull y trata los valores como insumos de investigación de predicción, nunca como señales de trading o financieras — de entrada no hay ninguna posición que tomar sobre Metaculus.
Dónde se usa esto
- Dashboards de predicción y calibración — rastrear cómo se mueve la probabilidad implícita de una comunidad sobre una pregunta a medida que se acerca a su resolución.
- Comparación de multitud vs. mercado — poner la predicción de Metaculus junto a las cuotas implícitas por el mercado de Kalshi o Polymarket sobre eventos del mundo real comparables.
- Benchmarks de predicción con IA — evaluar las estimaciones de probabilidad de un LLM frente al historial de preguntas resueltas de Metaculus.
- Investigación y periodismo — citar una probabilidad con fuente y ponderada por reputación en lugar de la conjetura de un solo experto.
Fuentes
Empieza a recopilar
Pruébalo primero, gratis: pasa cualquier URL pública por el Free Web Scraper, o comprueba si un sitio bloquea bots con el Anti-Bot Checker — sin registro.
Prueba el endpoint de preguntas en el Playground, revisa el esquema en los API docs y consulta los precios. Metaculus es la lectura no monetaria de la probabilidad implícita por la multitud; para el lado del mercado de trading de la misma idea, cómo scrapear Kalshi cubre un exchange regulado con precios yes/no reales, y cómo scrapear CoinGecko cubre los mercados cripto — ambos útiles para poner junto a una predicción de Metaculus sobre el mismo evento. Consulta el caso de uso más amplio de datos de mercados de predicción para ver cómo encajan estas fuentes entre sí. Para las bases legales de todo esto, consulta ¿es legal el web scraping?.
Preguntas frecuentes
¿Metaculus es un mercado de predicción como Kalshi o Polymarket?
No. Metaculus es una comunidad de predicción, no un mercado de trading — los forecasters envían estimaciones de probabilidad sobre preguntas del mundo real y ganan puntos de reputación por acertar, pero no se apuesta ni se paga dinero. A diferencia de Kalshi o Polymarket, no hay libro de órdenes, ni precio bid/ask, ni liquidación en dólares.
¿Metaculus tiene una API oficial?
Sí. Metaculus mantiene su propia API en metaculus.com/api2/, y la mayoría de los endpoints de lectura — preguntas, comentarios, categorías, proyectos — funcionan sin API key. Las acciones autenticadas, como enviar una predicción, necesitan un token que Metaculus emite a petición vía [email protected].
¿Es legal scrapear Metaculus?
Los Términos de Uso de Metaculus prohíben scrapear el sitio con medios automatizados (bots, scripts, crawlers) fuera de su propia API, pero permiten expresamente el uso automatizado a través de esa API. Los términos prohíben además, por separado, usar contenido de Metaculus sin permiso previo por escrito para entrenar o desarrollar modelos de IA/ML. Esto no es asesoría legal — lee los términos directamente antes de construir algo comercial.
¿Qué datos se pueden obtener de Metaculus?
Preguntas (título, estado, tipo de pregunta, número de forecasters y comentarios), agregados de predicción (probabilidad de la comunidad con límites de confianza), historial de predicciones a lo largo del tiempo, probabilidades por opción en preguntas de opción múltiple, feeds por categoría/proyecto/torneo, y comentarios.
¿Metaculus publica un rate limit de API?
Metaculus no publica una cifra fija de solicitudes por minuto para su API, como sí hacen algunas plataformas. El polling intenso sin autenticar aun así puede recibir throttling, así que reduce la frecuencia ante respuestas 429 y mantén un ritmo de peticiones razonable en lugar de asumir un presupuesto ilimitado.
¿En qué se diferencia una predicción de Metaculus de un precio de mercado de Kalshi?
Un precio "yes" de Kalshi es una probabilidad implícita por el mercado y respaldada por dinero real — los traders ganan o pierden según el resultado. Una predicción comunitaria de Metaculus es un agregado ponderado por reputación de estimaciones de probabilidad sin ningún interés financiero detrás. Ambas son señales de probabilidad útiles, pero surgen de estructuras de incentivos distintas.
¿Cuál es la forma más sencilla de obtener datos de Metaculus junto con otras plataformas?
La propia API de Metaculus cubre la mayoría de las lecturas, pero si además rastreas Kalshi, Polymarket u otros datos de mercado/predicción, una API estructurada como Crawlora normaliza las preguntas, predicciones e historial de Metaculus en el mismo esquema y la misma autenticación (x-api-key) que cualquier otra plataforma del catálogo.