80trust / 100

Feeds Parse

by Tanod utilpeek in News & content

x402 APIPassing, checked 1 h ago

RSS to JSON: parse an RSS, Atom or RDF feed URL into clean JSON, feed data and items with UTC dates, plain-text summaries and audio enclosures (utilpeek by Tanod). Use when an agent must read an RSS, Atom or podcast feed URL as clean JSON (feed data, items, dates, enclosures).

POST https://tanod.dev/v1/feeds/parse

Last 30 days

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

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://tanod.dev/v1/feeds/parse" \
  -H "content-type: application/json" \
  -d '{"limit":5,"url":"https://lexfridman.com/feed/podcast/"}'
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%2Ftanod.dev%2Fv1%2Ffeeds%2Fparse
const res = await pay("https://tanod.dev/v1/feeds/parse", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"limit":5,"url":"https://lexfridman.com/feed/podcast/"}),
});
console.log(await res.json());

Example input

{
  "limit": 5,
  "url": "https://lexfridman.com/feed/podcast/"
}

Example output

{
  "feed": {
    "author": "Lex Fridman",
    "categories": [
      "Technology",
      "Science",
      "Society & Culture",
      "Philosophy"
    ],
    "copyright": null,
    "description": "Conversations that explore technology, history, philosophy, physics, mathematics and the human condition with people from all walks of life.",
    "explicit": false,
    "generator": "Blubrry PowerPress/11.17.11",
    "image": "https://lexfridman.com/wordpress/wp-content/uploads/powerpress/artwork_3000-230.png",
    "is_podcast": true,
    "language": "en-US",
    "link": "https://lexfridman.com/",
    "title": "Lex Fridman Podcast",
    "updated": "2026-10-10T23:30:34Z"
  },
  "final_url": "https://lexfridman.com/feed/podcast/",
  "format": "rss",
  "item_count": 502,
  "items": [
    {
      "author": null,
      "categories": [
        "ai"
      ],
      "duration_s": 19317,
      "enclosure": {
        "length": 249955445,
        "type": "audio/mpeg",
        "url": "https://media.blubrry.com/takeituneasy/ins.blubrry.com/takeituneasy/lex_ai_dhh_2.mp3"
      },
      "episode": null,
      "episode_type": "full",
      "guid": "https://lexfridman.com/?p=6506",
      "image": null,
      "link": "https://lexfridman.com/dhh-2/",
      "published": "2026-08-26T21:47:04Z",
      "season": null,
      "summary": "DHH is the creator of Ruby on Rails, Omarchy Linux, CTO of 37signals, and a racecar driver.",
      "title": "#501 – DHH: Future of Programming, AI, Agentic Engineering, Vibe Coding & Linux"
    }
  ],
  "operation": "feed-parse",
  "returned": 1,
  "truncated": true,
  "untrusted_content": true,
  "url": "https://lexfridman.com/feed/podcast/"
}

Security scan

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

Recent checks

WhenResultHTTPTimePrice
1 h agoPassed402827 ms$0.002
5 h agoPassed402278 ms$0.002
14 h agoPassed402259 ms$0.002