(10/4 Update) Updates to Metaculus API
1
*This document is for you if you use the Metaculus API or if you have a Bot account linked to the* [*AI Forecasting Benchmark Series*](https://www.metaculus.com/aib/)*.*
## October 4th Update
1. We previously announced that the API was forward-compatible and that users could begin testing the new GET request format. Unfortunately, this was in error, and **users will be able to begin using the new format starting Monday, October 7th** after the site rewrite goes live. We very much apologize to any who already attempted to update to the new format. (Note: `predict` requests in the new API will work the same way after the rewrite.)
2. The first week of the Forecasting Benchmark Series will consist of warm-up questions that won't impact your score. This will give participants space to test their bots before scoring begins on **October 15th.**
***
Soon we will launch a new version of the site as part of going [open source](https://github.com/Metaculus/metaculus/)! One of the improvements we’ve made is simplifying and reorganizing some of our GET responses. The only changes that should affect API users are to the Question endpoint. The `predict` endpoint and its associated request structure in the API remain the same. (Existing code that sends data to Metaculus should continue to function without modification.) You can begin using the new GET request format on October 7th when the rewrite goes live.
**If you’re a Forecasting Benchmark Series participant, see the update at the top of this post. Actual scoring begins on October 15th.**
**Highlights:** Resolution criteria, fine print etc are nested under “question,” and aggregate predictions are nested under “question” > “aggregations”
Below are the breaking changes to the Question endpoint, and in some cases suggestions for updates to your flow. Full documentation will be provided in the next few weeks.
1. URL Construction:
* Old: Used "page\_url" directly
* New: Construct using "id"
* Update: Replace `question['page_url']` with `f"https://www.metaculus.com/questions/{question['id']}/"`
2. Author Information:
* Old: "author", "author\_name", "author\_id"
* New: "author\_id", "author\_username"
* Update: Use `question['author_username']` instead of `question['author_name']`
3. Timestamps:
* Old: "created\_time", "publish\_time", "close\_time", "resolve\_time"
* New: "created\_at", "published\_at", "scheduled\_close\_time", "scheduled\_resolve\_time"
* Update: Adjust all timestamp field names accordingly
4. Question Status:
* Old: "active\_state"
* New: "status"
* Update: Map "RESOLVED" to "resolved", "OPEN" to "open", etc.
5. User Permissions:
* Old: Detailed "user\_perms" object
* New: Simple "user\_permission" string
* Update: Replace permission checks like if `question['user_perms']['PREDICT']` with if `question['user_permission'] == 'forecaster'`
6. Predictions:
* Old: "community\_prediction" and "metaculus\_prediction"
* New: Both are nested under "question" > "aggregations." Community prediction is now called "recency\_weighted"
* Update: Access predictions via `question['question']['aggregations']`
7. Project Information:
* Old: "projects" list with detailed info
* New: "projects" object with "question\_series" and "default\_project"
* Update: Adjust project data access accordingly
8. Prediction Counts:
* Old: "number\_of\_forecasters" and "prediction\_count"
* New: "nr\_forecasters" and "forecasts\_count"
* Update: Adjust field names in code
9. Resolution:
* Old: "resolution" field (float)
* New: Check "resolved" boolean and "question" > "resolution"
* Update: Adjust resolution checking logic
10. Description:
* Old: "description" at the top level
* New: Nested under "question"
* Update: Access description directly with `question['question']['description']`
11. Question Type:
* Old: Under "possibilities" > "type"
* New: Under "question" > "type"
* Update: Change `question['possibilities']['type']` to `question['question']['type']`
Complete List of Removed Fields (requiring code updates if used):
* "url", "page\_url" (use "id" to construct)
* "title\_short"
* "group\_label"
* "resolved\_option"
* "effected\_close\_time"
* "scoring"
* "weekly\_movement", "weekly\_movement\_direction"
* "cp\_reveal\_time"
* "last\_activity\_time", "activity"
* "approved\_time", "approved\_by\_id"
* "related\_questions", "group", "condition", "unconditional\_question"
* "sub\_questions", "total\_sub\_question\_count"
* "has\_fan\_graph"
* "image\_url"
* "medals\_end\_year", "medals\_duration"
* "unweighted\_community\_prediction\_v2", "recency\_weighted\_community\_prediction\_v2"
* "cp\_baseline\_score", "cp\_peer\_score"
You can email [api-requests@metaculus.com](mailto:api-requests@metaculus.com) if you have any issues with the API.