docs / news-intel

News Intelligence API

News Intelligence API

base /news-intel/v19 endpoints
post/news-intel/v1/timeline1 credit

How much is X in the news over time — GDELT volume-over-time (timelinevol) for a query as [{date, value}], with peak detection (max point + average + latest).

ParameterAllowed / rangeDescription
queryrequiredFree-text search across global news. GDELT operators are passed through (e.g. 'tesla OR ford', '"exact phrase"', 'domainis:bbc.com', 'sourcelang:spanish', 'theme:TERROR'). Case-insensitive.
timespan = 1doptional1h · 12h · 1d · 3d · 1w · 2w · 1mHow far back to search (GDELT timespan). Accepts Nh/Nd/Nw/Nm or minute forms like '30min'. Note GDELT covers ~last 3 months; default 1d.
languageoptionalen · es · fr · de · pt · it · ru · ar · zh · ja · tr · hiRestrict to a source language (2-letter code → GDELT sourcelang). GDELT indexes 65+ languages; common ones listed. Omit for all languages.
countryoptionalRestrict to a source country (GDELT FIPS country code, e.g. US, UK, FR, IN, BR). Omit for global. For top_headlines this is the Google-News edition.
Try in playground →
post/news-intel/v1/top_headlines1 credit

Editor-curated top headlines by Google-News topic section (WORLD/BUSINESS/TECHNOLOGY/…) and/or country edition. De-duplicated. The 'front page' call.

ParameterAllowed / rangeDescription
topicoptionalWORLD · NATION · BUSINESS · TECHNOLOGY · ENTERTAINMENT · SPORTS · SCIENCE · HEALTHGoogle-News topic section for top_headlines. Hard enum (the section feeds are a fixed set). Combine with country for a localized edition.
countryoptionalRestrict to a source country (GDELT FIPS country code, e.g. US, UK, FR, IN, BR). Omit for global. For top_headlines this is the Google-News edition.
max = 50optional1–250Max articles to fetch per source before de-dup (1-250, default 50). Larger values are clamped to 250 (GDELT ceiling).
dedup = trueoptionalCollapse the same story from many outlets (exact-url + host+path + near-duplicate title clustering). Default true. Survivors carry duplicate_count + also_reported_by[]. Set false for the raw firehose.
Try in playground →
post/news-intel/v1/by_source1 credit

Recent articles from a specific publisher domain (reuters.com, bbc.com, …). Google-News site:<domain> is the reliable primary (near-live, ~100% on-source); GDELT domain:<domain> enriches with direct publisher URLs + tone when its 5s window is free (skipped silently otherwise — never blocks). Source-exact. merge_google_news=false → GDELT-only exact.

ParameterAllowed / rangeDescription
sourcerequiredA publisher domain (e.g. reuters.com, bbc.com, nytimes.com), full URL, or host. Returns that outlet's recent articles — Google-News `site:` primary (reliable, near-live) + GDELT enrichment when available. Any domain works.
queryoptionalFree-text search across global news. GDELT operators are passed through (e.g. 'tesla OR ford', '"exact phrase"', 'domainis:bbc.com', 'sourcelang:spanish', 'theme:TERROR'). Case-insensitive.
timespan = 1doptional1h · 12h · 1d · 3d · 1w · 2w · 1mHow far back to search (GDELT timespan). Accepts Nh/Nd/Nw/Nm or minute forms like '30min'. Note GDELT covers ~last 3 months; default 1d.
languageoptionalen · es · fr · de · pt · it · ru · ar · zh · ja · tr · hiRestrict to a source language (2-letter code → GDELT sourcelang). GDELT indexes 65+ languages; common ones listed. Omit for all languages.
sort = datedescoptionaldatedesc · dateasc · hybridrel · tonedesc · toneascResult ordering (GDELT sort). Ranking is GDELT's own — we add no AI re-rank.
max = 50optional1–250Max articles to fetch per source before de-dup (1-250, default 50). Larger values are clamped to 250 (GDELT ceiling).
merge_google_news = trueoptionalAlso fetch Google-News-RSS for this query and merge+de-dup with GDELT (near-live coverage). Default true. Set false for GDELT-only.
dedup = trueoptionalCollapse the same story from many outlets (exact-url + host+path + near-duplicate title clustering). Default true. Survivors carry duplicate_count + also_reported_by[]. Set false for the raw firehose.
Try in playground →
post/news-intel/v1/coverage1 credit

Full-story coverage — for a story or topic, discover which news outlets are covering it. Returns the most-covered stories first, each expanded to every outlet that carried it (outlet_count + outlets[]). Ideal for media monitoring and PR: see how widely a story was reported and by whom.

ParameterAllowed / rangeDescription
queryrequiredFree-text search across global news. GDELT operators are passed through (e.g. 'tesla OR ford', '"exact phrase"', 'domainis:bbc.com', 'sourcelang:spanish', 'theme:TERROR'). Case-insensitive.
timespan = 1doptional1h · 12h · 1d · 3d · 1w · 2w · 1mHow far back to search (GDELT timespan). Accepts Nh/Nd/Nw/Nm or minute forms like '30min'. Note GDELT covers ~last 3 months; default 1d.
languageoptionalen · es · fr · de · pt · it · ru · ar · zh · ja · tr · hiRestrict to a source language (2-letter code → GDELT sourcelang). GDELT indexes 65+ languages; common ones listed. Omit for all languages.
countryoptionalRestrict to a source country (GDELT FIPS country code, e.g. US, UK, FR, IN, BR). Omit for global. For top_headlines this is the Google-News edition.
max = 50optional1–250Max articles to fetch per source before de-dup (1-250, default 50). Larger values are clamped to 250 (GDELT ceiling).
similarity = 0.6optional0.3–1Title near-duplicate threshold for clustering (stemmed token-set Jaccard, 0.3-1.0). Higher = stricter (fewer merges). Default 0.6 — tuned for precision 1.0 + max recall (notes/dedup_quality.json).
Try in playground →
post/news-intel/v1/sources1 credit

Reference directory of supported news outlets, filterable by category (e.g. TECHNOLOGY, SPORTS) and country. Also returns the topic, language and country reference lists accepted by other actions. Note: by_source accepts any publisher domain — this directory is a curated starting set, not a limit.

ParameterAllowed / rangeDescription
categoryoptionalOptional filter for the sources directory by section (WORLD/BUSINESS/TECHNOLOGY/SPORTS/ENTERTAINMENT/SCIENCE/HEALTH/NATION).
countryoptionalRestrict to a source country (GDELT FIPS country code, e.g. US, UK, FR, IN, BR). Omit for global. For top_headlines this is the Google-News edition.
Try in playground →
post/news-intel/v1/tech1 credit

Hacker News tech vertical — top/new/best stories, or a full-text Algolia search. Each story: title, url, points, author, num_comments, created_at, hn_url.

ParameterAllowed / rangeDescription
queryoptionalOptional Hacker News full-text search (Algolia). Omit to get the ranked list selected by `list` (top/new/best).
list = topoptionaltop · new · bestHacker News story list when no query is given (top/new/best). With a query, Algolia full-text search is used instead.
max = 50optional1–250Max articles to fetch per source before de-dup (1-250, default 50). Larger values are clamped to 250 (GDELT ceiling).
Try in playground →
post/news-intel/v1/batch1 credit

Run up to 10 search queries in one call (shared concurrency, GDELT 5s-window paced). results[] preserves input order; each is a de-duped search result.

ParameterAllowed / rangeDescription
queriesrequiredUp to 10 search queries — a JSON array OR a comma/semicolon string. Each is run through `search` (GDELT, de-duped) under one shared call.
timespan = 1doptional1h · 12h · 1d · 3d · 1w · 2w · 1mHow far back to search (GDELT timespan). Accepts Nh/Nd/Nw/Nm or minute forms like '30min'. Note GDELT covers ~last 3 months; default 1d.
languageoptionalen · es · fr · de · pt · it · ru · ar · zh · ja · tr · hiRestrict to a source language (2-letter code → GDELT sourcelang). GDELT indexes 65+ languages; common ones listed. Omit for all languages.
countryoptionalRestrict to a source country (GDELT FIPS country code, e.g. US, UK, FR, IN, BR). Omit for global. For top_headlines this is the Google-News edition.
max = 50optional1–250Max articles to fetch per source before de-dup (1-250, default 50). Larger values are clamped to 250 (GDELT ceiling).
merge_google_news = trueoptionalAlso fetch Google-News-RSS for this query and merge+de-dup with GDELT (near-live coverage). Default true. Set false for GDELT-only.
dedup = trueoptionalCollapse the same story from many outlets (exact-url + host+path + near-duplicate title clustering). Default true. Survivors carry duplicate_count + also_reported_by[]. Set false for the raw firehose.
Try in playground →