Skip to main content

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
The Posts endpoint is your main entry point for discovering and filtering forecasting questions.

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=closed
boolean
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=aibq3
array
Filter by category slug. Multiple values allowed.Example: ?categories=nuclear&categories=health-pandemics
string
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=numeric

Timestamp Filters

string (datetime)
Posts opened after this timestamp. Also supports: __gte, __lt, __lteExample: ?open_time__gt=2024-01-01
string (datetime)
Posts published after this timestamp. Also supports: __gte, __lt, __lte
string (datetime)
Posts scheduled to resolve after this timestamp. Also supports: __gte, __lt, __lte

Pagination

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 date
  • open_time - Opening date
  • scheduled_close_time - Close date
  • scheduled_resolve_time - Resolution date
  • vote_score - Community votes
  • comment_count - Number of comments
  • forecasts_count - Number of forecasts
  • hotness - Trending score (decay function based on engagement)
  • weekly_movement - Community prediction change
  • divergence - Spread of user predictions
  • score - User performance (requires forecaster_id)
Example: ?order_by=-hotness

Response

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, rejected
string
Curation state: draft, pending, rejected, approved
integer
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 viewer
object
Voting information
integer
Total vote score
integer
Current user’s vote: 1 (upvote), -1 (downvote), or null
object
Associated projects, categories, and tournaments
array
Main site projects
array
Associated tournaments
array
Associated categories
array
Associated tags
object
The primary project for this post
object
Question data (if post contains a single question). See Questions endpoint for full schema.
object
Conditional question data (if post contains conditional questions)
object
The parent condition question (binary)
object
The conditional child question
object
Question for “If Yes” scenario
object
Question for “If No” scenario
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_graph
array
Array of question objects in this group
object
Notebook content (if post is a notebook)
string
The notebook content in markdown
string
Featured image URL

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)

Example Response