---
title: "Build a custom mega-news-knowledge graph"
method: POST
path: "/v1/news/graph"
tags: ["graph"]
---

# Build a custom mega-news-knowledge graph

`POST /v1/news/graph`

Explore our mega-news-knowledge-graph at which ever level of resolution you need.

Fully disambiguated and ready to be used in any downstream application.

Pass a natural language query to get a graph of the latest news. Add parameters
to build a graph from our archive, filter your graph by language, country, reporting voice,
sentiment, provocative levels, and much more.

## Request body

- BodyBuildGraph
  - `query` string — Query string that can be any phrase, keyword, question, or paragraph. If method='nl', then this will be used as a natural language query. If method='kw', then this will be used as a direct keyword query.
  - `return_articles` boolean — Whether to return articles or not.
  - `min_cluster_probability` number — Minimum cluster probability to use for disambiguation
  - `geo_disambiguation` boolean — Whether to use geo disambiguation or not.
  - `filter_params` object, nullable — All parameters available on the search_news endpoint located here: https://docs.asknews.app/en/reference#get-/v1/news/search
  - `constrained_disambiguations` object[], nullable — Disambiguation correction parameters.
  - `docs_upload` object[], nullable — Document upload parameters.
  - `visualize_with` string, nullable — Request a visualization graph returned in the response.

## Response `200`

A fully disambiguated knowledge graph, dismabiguation metadata, and the full list of news articles

- GraphResponse
  - `full_graph` object, required
  - `disambiguations` object[], required
  - `articles` SearchResponseDictItem[], nullable
    - `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
  - `query` string, nullable
  - `docs_enhanced` object[], nullable
  - `triples_url` string, nullable
  - `visualize_url` string, nullable

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `405` — Method Not Allowed
- `422` — Unprocessable Entity
- `500` — Internal Server 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)
