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

GET /api/questions/{questionId}/ Retrieve detailed information about a specific question by its ID.

Path Parameters

integer
required
The unique identifier of the question

Query Parameters

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

Response Fields

integer
Unique identifier for the question
string
The question title
string
Full description of the question in markdown format
string
Question type. One of: binary, multiple_choice, numeric, discrete, date
string
Current question status: upcoming, open, closed, or resolved
string (datetime)
ISO 8601 timestamp when the question was created
string (datetime)
When the question opened for forecasting
string (datetime)
When the question is scheduled to close
string (datetime)
When the question actually closed (may differ from scheduled)
string (datetime)
When the question is scheduled to resolve
string (datetime)
When the question actually resolved
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"
string
Criteria used to resolve the question
string
Additional clarifications and edge cases
integer
ID of the post containing this question

Type-Specific Fields

Binary Questions

object
Contains type: "binary"

Multiple Choice Questions

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

Continuous Questions (Numeric, Date, Discrete)

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

Community Predictions (with_cp=true)

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

Resolve Question

POST /api/questions/{questionId}/resolve/ Resolve a question with a final outcome. Requires curator or admin permissions.

Path Parameters

integer
required
The unique identifier of the question to resolve

Request Body

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"
string (datetime)
required
ISO 8601 timestamp when the resolution became known

Response

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

Unresolve Question

POST /api/questions/{questionId}/unresolve/ Remove the resolution from a question, reopening it for forecasting or re-resolution.

Path Parameters

integer
required
The unique identifier of the question to unresolve

Response

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