Skip to main content

Overview

Projects in Metaculus organize questions into curated collections. There are several types:
  • Tournaments - Competitive forecasting events with leaderboards and prizes
  • Categories - Topic-based groupings (e.g., “Health & Pandemics”, “AI”)
  • Topics - High-level thematic areas
  • Communities - User-created private or public question collections
  • Site Main - The main Metaculus community
Projects are used to filter posts and track specialized leaderboards.

List Tournaments

GET /api/projects/tournaments/ Retrieve a list of all active tournaments.

Response

array
Array of tournament objects

Tournament Object

integer
Unique tournament identifier
string
Always "tournament"
string
Tournament name
string
URL-friendly slug used in filters
string
Total prize pool amount
string (datetime)
When the tournament starts
string (datetime)
When the tournament ends
boolean
Whether the tournament is currently active
string
Current user’s permission: forecaster or viewer
string
Default permission for new users
string
Visibility level: normal, not_in_main_feed, or unlisted

Get Tournament by Slug

GET /api/projects/tournaments/{slug}/ Retrieve detailed information about a specific tournament.

Path Parameters

string
required
The tournament slug

List Categories

GET /api/projects/categories/ Retrieve all available categories.

Response

array
Array of category objects

Category Object

integer
Unique category identifier
string
Category name (e.g., “Health & Pandemics”)
string
URL-friendly slug (e.g., “health-pandemics”)
string
Category description

List Topics

GET /api/projects/topics/ Retrieve all available topics.

Response

array
Array of topic objects

Topic Object

integer
Unique topic identifier
string
Topic name
string
URL-friendly slug
string
Emoji icon for the topic
string
Section this topic belongs to

List Communities

GET /api/projects/communities/ Retrieve all communities visible to the current user.

Response

Returns array of project objects with type: "community".

Get Community by Slug

GET /api/projects/communities/{slug}/ Retrieve detailed information about a specific community.

Path Parameters

string
required
The community slug

Get Project Members

GET /api/projects/{projectId}/members/ Retrieve members of a project (typically used for communities and tournaments).

Path Parameters

integer
required
The project ID

Response

array
Array of member objects
object
User information
integer
User ID
string
Username
string
User’s permission level in this project
string
User’s role (e.g., “admin”, “member”)

Subscribe to Project

POST /api/projects/{projectId}/subscribe/ Subscribe to notifications from a project.

Path Parameters

integer
required
The project ID to subscribe to

Unsubscribe from Project

POST /api/projects/{projectId}/unsubscribe/ Unsubscribe from project notifications.

Path Parameters

integer
required
The project ID to unsubscribe from

Download Project Data

GET /api/projects/{projectId}/download-data/ Download all question and forecast data for a project as a ZIP file containing CSVs.

Path Parameters

integer
required
The project ID

Query Parameters

boolean
default:"false"
Include comment data in the export
boolean
default:"false"
Include scoring data in the export

Response

Returns a ZIP file containing:
  • question_data.csv - Question metadata
  • forecast_data.csv - All forecasts and aggregations
  • comment_data.csv - Comments (if requested)
  • score_data.csv - Scores (if requested)
  • README.txt - Data dictionary
Access RestrictionsFull project data downloads are only available to:
  • Site administrators
  • Project administrators
  • Whitelisted users
Contact Metaculus if you need bulk data access for research purposes.

Get Site Main Project

GET /api/projects/site_main/ Retrieve information about the main Metaculus community project.

Usage Examples

Filter Posts by Tournament

Filter Posts by Category