Skip to main content
Glama

Search GDELT TV News

gdelt_search_tv
Read-only

Search US television news closed captions (2009–October 2024, 150+ stations) for spoken mentions of a query. Returns a bounded, paged per-station time series showing airtime devoted to the topic. Use the stations parameter to select networks (e.g. ["CNN", "FOXNEWS", "MSNBC"]) — the TV API requires at least one station, supplied either there or as a station: selector inside query. TV query also supports in-query operators: station:CNN, network:CBS, market:"National", show:"Anderson Cooper 360", context:"vaccine". Important: most station monitoring ended October 2024 — use gdelt_list_tv_stations to verify active date ranges before querying recent events.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum timeline points returned in this response (1–500).
queryYesSearch query for TV transcript content. Supports TV operators: station:CNN, network:CBS, market:"National", show:"Anderson Cooper", context:"vaccine". Boolean OR and phrase operators also work.
offsetNoZero-based point offset into the deterministic date-then-station ordering. Use nextOffset from the preceding response with the same query inputs to retrieve the next page.
dateresNoOptional GDELT aggregation resolution. Omit to let GDELT choose from the query window; the effective recognized or inferred resolution is returned as dateResolution.
stationsNoUp to 10 station IDs to filter to (e.g. ["CNN", "FOXNEWS", "MSNBC"]). The GDELT TV API requires at least one station — supply it here, or embed a station: selector directly in query. Omitting both is rejected; it does not fall back to all stations. Use gdelt_list_tv_stations to see valid station IDs.
timespanNoTime window, e.g. "1m", "6m", "1y". Ignored when startDatetime/endDatetime are set. TV data spans 2009–October 2024.
normalizeNoWhen true (default), values are normalized as % of total airtime, enabling cross-station comparison. When false, returns raw matching 15-second clip counts.
smoothingNoSmoothing window in timesteps (0 = none). Reduces noise for sporadic topics.
endDatetimeNoEnd datetime in GDELT format YYYYMMDDHHMMSS — exactly 14 digits, no separators (e.g. 20200131235959). Must pair with startDatetime; supplying only one of the two is rejected.
startDatetimeNoStart datetime in GDELT format YYYYMMDDHHMMSS — exactly 14 digits, no separators (e.g. 20200101000000). Must pair with endDatetime; supplying only one of the two is rejected.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
limitNoMaximum points requested for this page.
noticeNoRecovery hint when no TV coverage was found. Absent on successful responses.
offsetNoZero-based offset of this point page.
seriesNoStation series represented in this point page.
timeRangeNoDate range spanned by this returned point page.
nextOffsetNoOffset for the next page using the same query inputs. Absent when this is the final page.
normalizedNoTrue when values are normalized coverage percentages.
totalCountNoNumber of station series returned.
totalPointsNoTotal points available across all matched station series before pagination.
dateResolutionNoTemporal resolution of data points.
effectiveQueryNoEchoed query string for use in follow-up calls.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with readOnlyHint=true and openWorldHint=true, the description adds meaningful behavioral context: the data source, temporal coverage (2009–October 2024), the station requirement, pagination/boundedness, and the important caveat that most station monitoring ended in October 2024. This goes well beyond the annotations and helps the agent set expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core search capability and then moves through station requirements, operator syntax, and the critical October 2024 caveat. It is dense but not bloated; the only mild cost is some repetition of schema-documented details like the station requirement and date range.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a rich input schema, an output schema, and annotations, the description covers the essential non-obvious facts an agent needs: the need to supply a station, the supported in-query operators, the data's end date, and the recommendation to verify station coverage. Return values are already handled by the output schema, so no further description is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema thoroughly documents all 10 parameters, including the station requirement, operator syntax, date formatting, and normalization behavior. The description largely repeats or re-emphasizes what the schema already states rather than adding new parameter-level meaning, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Search'), a specific resource ('US television news closed captions'), and a clear output ('bounded, paged per-station time series'). It also distinguishes itself from sibling tools by focusing on search over captions and by explicitly invoking gdelt_list_tv_stations, so an agent can tell it apart without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: the TV API requires at least one station, stations can be supplied via the stations parameter or an in-query operator, and gdelt_list_tv_stations should be used to verify active date ranges before querying recent events. It does not explicitly list exclusions or alternatives such as preferring gdelt_get_tv_clips for clip retrieval, so it falls just short of full 'when-not' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool serves a distinct purpose: search articles vs. search TV, coverage timelines vs. breakdowns vs. tone distributions, and TV-specific tools for clips, context, trending, and station listing. Even overlapping functions like get_coverage_timeline and get_tone_distribution are clearly differentiated by description.

Naming Consistency5/5

All tools follow the consistent pattern 'gdelt_<verb>_<object>' using snake_case, with verbs limited to get, search, and list. The naming is predictable and uniform, with no mixed conventions.

Tool Count5/5

Nine tools is a well-scoped number for the GDELT domain, covering both text and TV news APIs without redundancy. Each tool adds clear value, and the count is within the ideal 3-15 range.

Completeness5/5

The tool surface covers the core workflows: searching articles and TV transcripts, obtaining coverage timelines and breakdowns, analyzing tone distributions, retrieving TV clips and context, and listing stations. There are no obvious dead ends or missing operations for the stated purpose.