---
title: "Make an expert forecast for a news event."
method: GET
path: "/v1/chat/forecast"
tags: ["forecast"]
---

# Make an expert forecast for a news event.

`GET /v1/chat/forecast`

Make an expert forecast for a news event.

This endpoint reaches into the news archive, looking back `lookback` days to
extract the most relevant news articles, building a timeline of events, and
then making an expert forecast.

This endpoint is more expensive than the search endpoint, it is calling
gpt-4o or claude 3-5 on approx 15k tokens to build the forecast.
This endpoint counts toward "deep" calls in the billing system.

It returns the forecast, the reasoning, and the sources.

## Query parameters

- `query` string, required — The requested forecast.
- `lookback` integer — The number of days to look back for the forecast.
- `articles_to_use` integer — The total number of relevant articles to be extracted from the news archive and used for the forecast.
- `method` 'kw' — Method to use for the context search Currently only 'kw' is supported.
- `model` 'gpt-4o' | 'gpt-4o-mini' | 'gpt-4.1-2025-04-14' | 'claude-3-5-sonnet-latest' | 'claude-3-5-sonnet-20240620' | 'claude-sonnet-4-20250514' | 'claude-opus-4-20250514' | 'claude-sonnet-4-5-20250929' | 'claude-opus-4-6' | 'claude-sonnet-4-6' | 'claude-sonnet-5' | 'o1-mini' | 'o3-mini' | 'o3' — The model to use for the forecast.
- `cutoff_date` string, nullable — The cutoff date for the forecast. String format is 'YYYY-MM-DD-HH:MM'. This is useful for backtesting forecasts.
- `use_reddit` boolean — Whether to use Reddit data for the forecast.enterprise customers only.
- `additional_context` string, nullable — Additional context to use for the forecast.
- `web_search` boolean — Whether to run a live web search and include results in the forecast. enterprise customers only.
- `expert` 'general' | 'sports' — The type of expert to use for the forecast.

## Response `200`

A fully structured Forecast, complete with research.

- ForecastResponse
  - `forecast` string, required
  - `resolution_criteria` string, required
  - `date` string, date-time, required
  - `reasoning` string, required
  - `sources` SearchResponseDictItem[], required
    - `article_url` string, uri, required
    - `article_id` string, uuid, required
    - `classification` union, required
      - string[]
      - string
    - `country` string, required
    - `source_id` string, required
    - `page_rank` integer, required
    - `domain_url` string, required
    - `eng_title` string, required
    - `entities` Entities, required
      - `Person` string[]
      - `Organization` string[]
      - `Location` string[]
      - `Nationality` string[]
      - `Date` string[]
      - `Event` string[]
      - `Money` string[]
      - `Law` string[]
      - `Quantity` string[]
      - `Time` string[]
      - `Sports` string[]
      - `Politics` string[]
      - `Title` string[]
      - `Number` string[]
      - `Arms` string[]
      - `Product` string[]
      - `Media` string[]
      - `Transportation` string[]
      - `Religion` string[]
      - `Technology` string[]
      - `Space` string[]
      - `Medicine` string[]
      - `Language` string[]
      - `Science` string[]
    - `image_url` string, nullable
    - `keywords` string[], required
    - `language` string, required
    - `pub_date` string, date-time, required
    - `summary` string, required
    - `key_points` string[], nullable
    - `title` string, required
    - `sentiment` integer, required
    - `centroid_distance` number, required
    - `cluster_probability` number, required
    - `markdown_citation` string
    - `provocative` 'unknown' | 'low' | 'medium' | 'high'
    - `reporting_voice` union
      - 'Objective' | 'Subjective' | 'Investigative' | 'Narrative' | 'Analytical' | 'Advocacy' | 'Conversational' | 'Satirical' | 'Emotive' | 'Explanatory' | 'UnknownPersuasive' | 'Sensational'
      - string
    - `entity_relation_graph` AsknewsApiSchemaV1CommonGraphRelationships
      - `nodes` object[]
      - `edges` object[]
    - `geo_coordinates` object, nullable
    - `continent` 'Africa' | 'Asia' | 'Europe' | 'Middle East' | 'North America' | 'South America' | 'Oceania', nullable
    - `assets` Assets
      - `images` string[], nullable
      - `videos` string[], nullable
    - `social_embeds` string[], nullable
    - `bias` 'Political' | 'Gender' | 'Cultural' | 'Age' | 'Religious' | 'Statement' | 'Illogical Claims' | 'Slant' | 'Source Selection' | 'Omission of Source Attribution' | 'Spin' | 'Sensationalism' | 'Negativity' | 'Subjective Adjectives' | 'Ad Hominem' | 'Mind Reading' | 'Opinion-as-Fact' | 'None' | 'Unknown', nullable
    - `authors` Author[], nullable
      - `email` string, nullable
      - `name` string, nullable
      - `url` string, nullable
    - `full_text` string, nullable
    - `original_language_summary` string, nullable
    - `image_description` string, nullable
    - `crawl_date` string, date-time, nullable
    - `content_type` 'news' | 'opinion' | 'analysis' | 'review' | 'listicle' | 'guide' | 'interview' | 'profile' | 'forum' | 'liveblog' | 'fact-check' | 'press_release' | 'obituary' | 'data_journalism', nullable
    - `as_string_key` string, required
  - `timeline` string[], required
  - `opposite_request` string, required
  - `confidence` number, required
  - `choice` union, required
    - boolean
    - string
  - `llm_confidence` integer, required
  - `model_used` string, required
  - `likelihood` string, required
  - `probability` integer, required
  - `web_search_results` WebSearchResult[], required
    - `title` string, required
    - `url` string, uri, required
    - `source` string, required
    - `published` string, required
    - `key_points` string[], required
    - `raw_text` string
    - `as_string_key` string, nullable
  - `summary` string, required
  - `key_people` KeyPerson[], required
    - `name` string, required
    - `role` string, required
  - `key_facets` string[], required
  - `reconciled_information` string, required
  - `candidate_models` string[], required
  - `unique_information` string, required
  - `expert_information` object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/asknews/apis/asknews-api.md) · [All operations](https://skmtc.dev/asknews/apis/asknews-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/asknews/asknews-api/revisions/dd4286769887/schema)
