Skip to main content

Overview

The Questions endpoints allow you to retrieve detailed information about individual questions, resolve/unresolve questions, and access question metadata. Questions are the core forecasting units on Metaculus.
Questions are typically accessed through Posts. Use the /api/posts/ endpoint to retrieve questions with their surrounding context.

Get Question Details

curl -X GET "https://www.metaculus.com/api/questions/3530/" \
  -H "Authorization: Token YOUR_TOKEN"
GET /api/questions/{questionId}/ Retrieve detailed information about a specific question by its ID.

Path Parameters

questionId
integer
required
The unique identifier of the question

Query Parameters

with_cp
boolean
default:"false"
Include community predictions (aggregations) in the response
minimize
boolean
default:"true"
Minimize the aggregation data by reducing the number of historical data points

Response Fields

id
integer
Unique identifier for the question
title
string
The question title
description
string
Full description of the question in markdown format
type
string
Question type. One of: binary, multiple_choice, numeric, discrete, date
status
string
Current question status: upcoming, open, closed, or resolved
created_at
string (datetime)
ISO 8601 timestamp when the question was created
open_time
string (datetime)
When the question opened for forecasting
scheduled_close_time
string (datetime)
When the question is scheduled to close
actual_close_time
string (datetime)
When the question actually closed (may differ from scheduled)
scheduled_resolve_time
string (datetime)
When the question is scheduled to resolve
actual_resolve_time
string (datetime)
When the question actually resolved
resolution
string
The resolved value. Format depends on question type:
  • Binary: "yes" or "no"
  • Multiple choice: The selected option string
  • Numeric/Date/Discrete: A numeric value as string
  • Unsuccessful: "annulled" or "ambiguous"
resolution_criteria
string
Criteria used to resolve the question
fine_print
string
Additional clarifications and edge cases
post_id
integer
ID of the post containing this question

Type-Specific Fields

Binary Questions

possibilities
object
Contains type: "binary"

Multiple Choice Questions

options
array
Current list of answer options
all_options_ever
array
All options that have ever existed for this question
options_history
array
Array of [timestamp, options_array] pairs showing when options changed

Continuous Questions (Numeric, Date, Discrete)

scaling
object
Scaling information for the question
range_min
number
Lower boundary of the input range
range_max
number
Upper boundary of the input range
zero_point
number
Only present for logarithmically scaled questions
open_upper_bound
boolean
Whether the upper bound is open
open_lower_bound
boolean
Whether the lower bound is open
inbound_outcome_count
integer
Number of possible outcomes within the range (default: 200)
continuous_range
array
List of real-value locations where the CDF is evaluated (201 values)
unit
string
The unit of measurement (e.g., ”$”, “people”, “degrees C”)
open_upper_bound
boolean
Whether probability mass can extend beyond the upper bound
open_lower_bound
boolean
Whether probability mass can extend below the lower bound

Community Predictions (with_cp=true)

aggregations
object
Contains community prediction aggregations using different methods
recency_weighted
object
Time-weighted average of user predictions
latest
object
Most recent aggregation snapshot
start_time
number
Unix timestamp when this aggregation started
forecast_values
array
For continuous questions: 201-value CDF array. For binary: single probability.
forecaster_count
integer
Number of forecasters included in this aggregation
interval_lower_bounds
array
Lower bounds of prediction intervals (for continuous questions)
centers
array
Center points of prediction intervals
interval_upper_bounds
array
Upper bounds of prediction intervals
history
array
Array of historical aggregation snapshots (same structure as latest)
score_data
object
Scoring metrics for this aggregation method
unweighted
object
Simple average of user predictions (same structure as recency_weighted)
metaculus_prediction
object
Metaculus’s proprietary prediction algorithm (same structure as recency_weighted)

Resolve Question

curl -X POST "https://www.metaculus.com/api/questions/3530/resolve/" \
  -H "Authorization: Token YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "resolution": "yes",
    "actual_resolve_time": "2024-01-15T10:00:00Z"
  }'
POST /api/questions/{questionId}/resolve/ Resolve a question with a final outcome. Requires curator or admin permissions.

Path Parameters

questionId
integer
required
The unique identifier of the question to resolve

Request Body

resolution
string
required
The resolution value:
  • Binary: "yes" or "no"
  • Multiple choice: One of the option strings
  • Numeric/Date/Discrete: A numeric value as string
  • Unsuccessful: "annulled" or "ambiguous"
actual_resolve_time
string (datetime)
required
ISO 8601 timestamp when the resolution became known

Response

post_id
integer
The ID of the post containing the resolved question
Only users with curator or admin permissions can resolve questions.

Unresolve Question

curl -X POST "https://www.metaculus.com/api/questions/3530/unresolve/" \
  -H "Authorization: Token YOUR_TOKEN"
POST /api/questions/{questionId}/unresolve/ Remove the resolution from a question, reopening it for forecasting or re-resolution.

Path Parameters

questionId
integer
required
The unique identifier of the question to unresolve

Response

post_id
integer
The ID of the post containing the unresolved question
Only users with curator or admin permissions can unresolve questions.

Build docs developers (and LLMs) love