RSS to JSON
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).
Answeringour last check, 2026-10-18
1 of 1checks answered this week
299 msmedian answer time
$0.002listed price per call
$0.002price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://tanod.dev/v1/feeds/parse
| Category | Image and media |
|---|---|
| Provider host | tanod.dev |
| Networks | eip155:137, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 2 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-18 | valid payment request | 402 | $0.002 | 299 ms |
Example input (from the provider)
{
"body": {
"limit": 5,
"url": "https://lexfridman.com/feed/podcast/"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 20,
"description": "Most items to return, 1-100 (default 20), in the feed's own order; item_count is the number the feed holds.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Public http(s) URL of an RSS 2.0, Atom or RDF feed (at most 8 MB; gzip accepted; private, internal and IP-literal hosts are refused).",
"maxLength": 2048,
"minLength": 1,
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"feed": {
"properties": {
"author": {
"type": [
"string",
"null"
]
},
"categories": {
"items": {
"type": "string"
},
"type": "array"
},
"copyright": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"explicit": {
"type": [
"boolean",
"null"
]
},
"generator": {
"type": [
"string",
"null"
]
},
"image": {
"type": [
"string",
"null"
]
},
"is_podcast": {
"type": "boolean"
},
"language": {
"type": [
"string",
"null"
]
},
"link": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
},
"updated": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"final_url": {
"type": [
"string",
"null"
]
},
"format": {
"enum": [
"rss",
"atom",
"rdf"
]
},
"item_count": {
"type": "integer"
},
"items": {
"items": {
"properties": {
"author": {
"type": [
"string",
"null"
]
},
"categories": {
"items": {
"type": "string"
},
"type": "array"
},
"duration_s": {
"type": [
"integer",
"null"
]
},
"enclosure": {
"properties": {
"length": {
"type": [
"integer",
"null"
]
},
"type": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
}
},
"type": [
"object",
"null"
]
},
"episode": {
"type": [
"integer",
"null"
]
},
"episode_type": {
"type": [
"string",
"null"
]
},
"guid": {
"type": [
"string",
"null"
]
},
"image": {
"type": [
"string",
"null"
]
},
"link": {
"type": [
"string",
"null"
]
},
"published": {
"type": [
"string",