---
title: "Metaculus question metadata"
method: GET
path: "/metaculus/question/{id}/metadata"
tags: ["Metaculus"]
---

# Metaculus question metadata

`GET /metaculus/question/{id}/metadata`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/metaculus/question/{id}/metadata`
- Auth: API key in header `x-api-key`

Returns public metadata for one Metaculus question, including option labels, option history, scaling metadata, resolution fields, and timing fields when present.

## Path parameters

- `id` string, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- MetaculusMetadataResponseDoc
  - `code` integer
  - `data` MetaculusQuestionMetadataResponse
    - `actual_close_time` string: Time the question actually closed to forecasts, as Metaculus reports it.
    - `actual_resolve_time` string: Time the question actually resolved, as Metaculus reports it.
    - `all_options_ever` string[]: Every option label the question has ever had.
    - `default_aggregation_method` string: Aggregation method Metaculus shows by default, for example `recency_weighted`.
    - `default_score_type` string: Score type Metaculus uses by default, for example `peer`.
    - `fetched_at` string: Time the data was fetched, in UTC (RFC 3339).
    - `group_variable` string: Name of the variable that distinguishes the questions in a group, for example `Company`.
    - `inbound_outcome_count` integer: Number of outcomes inside the question's range.
    - `include_bots_in_aggregates` boolean: Whether bot forecasts are included in the aggregate forecasts.
    - `open_lower_bound` boolean: Whether the answer can fall below the lower end of the range.
    - `open_upper_bound` boolean: Whether the answer can fall above the upper end of the range.
    - `options` string[]: Current option labels of a multiple-choice question.
    - `options_history` MetaculusOptionsChange[]: Earlier versions of the option list, when the options changed.
      - `changed_at` string: Time the option list changed, as Metaculus reports it.
      - `options` string[]: Option labels in effect from that time.
    - `options_order` string: How the options are ordered, for example `DEFAULT`.
    - `possibilities` unknown
    - `public_page_derived` boolean: Always `true`: the values are those shown publicly on Metaculus, without a login.
    - `question` MetaculusQuestionRow
      - `categories` MetaculusProject[]: Categories the question is filed under.
        - `emoji` string: Emoji shown next to the category or project on Metaculus.
        - `id` integer: Metaculus id of the category or project.
        - `name` string: Display name, for example `Economy & Business`.
        - `slug` string: URL slug, for example `economy-business`.
        - `type` string: Kind of project, for example `category` or `tournament`.
      - `comment_count` integer: Number of comments on the question.
      - `edited_at` string: Time the question was last edited, in UTC (RFC 3339).
      - `forecaster_count` integer: Number of forecasters who have forecast on the question.
      - `forecasts_count` integer: Total number of forecasts submitted on the question.
      - `id` integer: Metaculus post id of the question. Use it with the question endpoints.
      - `latest_forecast_center` number: Central value of the latest community forecast, as Metaculus reports it.
      - `latest_forecast_lower` number: Lower bound of the latest community forecast interval.
      - `latest_forecast_upper` number: Upper bound of the latest community forecast interval.
      - `open_time` string: Time the question opened for forecasts, in UTC (RFC 3339).
      - `projects` MetaculusProject[]: Tournaments and projects the question belongs to.
        - `emoji` string: Emoji shown next to the category or project on Metaculus.
        - `id` integer: Metaculus id of the category or project.
        - `name` string: Display name, for example `Economy & Business`.
        - `slug` string: URL slug, for example `economy-business`.
        - `type` string: Kind of project, for example `category` or `tournament`.
      - `public_page_derived` boolean: Always `true`: the values are those shown publicly on Metaculus, without a login.
      - `published_at` string: Time the question was published, in UTC (RFC 3339).
      - `question_id` integer: Metaculus id of the underlying question, which can differ from the post `id`.
      - `question_title` string: Full wording of the question.
      - `question_type` string: Question type, for example `binary`, `numeric` or `multiple_choice`.
      - `resolved` boolean: Whether the question has been resolved.
      - `scheduled_close_time` string: Time the question is scheduled to close to forecasts, in UTC (RFC 3339).
      - `scheduled_resolve_time` string: Time the question is scheduled to resolve, in UTC (RFC 3339).
      - `slug` string: URL slug of the question.
      - `status` string: Question status on Metaculus, for example `open`.
      - `title` string: Question title as shown on Metaculus.
      - `unit` string: Unit of the answer for numeric questions, for example `USD/metric ton`.
      - `url` string: Metaculus page URL of the question.
    - `resolution` string: Resolution of the question, as Metaculus reports it. Omitted while unresolved.
    - `resolution_set_time` string: Time the resolution was set, as Metaculus reports it.
    - `scaling` MetaculusQuestionScaling
      - `continuous_range` unknown[]: ContinuousRange passes through Metaculus's scaling.continuous_range: null for discrete questions, an array of numbers (the CDF internal locations) for continuous/numeric ones. It was previously typed []string, so hydrating a commented continuous question failed to decode and 503'd the comments feeds; numbers are the correct element type.
        - unknown
      - `inbound_outcome_count` integer: Number of outcomes inside the question's range.
      - `nominal_max` number: Highest value of the range as shown to forecasters.
      - `nominal_min` number: Lowest value of the range as shown to forecasters.
      - `open_lower_bound` boolean: Whether the answer can fall below the lower end of the range.
      - `open_upper_bound` boolean: Whether the answer can fall above the upper end of the range.
      - `range_max` number: Upper end of the question's range.
      - `range_min` number: Lower end of the question's range.
      - `zero_point` number: Zero point of the question's range, when Metaculus defines one.
    - `short_title` string: Short form of the question title.
    - `source_url` string: URL the data was read from.
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
