# Yodeler News Feed API

> Yodeler News Feed API is a paid API for AI agents from x402.yodeler.xyz, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Returns paginated news items from the Yodeler database, priced dynamically based on row count and recency of the requested data.

## Facts

- Endpoint: GET https://x402.yodeler.xyz/v1/news
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/yodeler-news-feed-api-c62fd3d8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Vsbd9QUvCOWrFxJ_4oTFO

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 yodeler-news-feed-api-c62fd3d8
```

Example prompt: Pull up to 100 news items from Yodeler published since January 1st, 2025 — filter to Telegram channel 1234567 if possible.

## When to prefer this

Use this endpoint when you need to retrieve raw news records from the Yodeler database, especially when filtering by recency or Telegram source channel. It is ideal for agents that need freshness-aware, pay-per-use news data with dynamic pricing. Check /v1/news/availability first if you want to preview whether a given query will be free before committing payment.

## Known failure modes

- No results returned if the 'since' timestamp is too recent and no data exists in that window
- Payment required (402) if the query is not free — use /v1/news/availability to preview cost first
- Invalid channel ID returns empty result set or error
- Limit exceeding 500 rejected with validation error
- Malformed date-time format for 'since' parameter causes schema validation failure

## How this service works

Forwarded news data from the Yodeler database. Price is computed from the actual billable row count and requested recency. Use /v1/news/availability to preview whether the query is free before paying.

## Output

A list of news records from the Yodeler database, up to the requested limit, optionally filtered by timestamp and Telegram source channel. Each record reflects actual billable rows, and pricing scales with the number of rows returned and their recency.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "integer",
       "default": 50,
       "maximum": 500,
       "minimum": 1,
       "description": "Maximum batch size to price and return."
      },
      "since": {
       "type": "string",
       "format": "date-time",
       "description": "Optional lower-bound timestamp for freshness-aware pricing."
      },
      "channel": {
       "type": "integer",
       "description": "Optional Telegram source channel id filter."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "meta": {
   "sort": "created_at_desc",
   "limit": 200,
   "since": "2026-05-01T12:00:00Z",
   "channel": 123,
   "is_free": false,
   "has_more": true,
   "quote_id": "news_5f25b7aab0f8c302",
   "next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNS0wMVQxMjowMDowMCswMDowMCIsImlkIjoiMDE5NjFjMWItY2Y2Zi03N2VjLWI2NmQtYzZlZjI4MTlkZDg2In0",
   "pricing_hash": "5f25b7aab0f8c3029c9a7e708c0f2cb0ad3c8f7d12253ec48f0f3e927af1cc19d",
   "delivery_mode": "paid",
   "billable_count": 180,
   "available_count": 180
  },
  "count": 1,
  "items": [
   {
    "id": "01961c1b-cf6f-77ec-b66d-c6ef2819dd86",
    "source_id": 123,
    "created_at": "2026-05-01T12:00:00Z",
    "message_text": "Breaking news: Yodeler forwarded another headline.",
    "destination_id": 456,
    "destination_type": "telegram"
   }
  ],
  "window": {
   "newest_created_at": "2026-05-01T12:00:00Z",
   "oldest_created_at": "2026-05-01T12:00:00Z"
  },
  "payment": {
   "asset": "0x833589fCD6EDb6E08f4c7C32D4f71b54bdA02913",
   "price": "$0.01",
   "amount": "10000",
   "pay_to": "0x1111111111111111111111111111111111111111",
   "scheme": "exact",
   "network": "eip155:8453",
   "currency": "USD"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/yodeler-news-feed-api-c62fd3d8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.yodeler.xyz](https://www.zero.xyz/host/x402.yodeler.xyz/llms.txt)
