{
  "x402Version": 2,
  "id": 12983,
  "slug": "12983",
  "resource": "https://x402.professorsausages.com/news/headlines",
  "description": "Newest headlines from a deduped, tiered direct-feed pile (official press + wires/majors + trade press + Hacker News + gated GDELT), newest first — filter by category, source, and language",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x54ebFCF3870439B9db62381848c5DabC05c70d5B",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "10000",
      "maxTimeoutSeconds": 60
    }
  ],
  "outputSchema": {
    "bazaar": {
      "category": "news",
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "category": "Restrict to one topical category.",
            "lang": "ISO-639-1 language code.",
            "limit": "How many articles to return.",
            "source": "Restrict to one ingestion source. gnews is retired (archived articles only)."
          },
          "type": "http"
        },
        "output": {
          "properties": {
            "articles": {
              "items": {
                "properties": {
                  "categories": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "cluster": {
                    "description": "Story-cluster id — articles sharing one are the SAME story from different outlets. The served window already keeps only one article per cluster, so this is provenance, not a filter you must apply. null when the headline was too short to cluster safely.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "country": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "domain": {
                    "type": "string"
                  },
                  "feed": {
                    "description": "Human feed label, e.g. \"BBC World\", \"Hacker News\", \"GDELT: technology\".",
                    "type": "string"
                  },
                  "id": {
                    "description": "sha1(normalized url) hex, first 16 chars — the dedupe key.",
                    "type": "string"
                  },
                  "lang": {
                    "description": "ISO-639-1 language, best-effort.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "published": {
                    "description": "ISO-8601 publish time (best-effort).",
                    "type": "string"
                  },
                  "seen_at": {
                    "type": "string"
                  },
                  "snippet": {
                    "description": "Short plain-text description from the feed (≤240 chars); absent when the feed carries none.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "source": {
                    "enum": [
                      "gdelt",
                      "hn",
                      "rss",
                      "gnews",
                      "sitemap"
                    ],
                    "type": "string"
                  },
                  "tier": {
                    "description": "Reputability tier of the feed: official (Fed/SEC/White House/BLS/ECB press), major (wires + major outlets), trade (quality trade press), social (Hacker News), enrichment (GDELT-discovered, reputation-gated). Absent on records archived before the tiered portfolio.",
                    "enum": [
                      "official",
                      "major",
                      "trade",
                      "social",
                      "enrichment",
                      null
                    ],
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "title": {
                    "type": "string"
                  },
                  "tone": {
                    "description": "GDELT document tone (negative = adverse), attached by URL match from GDELT's 15-minute files — present on any source GDELT also saw; null otherwise.",
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "title",
                  "url",
                  "domain",
                  "source",
                  "feed",
                  "published",
                  "categories",
                  "seen_at"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "count": {
              "type": "integer"
            },
            "freshness": {
              "properties": {
                "as_of": {
                  "description": "updated_at of the corpus this response was served from.",
                  "type": "string"
                },
                "coverage": {
                  "properties": {
                    "articles": {
                      "description": "Articles covering that span.",
                      "type": "integer"
                    },
                    "hours": {
                      "description": "newest − oldest in hours — the searchable depth, usually far below window_hours.",
                      "type": "number"
                    },
                    "newest_published": {
                      "description": "Newest publish time held.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "oldest_published": {
                      "description": "Oldest publish time held; the real floor of any date filter.",
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "oldest_published",
                    "newest_published",
                    "hours",
                    "articles"
                  ],
                  "type": "object"
                },
                "source_count": {
                  "description": "Number of sources with ≥1 article in the current pile.",
                  "type": "integer"
                },
                "window_hours": {
                  "description": "Retention POLICY in hours (72). NOT the searchable depth — see coverage.hours.",
                  "type": "integer"
                }
              },
              "required": [
                "as_of",
                "window_hours",
                "source_count",
                "coverage"
              ],
              "type": "object"
            },
            "updated_at": {
              "type": "string"
            },
            "window_hours": {
              "type": "integer"
            }
          },
          "required": [
            "updated_at",
            "window_hours",
            "count",
            "articles",
            "freshness"
          ],
          "type": "object"
        }
      },
      "routeTemplate": "https://x402.professorsausages.com/news/headlines",
      "schema": {
        "properties": {
          "input": {
            "type": "object"
          },
          "output": {
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    },
    "catalog": {
      "catalogUrl": "https://x402.professorsausages.com/?ref=402&v=related&from=news",
      "message": "You called Multi-Source News. Agents doing news work commonly also use these — same pay-per-call model, each with a FREE real sample record (freeSample link):",
      "related": [
        {
          "call": "/token-safety?ref=xsell&v=related&from=news",
          "freeSample": "/token-safety/sample?ref=xsell&v=related&from=news",
          "name": "Token Safety Check",
          "summary": "On-chain token risk screening for agents"
        },
        {
          "call": "/address-screen?ref=xsell&v=related&from=news",
          "freeSample": "/address-screen/sample?ref=xsell&v=related&from=news",
          "name": "Address Risk Screen",
          "summary": "Crypto address risk screening for agents"
        },
        {
          "call": "/sanctions-screen?ref=xsell&v=related&from=news",
          "freeSample": "/sanctions-screen/sample?ref=xsell&v=related&from=news",
          "name": "OFAC Sanctions Name Screen",
          "summary": "Fuzzy OFAC name screening for agents with compliance duties"
        }
      ],
      "strategy": "related"
    },
    "discount": {
      "header": "X-Intent",
      "hint": "Send X-Intent: <40+ chars describing what you're building and what data you need> for 50% off this call.",
      "off": "50%"
    },
    "help": {
      "docs": "https://x402.professorsausages.com/news",
      "example": "https://x402.professorsausages.com/news/headlines",
      "openapi": "https://x402.professorsausages.com/news/openapi.json",
      "sample": "https://x402.professorsausages.com/news/sample"
    },
    "sample": {
      "hint": "A real cached response from this API (with its capture timestamp), free — judge the data quality before paying.",
      "url": "https://x402.professorsausages.com/news/sample"
    },
    "suggest": {
      "hint": "Missing data you'd pay for? POST {want, would_pay_usd} — free. The most-requested datasets get built first.",
      "url": "https://x402.professorsausages.com/suggest"
    }
  },
  "tags": [
    "bazaar",
    "catalog",
    "discount",
    "help",
    "sample",
    "suggest"
  ],
  "sourceHost": "x402.professorsausages.com",
  "lastUpdated": "2026-09-17T07:05:06.8Z",
  "quality": {
    "calls30d": 3,
    "uniquePayers30d": 3,
    "lastCalledAt": "2026-09-17T07:05:06.419Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "x402.professorsausages.com",
    "manifest_name": "x402.professorsausages.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}