# Grokzilla News Brief – Topic-to-Story Clusters

> Grokzilla News Brief – Topic-to-Story Clusters is a paid API for AI agents from grokzilla.shop, paid per call via x402, $0.0101/call, status unknown (last checked 2026-10-27).

Takes a topic string and returns deduplicated news story clusters with headlines and outlet URLs, sourced from GDELT and publisher RSS feeds, over a configurable time window.

## Facts

- Endpoint: POST https://grokzilla.shop/api/skills/news-brief?utm_source=zero.xyz
- Price: $0.0101/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/grokzilla-news-brief-topic-to-story-clusters-59579358
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ukeRoPqULwPrtSH3SSYyr

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 grokzilla-news-brief-topic-to-story-clusters-59579358 -d '<json body>'
```

Example prompt: Can you pull the top 10 news story clusters about 'electric vehicle recalls' from the past 3 days — I want the headlines and all outlet URLs grouped by story?

## When to prefer this

Use this endpoint when you need fast, deduplicated multi-source news clustering for a specific topic with minimal cost per call. Prefer it over full-text article APIs when headlines and outlet links are sufficient. It excels at media monitoring, newsletter curation, and event coverage aggregation. The GDELT + RSS sourcing gives broad coverage across publishers. The per-call pricing and free-on-no-match policy make it safe for speculative topic queries.

## Known failure modes

- No matching stories found for topic — returns empty result set, no charge applied
- Source failure (GDELT or RSS unavailable) — returns empty or partial result, no charge applied
- Topic string too short (<2 chars) or too long (>100 chars) — validation error
- Invalid timespan value — must be one of 24h, 3d, 7d
- max_clusters out of range (must be 1–20) — validation error
- Duplicate request_id with same body — idempotently returns prior result without additional charge

## How this service works

Topic in, deduplicated story clusters out: headline, every outlet URL and first-seen time, from GDELT and publisher RSS. Headlines and links only, no article text. Not charged when nothing matches or sources fail.

## Output

A list of deduplicated story clusters, each containing a headline, all outlet URLs that covered the story, and the first-seen timestamp for each outlet. Returns up to max_clusters results (default 10, max 20). No article body text is included. No charge is applied if no stories match or if sources are unavailable.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "topic": {
   "type": "string",
   "maxLength": 100,
   "minLength": 2
  },
  "timespan": {
   "enum": [
    "24h",
    "3d",
    "7d"
   ],
   "type": "string",
   "default": "24h"
  },
  "request_id": {
   "type": "string",
   "pattern": "^[A-Za-z0-9._:-]+$",
   "maxLength": 64,
   "minLength": 1,
   "description": "Optional idempotency key. Echoed back; a credit-pack redemption with the same request_id and body is charged once."
  },
  "max_clusters": {
   "type": "integer",
   "default": 10,
   "maximum": 20,
   "minimum": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "data": {
   "terms": [
    "bitcoin"
   ],
   "topic": "bitcoin",
   "clusters": [
    {
     "latest": "2026-10-17T10:30:00Z",
     "outlets": [
      {
       "url": "https://www.wired.com/story/crypto-inheritance-how-to/",
       "via": "rss",
       "outlet": "Wired",
       "seen_at": "2026-10-17T10:30:00Z",
       "headline": "Don’t Let a Crypto Inheritance Get Stuck on the Blockchain"
      }
     ],
     "headline": "Don’t Let a Crypto Inheritance Get Stuck on the Blockchain",
     "first_seen": "2026-10-17T10:30:00Z",
     "outlet_count": 1
    },
    {
     "latest": "2026-10-17T06:39:48Z",
     "outlets": [
      {
       "url": "https://www.coindesk.com/tech/2026/10/17/wow-it-s-a-real-discovery-claude-cracks-a-25-year-nsa-number-mystery",
       "via": "rss",
       "outlet": "CoinDesk",
       "seen_at": "2026-10-17T06:39:48Z",
       "headline": "‘Wow, it’s a real discovery’: Claude cracks a 25-year NSA number mystery"
      }
     ],
     "headline": "‘Wow, it’s a real discovery’: Claude cracks a 25-year NSA number mystery",
     "first_seen": "2026-10-17T06:39:48Z",
     "outlet_count": 1
    }
   ],
   "searched": {
    "gdelt": false,
    "feeds_ok": 22,
    "feeds_total": 22
   },
   "timespan": "3d",
   "cluster_count": 2,
   "headline_count": 2
  },
  "next": [
   "url_to_markdown"
  ],
  "note": "Headlines and links only. No article text is republished.",
  "skill": "news_brief",
  "charged": true,
  "service": "news_brief",
  "sources": [
   {
    "url": "https://www.wired.com/feed/rss",
    "name": "Wired",
    "fetched_at": "2026-10-17T11:12:49Z"
   },
   {
    "url": "https://www.coindesk.com/arc/outboundfeeds/rss/",
    "name": "CoinDesk",
    "fetched_at": "2026-10-17T11:12:49Z"
   }
  ],
  "summary": "2 stories on 'bitcoin'; top: Don’t Let a Crypto Inheritance Get Stuck on the Blockchain",
  "version": "1.0.0",
  "warnings": [
   "headlines and links only; open the outlet URL for the article",
   "GDELT did not answer in time (it rate-limits shared IPs); results come from publisher RSS only"
  ],
  "confidence": 0.7,
  "data_as_of": "2026-10-17T11:12:49Z",
  "generated_at": "2026-10-17T11:12:56Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/grokzilla-news-brief-topic-to-story-clusters-59579358/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from grokzilla.shop](https://www.zero.xyz/host/grokzilla.shop/llms.txt)
