GnistAI GnistAI
Log in

News Intelligence

Track any topic across global media and the tech community. Sentiment timelines, geographic coverage maps, and trending stories from 150+ countries — powered by GDELT and Hacker News.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 7 tools tools 7 7 type: dataset aggregator type type dataset aggregator dataset aggregator lifecycle: maintained lifecycle lifecycle maintained maintained Media

Data source: GDELT 2.0 API, Hacker News (Algolia)

REST Bridge Endpoint https://context.gnist.ai/rest/news-intelligence/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (7)

search_news

Search news across GDELT (global media, 150+ countries) and Hacker News (tech community) in parallel.

Queries both sources concurrently, normalizes articles into a unified format,
and deduplicates by URL when the same story appears in both sources.

Examples:
search_news(query="artificial intelligence")
search_news(query="climate change", timespan="7d", source_country="US")
search_news(query="Norway oil", source_lang="Norwegian")

ParameterTypeRequiredDescription
querystringrequiredSearch query for news articles.
timespanstringoptionalGDELT time window (e.g. '24h', '7d', '3m'). (default: "24h")
max_resultsintegeroptionalMax articles to return. (default: 25)
source_countryanyoptionalFilter GDELT by source country code.
source_langanyoptionalFilter GDELT by source language code.
Request Body
{
  "query": "example"
}
get_news_sentiment

Get media sentiment timeline for a topic from global news sources (GDELT).

Returns tone values (-100 to +100) over time. Negative values indicate
negative coverage, positive values indicate positive coverage.

Examples:
get_news_sentiment(query="Tesla")
get_news_sentiment(query="Norway economy", timespan="3m")
get_news_sentiment(query="OpenAI", timespan="30d", smooth=5)

ParameterTypeRequiredDescription
querystringrequiredTopic to analyze sentiment for.
timespanstringoptionalTime window (e.g. '24h', '7d', '3m'). (default: "7d")
smoothintegeroptionalSmoothing factor for timeline. (default: 0)
Request Body
{
  "query": "example"
}
get_news_coverage

Get media coverage volume timeline for a topic from global news sources (GDELT).

Returns the volume of articles published over time, useful for detecting
when a topic spikes in media attention.

Examples:
get_news_coverage(query="Bitcoin")
get_news_coverage(query="climate summit", timespan="30d")
get_news_coverage(query="election", timespan="3m", smooth=3)

ParameterTypeRequiredDescription
querystringrequiredTopic to measure coverage for.
timespanstringoptionalTime window (e.g. '24h', '7d', '3m'). (default: "7d")
smoothintegeroptionalSmoothing factor for timeline. (default: 0)
Request Body
{
  "query": "example"
}
get_news_geography

Get geographic breakdown of media coverage for a topic from GDELT.

Shows which countries' media are covering a topic and their relative volume.
Useful for understanding the geographic spread of news coverage.

Examples:
get_news_geography(query="Ukraine")
get_news_geography(query="oil prices", timespan="7d")
get_news_geography(query="artificial intelligence", timespan="3m")

ParameterTypeRequiredDescription
querystringrequiredTopic to analyze geographic coverage for.
timespanstringoptionalTime window (e.g. '24h', '7d', '3m'). (default: "24h")
Request Body
{
  "query": "example"
}
list_news_intelligence_sources

List all news intelligence data sources, their coverage, and data types.

Shows which news databases and community platforms are queried
during news intelligence operations.

Examples:
list_news_intelligence_sources()

Request Body
{
  "query": "example"
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
Request Body
{
  "feedback": "example"
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/rest/news-intelligence/search_news" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"query": "example"}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/rest/news-intelligence/search_news",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={
  "query": "example"
},
)
print(resp.json())

Related Toolkits (Media)

Resources