Metaculus API endpoint
Returns Metaculus question rows for one public tournament, filtered by its slug. A slug that does not exist returns 404.
/metaculus/tournament/{slug}/questionsPath parameters:
slug: required Metaculus tournament slug, for example quarterly-cup. Both tournament and question-series slugs are accepted, as is a numeric project id.Query parameters:
limit: rows to return. Defaults to 10; maximum 25.Notable response behavior:
data.feed is tournament.data.questions[].projects[].slug carries it.404, not an unfiltered feed.200 with an empty data.questions.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| title | 20 | |
| slug | 20 | |
| url | 20 | metaculus.com |
| status | 20 | |
| comment_count | 20 | 1 to 61, median 5 |
| open_time | 20 | 2025-02-17 to 2025-04-12 |
| published_at | 20 | 2025-02-14 to 2025-04-12 |
| edited_at | 20 | 2025-12-02 to 2026-02-01 |
| projects | 20 | median 1 entry |
| public_page_derived | 20 | |
| question_id | 19 | |
| question_title | 19 | |
| resolved | 19 | true in 19 of 19 |
| question_type | 19 | |
| forecaster_count | 19 | 25 to 141, median 64 |
| forecasts_count | 19 | 80 to 865, median 425 |
| latest_forecast_center | 19 | 0 to 1, median 0.19 |
| latest_forecast_lower | 19 | 0 to 0.99, median 0.15 |
| latest_forecast_upper | 19 | 0 to 1, median 0.23 |
| scheduled_close_time | 19 | 2025-03-20 to 2025-03-31 |
| scheduled_resolve_time | 19 | 2025-03-24 to 2025-04-08 |
| categories | 18 | median 1 entry |
| unit | 4 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Metaculus tournament slug | quarterly-cup | |
| limit | integer | No | Rows to return, default 10, max 25 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/metaculus/tournament/quarterly-cup/questions?limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"limit": 2,
"feed": "tournament",
"questions": [
{
"id": 43612,
"title": "Tampa sulphur price in June 2026?",
"public_page_derived": true
}
]
}
}Request schema
No body schema
Response schema
#/definitions/metaculus.questionsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | metaculus.QuestionsResponse | No | ||||
| data.feed | string | No | questions | Feed the questions came from, for example `questions`. | ||
| data.fetched_at | string | No | 2026-06-07T14:00:00Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.limit | integer | No | 10 | Maximum number of questions requested. | ||
| data.questions | array | No | Questions in the feed, one item per question. | |||
| data.questions[].categories | array | No | Categories the question is filed under. | |||
| data.questions[].categories[].emoji | string | No | 💼 | Emoji shown next to the category or project on Metaculus. | ||
| data.questions[].categories[].id | integer | No | 3698 | Metaculus id of the category or project. | ||
| data.questions[].categories[].name | string | No | Economy & Business | Display name, for example `Economy & Business`. | ||
| data.questions[].categories[].slug | string | No | economy-business | URL slug, for example `economy-business`. | ||
| data.questions[].categories[].type | string | No | category | Kind of project, for example `category` or `tournament`. | ||
| data.questions[].comment_count | integer | No | 16 | Number of comments on the question. | ||
| data.questions[].edited_at | string | No | 2026-06-07T13:14:34Z | Time the question was last edited, in UTC (RFC 3339). | ||
| data.questions[].forecaster_count | integer | No | 54 | Number of forecasters who have forecast on the question. | ||
| data.questions[].forecasts_count | integer | No | 149 | Total number of forecasts submitted on the question. | ||
| data.questions[].id | integer | No | 43612 | Metaculus post id of the question. Use it with the question endpoints. | ||
| data.questions[].latest_forecast_center | number | No | 0.52 | Central value of the latest community forecast, as Metaculus reports it. | ||
| data.questions[].latest_forecast_lower | number | No | 0.37 | Lower bound of the latest community forecast interval. | ||
| data.questions[].latest_forecast_upper | number | No | 0.66 | Upper bound of the latest community forecast interval. | ||
| data.questions[].open_time | string | No | 2026-06-01T17:00:00Z | Time the question opened for forecasts, in UTC (RFC 3339). | ||
| data.questions[].projects | array | No | Tournaments and projects the question belongs to. | |||
| data.questions[].projects[].emoji | string | No | 💼 | Emoji shown next to the category or project on Metaculus. | ||
| data.questions[].projects[].id | integer | No | 3698 | Metaculus id of the category or project. | ||
| data.questions[].projects[].name | string | No | Economy & Business | Display name, for example `Economy & Business`. | ||
| data.questions[].projects[].slug | string | No | economy-business | URL slug, for example `economy-business`. | ||
| data.questions[].projects[].type | string | No | category | Kind of project, for example `category` or `tournament`. | ||
| data.questions[].public_page_derived | boolean | No | true | Always `true`: the values are those shown publicly on Metaculus, without a login. | ||
| data.questions[].published_at | string | No | 2026-05-29T15:33:53Z | Time the question was published, in UTC (RFC 3339). | ||
| data.questions[].question_id | integer | No | 43609 | Metaculus id of the underlying question, which can differ from the post `id`. | ||
| data.questions[].question_title | string | No | What will be the World Bank monthly price of liquid sulphur in June 2026? | Full wording of the question. | ||
| data.questions[].question_type | string | No | numeric | Question type, for example `binary`, `numeric` or `multiple_choice`. | ||
| data.questions[].resolved | boolean | No | false | Whether the question has been resolved. | ||
| data.questions[].scheduled_close_time | string | No | 2026-07-15T00:00:00Z | Time the question is scheduled to close to forecasts, in UTC (RFC 3339). | ||
| data.questions[].scheduled_resolve_time | string | No | 2026-09-07T00:00:00Z | Time the question is scheduled to resolve, in UTC (RFC 3339). | ||
| data.questions[].slug | string | No | tampa-sulphur-price-in-june-2026 | URL slug of the question. | ||
| data.questions[].status | string | No | open | Question status on Metaculus, for example `open`. | ||
| data.questions[].title | string | No | Tampa sulphur price in June 2026? | Question title as shown on Metaculus. | ||
| data.questions[].unit | string | No | USD/metric ton | Unit of the answer for numeric questions, for example `USD/metric ton`. | ||
| data.questions[].url | string | No | https://www.metaculus.com/questions/43612/tampa-sulphur-price-in-june-2026/ | Metaculus page URL of the question. | ||
| data.source_url | string | No | https://www.metaculus.com/questions/ | URL the data was read from. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/metaculus/tournament/quarterly-cup/questions?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"