News & TV coverage research (GDELT)
Search and chart global news coverage and US television news via the GDELT
Project's own indexes — full-text search, sentence-level context search,
coverage/tone timelines, and (for TV) transcripts, captions, on-screen text,
and computer-vision labels — all as normalized JSON from the Crawlora API,
no scraping.
When to use this skill
- "What's the recent news coverage of X?" / "Search global news for X."
- "How has coverage of X trended over time?" / "Is coverage of X positive
or negative?" (timeline + tone/sentiment).
- "What sentences mention X near Y?" (sentence-level co-occurrence, last 72
hours only).
- "What did US TV news say/show about X?" (transcripts, captions,
on-screen text).
- "Which TV stations/shows covered X the most?" / "What's trending on TV
right now?" (word cloud, station/show comparisons).
- OSINT, media-monitoring, or political/social-science research needing a
free, no-auth global news/TV corpus.
Setup (one-time)
- Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
- Set
CRAWLORA_API_KEY in the environment before running the helper.
- The helper reads
CRAWLORA_API_KEY from the environment and sends requests to https://api.crawlora.net/api/v1. Missing/invalid key → 401.
How it works
Web news:
- Search —
/gdelt/search (query, required; optional country,
domain, language, from/to/timespan, sort, maxrecords)
searches GDELT's continuously updated global news index.
- Context —
/gdelt/context (query, required; is_quote to scope
to quoted text) does sentence-level co-occurrence search — last 72
hours of coverage only.
- Timeline —
/gdelt/timeline (query, metric for volume vs. tone,
smooth) returns how coverage volume or tone has trended over time.
- Tone chart —
/gdelt/tonechart (query) returns a sentiment
histogram for a query's matching coverage.
US television (GDELT Television 2.0 AI):
- Search —
/gdelt/tv-search (station, required; optional show,
caption/transcript/onscreen_text/visual/concept text filters
and matching exclude_* negations, day_of_week) searches transcripts,
captions, OCR text, and computer-vision visual labels.
- Timeline / comparisons —
/gdelt/tv-timeline (airtime volume over
time), /gdelt/tv-showchart (top shows by coverage share),
/gdelt/tv-stationchart (cross-station comparison) — same filter params
as search, station required.
- Word cloud —
/gdelt/tv-wordcloud (station+channel, both
required) returns a frequency-ranked word/label cloud for one match.
- Reference lists —
/gdelt/tv-stationdetails (no params) lists
current stations; /gdelt/tv-concept-entities and
/gdelt/tv-visual-entities (limit) list GDELT's own Knowledge-Graph
concept and computer-vision label catalogs, useful for building valid
concept/visual filter values.
Full endpoint list, methods, and params: reference/endpoints.md.
Calling the API
# Global news search:
scripts/crawlora.sh /gdelt/search query="semiconductor export controls" | jq '.'
# Coverage volume trend over time:
scripts/crawlora.sh /gdelt/timeline query="semiconductor export controls" metric=timelinevol | jq '.'
# Sentiment histogram:
scripts/crawlora.sh /gdelt/tonechart query="semiconductor export controls" | jq '.'
# US TV: search one station's coverage:
scripts/crawlora.sh /gdelt/tv-search station=CNN show="Erin Burnett OutFront" | jq '.'
# US TV: current station list:
scripts/crawlora.sh /gdelt/tv-stationdetails | jq '.'
Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.
Endpoint reference
See reference/endpoints.md for every GDELT
web-news and Television 2.0 AI endpoint this skill uses.
Examples
- Media narrative tracking:
/gdelt/timeline (volume) +
/gdelt/tonechart (sentiment) for the same query to see both how much
and how favorably a topic is covered over time.
- Cross-medium check: the same query through
/gdelt/search (web news)
and /gdelt/tv-search (TV) to compare print/online vs. broadcast
framing.
- Breaking-story monitoring:
/gdelt/context for sentence-level
co-occurrence in the last 72 hours — catches emerging framing before a
full-timeline trend is visible.
- TV coverage-share research:
/gdelt/tv-showchart or
/gdelt/tv-stationchart to see which shows/stations are driving
coverage of a topic.
Notes & limits
- Credits / pay-on-success: billed only on
2xx; free tier 2,000 credits/mo.
Key at https://crawlora.net.
- Public data only — GDELT's own public indexes; no authentication
possible or needed upstream.
- Security: key lives in
CRAWLORA_API_KEY only — never hardcode, query-param, or commit it.
/gdelt/context only covers the last 72 hours — use /gdelt/search
or the timeline/tone endpoints for anything further back.
- Every TV endpoint requires
station (/gdelt/tv-wordcloud also
requires channel) — list valid values via /gdelt/tv-stationdetails
first if unsure.
timespan and from/to are alternative ways to scope a date range —
don't mix them; pick one.
1---2name: gdelt-research3description: Researches global news and US television coverage via the Crawlora API — GDELT web-news search/context/timeline/sentiment, plus GDELT Television 2.0 AI's index of US TV transcripts, captions, on-screen text, and visual labels — returning clean JSON. Use when the user wants coverage-volume or sentiment trends over time, cross-outlet news search, sentence-level co-occurrence search, or what US TV news said/showed about a topic — OSINT, media-monitoring, and political/social-science research.4---56# News & TV coverage research (GDELT)78Search and chart global news coverage and US television news via the GDELT9Project's own indexes — full-text search, sentence-level context search,10coverage/tone timelines, and (for TV) transcripts, captions, on-screen text,11and computer-vision labels — all as normalized JSON from the Crawlora API,12no scraping.1314## When to use this skill1516- "What's the recent news coverage of X?" / "Search global news for X."17- "How has coverage of X trended over time?" / "Is coverage of X positive18 or negative?" (timeline + tone/sentiment).19- "What sentences mention X near Y?" (sentence-level co-occurrence, last 7220 hours only).21- "What did US TV news say/show about X?" (transcripts, captions,22 on-screen text).23- "Which TV stations/shows covered X the most?" / "What's trending on TV24 right now?" (word cloud, station/show comparisons).25- OSINT, media-monitoring, or political/social-science research needing a26 free, no-auth global news/TV corpus.2728## Setup (one-time)2930- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).31- Set `CRAWLORA_API_KEY` in the environment before running the helper.32- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.3334## How it works3536**Web news:**37381. **Search** — `/gdelt/search` (`query`, required; optional `country`,39 `domain`, `language`, `from`/`to`/`timespan`, `sort`, `maxrecords`)40 searches GDELT's continuously updated global news index.412. **Context** — `/gdelt/context` (`query`, required; `is_quote` to scope42 to quoted text) does sentence-level co-occurrence search — **last 7243 hours of coverage only**.443. **Timeline** — `/gdelt/timeline` (`query`, `metric` for volume vs. tone,45 `smooth`) returns how coverage volume or tone has trended over time.464. **Tone chart** — `/gdelt/tonechart` (`query`) returns a sentiment47 histogram for a query's matching coverage.4849**US television (GDELT Television 2.0 AI):**50515. **Search** — `/gdelt/tv-search` (`station`, required; optional `show`,52 `caption`/`transcript`/`onscreen_text`/`visual`/`concept` text filters53 and matching `exclude_*` negations, `day_of_week`) searches transcripts,54 captions, OCR text, and computer-vision visual labels.556. **Timeline / comparisons** — `/gdelt/tv-timeline` (airtime volume over56 time), `/gdelt/tv-showchart` (top shows by coverage share),57 `/gdelt/tv-stationchart` (cross-station comparison) — same filter params58 as search, `station` required.597. **Word cloud** — `/gdelt/tv-wordcloud` (`station`+`channel`, both60 required) returns a frequency-ranked word/label cloud for one match.618. **Reference lists** — `/gdelt/tv-stationdetails` (no params) lists62 current stations; `/gdelt/tv-concept-entities` and63 `/gdelt/tv-visual-entities` (`limit`) list GDELT's own Knowledge-Graph64 concept and computer-vision label catalogs, useful for building valid65 `concept`/`visual` filter values.6667Full endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).6869## Calling the API7071```sh72# Global news search:73scripts/crawlora.sh /gdelt/search query="semiconductor export controls" | jq '.'7475# Coverage volume trend over time:76scripts/crawlora.sh /gdelt/timeline query="semiconductor export controls" metric=timelinevol | jq '.'7778# Sentiment histogram:79scripts/crawlora.sh /gdelt/tonechart query="semiconductor export controls" | jq '.'8081# US TV: search one station's coverage:82scripts/crawlora.sh /gdelt/tv-search station=CNN show="Erin Burnett OutFront" | jq '.'8384# US TV: current station list:85scripts/crawlora.sh /gdelt/tv-stationdetails | jq '.'86```8788Use `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.899091## Endpoint reference9293See [`reference/endpoints.md`](reference/endpoints.md) for every GDELT94web-news and Television 2.0 AI endpoint this skill uses.9596## Examples9798- **Media narrative tracking:** `/gdelt/timeline` (volume) +99 `/gdelt/tonechart` (sentiment) for the same query to see both how much100 and how favorably a topic is covered over time.101- **Cross-medium check:** the same query through `/gdelt/search` (web news)102 and `/gdelt/tv-search` (TV) to compare print/online vs. broadcast103 framing.104- **Breaking-story monitoring:** `/gdelt/context` for sentence-level105 co-occurrence in the last 72 hours — catches emerging framing before a106 full-timeline trend is visible.107- **TV coverage-share research:** `/gdelt/tv-showchart` or108 `/gdelt/tv-stationchart` to see which shows/stations are driving109 coverage of a topic.110111## Notes & limits112113- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.114 Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).115- **Public data only** — GDELT's own public indexes; no authentication116 possible or needed upstream.117- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.118- **`/gdelt/context` only covers the last 72 hours** — use `/gdelt/search`119 or the timeline/tone endpoints for anything further back.120- **Every TV endpoint requires `station`** (`/gdelt/tv-wordcloud` also121 requires `channel`) — list valid values via `/gdelt/tv-stationdetails`122 first if unsure.123- `timespan` and `from`/`to` are alternative ways to scope a date range —124 don't mix them; pick one.