Overview
Posts are the primary content units in Metaculus. Each post can contain:- Individual Questions - Single binary, multiple choice, numeric, date, or discrete questions
- Groups of Questions - Multiple related questions displayed together
- Conditional Questions - “If Yes” / “If No” scenario pairs
- Notebooks - Long-form content without forecasting components
List Posts
GET /api/posts/
Retrieve a paginated feed of posts with extensive filtering and sorting options.
Query Parameters
Status & Lifecycle Filters
array
Filter by post status. Multiple values allowed:
open, closed, resolved, upcomingExample: ?statuses=open&statuses=closedboolean
Filter posts suitable for the main feed (excludes drafts, rejected, etc.)
Project & Category Filters
array
Filter by tournament slug. Multiple values allowed.Example:
?tournaments=metaculus-cup&tournaments=aibq3array
Filter by category slug. Multiple values allowed.Example:
?categories=nuclear&categories=health-pandemicsstring
Filter by a single topic slug
string
Filter by community slug
Forecaster Filters
integer
Show only posts where this user has submitted a forecast
integer
Show only posts where this user has NOT submitted a forecast
Question Type Filters
array
Filter by question type:
binary, multiple_choice, numeric, discrete, date, conditional, group_of_questions, notebookExample: ?forecast_type=binary&forecast_type=numericTimestamp Filters
string (datetime)
Posts opened after this timestamp. Also supports:
__gte, __lt, __lteExample: ?open_time__gt=2024-01-01string (datetime)
Posts published after this timestamp. Also supports:
__gte, __lt, __ltestring (datetime)
Posts scheduled to resolve after this timestamp. Also supports:
__gte, __lt, __ltePagination
integer
default:"20"
Number of posts to return per page
integer
default:"0"
Number of posts to skip
Data Inclusion
boolean
default:"false"
Include community predictions. For groups, only returns CP for top 3 subquestions.
boolean
default:"false"
Include full aggregation history. Significantly increases response size.
boolean
default:"false"
Include description, fine_print, and resolution_criteria fields
Sorting
string
Sort posts by field. Prefix with
- for descending order.Options:published_at- Publication dateopen_time- Opening datescheduled_close_time- Close datescheduled_resolve_time- Resolution datevote_score- Community votescomment_count- Number of commentsforecasts_count- Number of forecastshotness- Trending score (decay function based on engagement)weekly_movement- Community prediction changedivergence- Spread of user predictionsscore- User performance (requiresforecaster_id)
?order_by=-hotnessResponse
string
URL for the next page of results, or null if no more pages
string
URL for the previous page of results, or null if on first page
array
Array of post objects
Post Object Structure
integer
Unique post identifier
string
Post title
string
Shortened title for URLs
string
URL-friendly slug
integer
User ID of the post author
string
Username of the post author
string (datetime)
When the post was created
string (datetime)
When the post was published
string (datetime)
When forecasting opened
string (datetime)
When forecasting is scheduled to close
string (datetime)
When the question is scheduled to resolve
string
Current status:
open, closed, resolved, upcoming, draft, pending, rejectedstring
Curation state:
draft, pending, rejected, approvedinteger
Number of comments on this post
integer
Number of unique forecasters
integer
Total number of forecasts submitted
string
Current user’s permission level:
forecaster or viewerobject
object
object
Question data (if post contains a single question). See Questions endpoint for full schema.
object
object
Group of questions data (if post contains multiple questions)
integer
Group identifier
string
Group description
string
How questions in this group will be resolved
string
The variable that changes across questions (e.g., “Date”, “Country”)
string
Visualization type:
multiple_choice_graph or fan_grapharray
Array of question objects in this group
object
Get Post Details
GET /api/posts/{postId}/
Retrieve detailed information about a specific post, including all associated questions and community predictions.
Path Parameters
integer
required
The unique identifier of the post
Response
Returns a single post object with the same structure as the list endpoint, but with more complete data including:- Full community prediction history for all questions
- Complete descriptions and resolution criteria
- All subquestions in groups (not limited to top 3)
