77trust / 100

News Sentiment

by x402stock.xyz in News & content

x402 APIPassing, checked 2 h ago

Global news tone for any company, ticker, or topic, from the GDELT Project's worldwide news monitoring. Pass `?q=Nvidia` (required), `?timespan=1d|3d|1w|2w|1m|3m` (default 1w). Returns article-weighted average tone with a positive/neutral/negative label and split, article count, the headlines at each end of the tone range, and trend when cached. `stale: true` marks an older copy. From x402stock

GET https://x402stock.xyz/api/v1/news-sentiment

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
359 ms typical, 530 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402stock.xyz/api/v1/news-sentiment?q=Nvidia&timespan=1w"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402stock.xyz%2Fapi%2Fv1%2Fnews-sentiment
const res = await pay("https://x402stock.xyz/api/v1/news-sentiment?q=Nvidia&timespan=1w");
console.log(await res.json());

Example input

{
  "q": "Nvidia",
  "timespan": "1w"
}

Example output

{
  "as_of": "2026-09-18T19:20:32.000Z",
  "attribution": "Source: The GDELT Project (https://www.gdeltproject.org/)",
  "indexed_through": null,
  "query": "Nvidia",
  "recent_articles": [],
  "sentiment": {
    "average_tone": 0.061,
    "distribution": {
      "negative": 0.201,
      "neutral": 0.578,
      "positive": 0.222
    },
    "label": "neutral",
    "latest_tone": null,
    "scale": "GDELT tone, roughly -10 (very negative) to +10 (very positive); 0 is neutral. average_tone is weighted by article and, because GDELT reports tone in whole-point bins, is good to about ±0.5; distribution splits articles at -2 and +2.",
    "trend": "unknown"
  },
  "source": "x402stock",
  "stale": false,
  "timespan": "1w",
  "tone_timeline": [],
  "top_articles": [
    {
      "domain": "digg.com",
      "title": "Can Nvidia withstand competition ? Reuters says Viewsroom debates the question · Digg",
      "tone": -11,
      "url": "https://digg.com/tech/omx5x4zb"
    },
    {
      "domain": "thehindubusinessline.com",
      "title": "Bodhan AI , AI4Bharat launch open - weight AI models for Indic languages",
      "tone": 5,
      "url": "https://www.thehindubusinessline.com/info-tech/bodhan-ai-launches-open-weight-foundational-ai-models-for-indic-languages/article71457810.ece"
    }
  ],
  "venue": "gdelt",
  "volume": {
    "points": 0,
    "total_articles": 374
  },
  "volume_timeline": []
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402359 ms$0.02
5 h agoPassed402530 ms$0.02
9 h agoPassed402252 ms$0.02
12 h agoPassed402287 ms$0.02
16 h agoPassed402405 ms$0.02
20 h agoPassed402265 ms$0.02
23 h agoPassed402313 ms$0.02
27 h agoPassed402359 ms$0.02
31 h agoPassed402393 ms$0.02
34 h agoPassed402976 ms$0.02
39 h agoPassed402241 ms$0.02