Metaculus API endpoint
Returns Metaculus question rows for the questions whose recent public comments collected the highest vote scores over roughly the last week. Comment bodies are not exposed.
/metaculus/top-commentsReturns Metaculus question rows for the questions whose recent public comments collected the highest vote scores over roughly the last week. This endpoint does not expose raw comment bodies.
Query parameters:
limit: rows to return. Defaults to 10; maximum 25.topic: optional Metaculus topic slug, for example technology-ai. Accepted
for compatibility; the comments-derived feed is not filtered by topic.Notable response behavior:
data.feed is weekly_top_comments.data.questions contains the questions referenced by the last week's public
comments, ranked by summed comment vote score.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| question_id | 12 | |
| title | 20 | median 108 characters |
| question_title | 12 | median 128 characters |
| slug | 20 | |
| url | 20 | metaculus.com |
| status | 20 | |
| question_type | 12 | |
| comment_count | 20 | 1 to 676, median 12 |
| forecaster_count | 19 | 3 to 1,781, median 36 |
| forecasts_count | 19 | 5 to 5,851, median 188 |
| open_time | 20 | 2020-01-18 to 2026-10-15 |
| scheduled_close_time | 19 | 2026-10-21 to 2200-01-01 |
| scheduled_resolve_time | 19 | 2026-11-06 to 2200-01-01 |
| published_at | 20 | 2020-01-18 to 2026-10-12 |
| edited_at | 20 | 2026-10-12 to 2026-10-13 |
| categories | 13 | median 1 entry |
| projects | 20 | median 1 entry |
| public_page_derived | 20 | |
| latest_forecast_center | 10 | 0.05 to 1, median 0.3 |
| latest_forecast_lower | 10 | 0.02 to 1, median 0.28 |
| latest_forecast_upper | 10 | 0.16 to 1, median 0.5 |
| unit | 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| limit | integer | No | Rows to return, default 10, max 25 | ||
| topic | string | No | Optional Metaculus topic slug | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/metaculus/top-comments?limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"limit": 1,
"feed": "weekly_top_comments",
"source_url": "https://www.metaculus.com/questions/?weekly_top_comments=true",
"fetched_at": "2026-06-07T14:00:00Z",
"questions": [
{
"id": 43612,
"title": "Tampa sulphur price in June 2026?",
"comment_count": 16,
"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/top-comments?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"