# Tanod utilpeek News Search

> Tanod utilpeek News Search is a paid API for AI agents from tanod.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-11).

Searches the GDELT news index for recent articles matching a query, returning headlines, links, sources, timestamps, and optional sentiment labels, newest first.

## Facts

- Endpoint: POST https://tanod.dev/v1/news/search?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-utilpeek-news-search-32d2cbf3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CX8LqJUCxo9KL51h6xFcH

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tanod-utilpeek-news-search-32d2cbf3 -d '<json body>'
```

Example prompt: Search for the latest news on stablecoin regulation from the past 24 hours — give me up to 20 headlines with links, sources, and timestamps, and include sentiment labels for each.

## When to prefer this

Use this endpoint when an agent needs freshly indexed real-world news articles — headlines, links, sources, and timestamps — especially when recency matters (last hours to 7 days). It is better than general web search when you specifically want news articles rather than arbitrary web pages, and when optional per-headline sentiment scoring is useful. Prefer it over social media search when you want traditional press sources. The GDELT backend provides broad multilingual coverage and optional domain filtering.

## Known failure modes

- Query returns no results if topic is too obscure or outside GDELT coverage window
- Invalid ISO 639-1 language code returns an error or empty result
- Requested domain has no indexed articles in the given timespan
- Sentiment analysis only applies to English headlines; non-English may return null sentiment
- Since value outside 1-168 range or malformed query triggers a validation error
- Rate limiting or payment failure results in a 402 response

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

Returns a list of news articles sorted newest first, each containing the headline text, article URL, source domain, publication timestamp, and optionally a sentiment label (positive/negative/neutral) with a numeric score. Up to 50 articles per call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lang": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 2,
     "minLength": 2
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional: only articles in this source language, ISO 639-1 (en, es, de, fr, ja ...)."
  },
  "limit": {
   "type": "integer",
   "default": 20,
   "maximum": 50,
   "minimum": 1,
   "description": "Most articles to return, 1-50 (default 20)."
  },
  "query": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1,
   "description": "Search words or a quoted phrase (1-200 printable characters), such as stablecoin regulation."
  },
  "since": {
   "anyOf": [
    {
     "type": "integer",
     "maximum": 168,
     "minimum": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional: articles from the last 1-168 hours. Overrides timespan."
  },
  "domain": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 253,
     "minLength": 3
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional: only articles from this site and its subdomains, such as reuters.com."
  },
  "timespan": {
   "enum": [
    "1h",
    "6h",
    "24h",
    "3d",
    "7d"
   ],
   "type": "string",
   "default": "24h",
   "description": "Window when since is not given: 1h, 6h, 24h (default), 3d or 7d."
  },
  "sentiment": {
   "type": "boolean",
   "default": false,
   "description": "Add a positive / negative / neutral label and score to each headline (English VADER heuristic)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "max": 2,
  "lang": "en",
  "count": 2,
  "query": "stablecoin",
  "domain": null,
  "source": "GDELT Project (gdeltproject.org)",
  "articles": [
   {
    "url": "https://cryptobriefing.com/french-finance-panel-backs-taxing-bitcoin-to-stablecoin-swaps-in-2027-budget/",
    "tone": -0.8,
    "title": "French finance panel backs taxing Bitcoin-to-stablecoin swaps in 2027 budget",
    "domain": "cryptobriefing.com",
    "themes": [
     "ECON_CURRENCY_EXCHANGE_RATE",
     "TAX"
    ],
    "entities": [
     "French Finance Committee"
    ],
    "language": "en",
    "published_at": "2026-10-09T13:00:00Z"
   },
   {
    "url": "https://cryptobriefing.com/ethereum-leads-stablecoin-market-cap-growth/",
    "tone": 1.2,
    "title": "Ethereum leads stablecoin market cap growth, adding $243M in a week",
    "domain": "cryptobriefing.com",
    "themes": [
     "ECON_BITCOIN"
    ],
    "entities": [
     "Ethereum"
    ],
    "language": "en",
    "published_at": "2026-10-09T11:30:00Z"
   }
  ],
  "timespan": "24h",
  "attribution": {
   "url": "https://www.gdeltproject.org/",
   "source": "The GDELT Project"
  },
  "untrusted_content": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-utilpeek-news-search-32d2cbf3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
