Media, Film & Knowledge

News Intelligence API API

The News Intelligence API returns news search and analysis as clean JSON.

11 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary search endpoint returns articles with title, URL, source domain and country, published date, language, snippet and image, and you can pull a timeline, sentiment, entities, trending, top_headlines and by_source. It is built for media monitoring, market intelligence and research that need structured news data with analysis layers. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/news-intel/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "OpenAI",
    "timespan": "2d",
    "max": 40
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "news-intel",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 3220.1,
    "record_count": 97,
    "bytes": 129115,
    "cache_hit": false,
    "method": "public_news_api",
    "freshness": {
      "google_news": "near-live (minutes)"
    },
    "total_before_dedup": 104,
    "removed_duplicates": 7,
    "sources_used": [
      "google_news"
    ],
    "query": "OpenAI",
    "timespan": "2d",
    "source_errors": [
      "gdelt: throttled (5s window)"
    ]
  },
  "data": {
    "articles": [
      {
        "title": "Apple Sues OpenAI, Alleging It Stole Trade Secrets",
        "url": "https://news.google.com/rss/articles/CBMiZEFVX3lxTE5XaDJLOUlqNlc1NW9HckNySzZyWFQzWWF3ZDNXXzJMdE95ck12cEYyck91SGVVeVRYWWVTWUdhTlNuTXFBM1lsX2J1TS1LcGN5MzNiMkVGN0c0cUxhUXBOVktGU1I?oc=5",
        "source_domain": "wsj.com",
        "source_country": null,
        "published_at": "[redacted-phone]T07:00:00Z",
        "language": null,
        "snippet": null,
        "image": null,
        "source": "google_news",
        "tone": null,
        "publisher": "WSJ",
        "duplicate_count": 0,
        "also_reported_by": []
      },
      {
        "title": "China's Moonshot AI claims Kimi K3 can rival OpenAI and Anthropic",
        "url": "https://news.google.com/rss/articles/CBMiWkFVX3lxTFBRRWRCTzZXLWRlVV9jYTRzN3ktc1lFLWExbVlPa09HSVEwR0VyVWhxYkcxNG5mRUVHcDdGRVFaQ0hoOU95OHQ5ZmtRWkYxcnh6Z2dkYUowZ0FmQQ?oc=5",
        "source_domain": "bbc.com",
        "source_country": null,
        "published_at": "[redacted-phone]T16:53:04Z",
        "language": null,
        "snippet": null,
        "image": null,
        "source": "google_news",
        "tone": null,
        "publisher": "BBC",
        "duplicate_count": 0,
        "also_reported_by": []
      },
      {
        "title": "AI’s Wider Availability Is Good for China, Not Great for OpenAI and Anthropic",
        "url": "https://news.google.com/rss/articles/CBMif0FVX3lxTFBSeWJBNG5TTE9zVV9URzRmX1huMWJkSW11Q2J4azZ0WXpVczR6Z19yMkFjNU1ZNXgxWjNfYkFETk1QZUR0LVpLYkhhRDFvV3FPWFlnT1pvTmdKQVJBOEU1UzFHLWViQ29zRlM3ckVqMVRDRnp3dlhJbW1uc21wLUU?oc=5",
        "source_domain": "wsj.com",
        "source_country": null,
        "published_at": "[redacted-phone]T13:38:00Z",
        "language": null,
        "snippet": null,
        "image": null,
        "source": "google_news",
        "tone": null,
        "publisher": "WSJ",
        "duplicate_count": 0,
        "also_reported_by": []
      }
    ],
    "query": "OpenAI",
    "timespan": "2d",
    "total_before_dedup": 104,
    "removed_duplicates": 7,
    "sources_used": [
      "google_news"
    ],
    "freshness": {
      "google_news": "near-live (minutes)"
    }
  }
}
Actions

What the News Intelligence API API does

ActionDescriptionConcrete use caseKey params
searchGlobal news search across GDELT (+ optionally merged Google-News-RSS), de-duplicated into one unified article shape. The core 'what's the news on X' call. Filter by timespan/language/country/sort; each article carries title, url, source_domain, published_at, language, snippet, image, duplicate_count, also_reported_by[].Content platforms call search to get global news search across GDELT (+ optionally merged Google-News-RSS), de-duplicated into one….query, timespan, start, end, language, ...
timelineHow 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).Research tools call timeline to get how much is X in the news over time.query, timespan, start, end, language, ...
sentimentSentiment / tone analysis for a query — GDELT tonechart gives the distribution of article tone (how positive/negative coverage is) as a histogram, a count-weighted average tone, a positive/neutral/negative breakdown, and the single most-positive and most-negative representative article. Answers 'how is X being covered — favorably or critically?'. GDELT-only; honest RATE_LIMITED on the 5s throttle. (alias: tone)Community analysts call sentiment to get sentiment / tone analysis for a query.query, timespan, start, end, language, ...
entitiesTop entities for a query — the people/organizations and locations most mentioned in coverage of a topic, ranked by mention count. Organizations/people are mined from article titles; locations come from GDELT's source-country distribution. Metadata-only. Useful for 'who and where is this story about'. GDELT-only; honest throttle degrade.Media monitors call entities to get top entities for a query.query, timespan, start, end, language, ...
trendingWhat's big in the news right now — a curated multi-bucket roll-up (breaking/world/tech/business/politics/science by default, or your own queries) ranked by recent volume, each with a few representative headlines.Content platforms call trending to get what's big in the news right now.queries, timespan, language, country, max
top_headlinesEditor-curated top headlines by Google-News topic section (WORLD/BUSINESS/TECHNOLOGY/…) and/or country edition. De-duplicated. The 'front page' call.Research tools call top_headlines to get editor-curated top headlines by Google-News topic section (WORLD/BUSINESS/TECHNOLOGY/…) and/o….topic, country, max, dedup
by_sourceRecent 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.Community analysts call by_source to get recent articles from a specific publisher domain (reuters.com, bbc.com, …).source, query, timespan, language, sort, ...
coverageFull-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.Media monitors call coverage to get full-story coverage.query, timespan, start, end, language, ...
sourcesReference 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.Content platforms call sources to get reference directory of supported news outlets, filterable by category (e.g.category, country
techHacker 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.Research tools call tech to get hacker News tech vertical.query, list, max
batchRun 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.Community analysts call batch to get run up to 10 search queries in one call (shared concurrency, GDELT 5s-window paced).queries, timespan, language, country, max, ...
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/news-intel/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"OpenAI","timespan":"2d","max":40}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.news-intel.search with {"query":"OpenAI","timespan":"2d","max":40}.
Use cases

Who uses this API and why

  • Brand-monitoring tools call search and sentiment to track coverage volume and tone.
  • Analysts use timeline and entities to map how a story developed and who was involved.
  • Dashboards use trending and top_headlines to surface what is breaking.
FAQ

Questions developers ask before integrating

What is the News Intelligence API API?

News Intelligence API API is a ReefAPI endpoint group for news intelligence api It returns live JSON through POST requests under /news-intel/v1.

Is the News Intelligence API API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. News Intelligence API calls use the same shared credit balance as every other ReefAPI engine.

Do I need a News Intelligence API login or account?

No login to News Intelligence API is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the News Intelligence API data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the News Intelligence API API use?

News Intelligence API actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call News Intelligence API from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call news-intel actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the News Intelligence API API a News Intelligence API scraper?

It is the managed alternative to a DIY News Intelligence API scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same news intelligence api back as clean JSON.

Why does my News Intelligence API scraper keep getting blocked?

Most News Intelligence API scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / news-intel

News Intelligence API

News Intelligence API

base /news-intel/v111 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.
startoptionalAbsolute window START (GDELT startdatetime). Accepts YYYYMMDD, YYYYMMDDHHMMSS, or ISO (2026-06-01 / 2026-06-01T12:00:00Z). When start AND/OR end are given they OVERRIDE the relative timespan. GDELT covers ~the last 3 months.
endoptionalAbsolute window END (GDELT enddatetime). Same formats as start. Omit for 'up to now'. Use with start for an exact date range instead of timespan.
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/sentiment2 credits

Sentiment / tone analysis for a query — GDELT tonechart gives the distribution of article tone (how positive/negative coverage is) as a histogram, a count-weighted average tone, a positive/neutral/negative breakdown, and the single most-positive and most-negative representative article. Answers 'how is X being covered — favorably or critically?'. GDELT-only; honest RATE_LIMITED on the 5s throttle. (alias: tone)

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.
startoptionalAbsolute window START (GDELT startdatetime). Accepts YYYYMMDD, YYYYMMDDHHMMSS, or ISO (2026-06-01 / 2026-06-01T12:00:00Z). When start AND/OR end are given they OVERRIDE the relative timespan. GDELT covers ~the last 3 months.
endoptionalAbsolute window END (GDELT enddatetime). Same formats as start. Omit for 'up to now'. Use with start for an exact date range instead of timespan.
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/entities2 credits

Top entities for a query — the people/organizations and locations most mentioned in coverage of a topic, ranked by mention count. Organizations/people are mined from article titles; locations come from GDELT's source-country distribution. Metadata-only. Useful for 'who and where is this story about'. GDELT-only; honest throttle degrade.

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.
startoptionalAbsolute window START (GDELT startdatetime). Accepts YYYYMMDD, YYYYMMDDHHMMSS, or ISO (2026-06-01 / 2026-06-01T12:00:00Z). When start AND/OR end are given they OVERRIDE the relative timespan. GDELT covers ~the last 3 months.
endoptionalAbsolute window END (GDELT enddatetime). Same formats as start. Omit for 'up to now'. Use with start for an exact date range instead of timespan.
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).
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.
startoptionalAbsolute window START (GDELT startdatetime). Accepts YYYYMMDD, YYYYMMDDHHMMSS, or ISO (2026-06-01 / 2026-06-01T12:00:00Z). When start AND/OR end are given they OVERRIDE the relative timespan. GDELT covers ~the last 3 months.
endoptionalAbsolute window END (GDELT enddatetime). Same formats as start. Omit for 'up to now'. Use with start for an exact date range instead of timespan.
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/sourcesfree

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/batch2 credits

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 →