Utilities
Fetch public RSS or Atom items into JSONL
rss-read is a Trickest node built on the feedparser library that loads public RSS or Atom feeds and writes each feed item, together with its enclosure URLs, as JSONL for downstream nodes.
installpip install feedparser
Python
overview
What rss-read does
You have a public feed URL or a file of feed URLs, and the next node needs items, not a browser session. Set --url for one feed or --feeds for a file. The wrapper writes items.jsonl, items.json, digest.md, and results.jsonl into --outdir. Enclosure URLs stay on each item so yt-dlp can download audio later.
--max-per-feed caps how many items each feed contributes. --max-age-hours drops older entries. --section labels the batch. --feeds-text is an inline list when you do not want a file. --fail-fast exits on the first feed error; leave it disconnected so a single dead feed does not fail the node.
rss-read fetches public feeds only. It does not log in, bypass a paywall, or invent items. Cloud fetches can still be rate-limited. Pair it with yt-dlp on enclosure URLs when you need the audio file, then whisper when you need speech as text.
use cases
Where rss-read fits
Read one podcast feed
Set --url and --max-per-feed 2. items.jsonl holds the newest entries and their enclosure URLs.
Read a file of feeds
Pass --feeds a JSON array or one URL per line. --section labels every item from this run.
Drop stale items
Set --max-age-hours when you only want the last day or week.
Hand enclosures to yt-dlp
Read enclosure URLs from items.jsonl. yt-dlp downloads the media. whisper transcribes it.
reference
rss-read inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | --url | Single RSS or Atom feed URL. |
| feeds | FILE | --feeds | File of feed URLs (JSON array or one per line). |
| max-per-feed | STRING | --max-per-feed | Max items kept per feed. Default 25. |
| in | FOLDER | --indir | Upstream folder with a feeds file. |
Showing key inputs. rss-read exposes 10 inputs in total.
Full flag reference (10 inputs)
| Name | Type | Flag | Description |
|---|---|---|---|
| in | FOLDER | --indir | Upstream folder with a feeds file (JSON / JSONL / one URL per line) |
| url | STRING | --url | Single RSS/Atom feed URL |
| feeds | FILE | --feeds | File of feed URLs (JSON array preferred; avoid shell-special chars in inline values) |
| feeds-text | STRING | --feeds-text | Inline feed list body (prefer JSON). Avoid unquoted '|' in values. |
| section | STRING | --section | Default section label applied to items from this run |
| max-per-feed | STRING | --max-per-feed | Max items kept per feed (default: 25) |
| max-age-hours | STRING | --max-age-hours | Drop items older than N hours (0 = keep all) |
| summary-chars | STRING | --summary-chars | Max summary length per item (default: 500) |
| user-agent | STRING | --user-agent | Override HTTP User-Agent |
| fail-fast | BOOLEAN | --fail-fast | Exit non-zero on the first feed failure (default continues) |
example
Run rss-read
rss-read --url https://example.com/feed.xml --max-per-feed 2 --outdir /hive/out{"title":"Example briefing","link":"https://example.com/ep/1","enclosure":"https://example.com/ep/1.mp3"}
{"title":"Second item","link":"https://example.com/ep/2","enclosure":"https://example.com/ep/2.mp3"}guidance
Choosing rss-read
Use rss-read when the source is a public RSS or Atom URL and you need items plus enclosures. Use yt-dlp when you already have a media URL. Use wget when you only need to download a file.
yt-dlp
Downloads media from a URL or enclosure. Run it after rss-read when you need the audio file.
wget
Downloads one HTTP file. It does not parse a feed into items.
trafilatura
Extracts article body text from a page URL. Use it when the source is HTML, not a feed.
faq
rss-read questions
related
More Utilities tools
browser-fetch
Headless Chromium render: requested URL, final URL, status, and title next to the page.
cewl
Spider a URL and return a wordlist for password crackers.
csvkit
SQL on one CSV. The table name is the file stem.
dnsgen
Wordlist and mined-word subdomain permutation.
duckdb
In-process SQL on CSV, JSON, and Parquet. No server.
edge-tts
Microsoft Edge neural speech from text or a script file. No API key.
Run rss-read yourself
A public feed URL feeds rss-read. items.jsonl and digest.md come from a completed run. Sample lines use example.com hosts.
Facts on this page come from the live Trickest tool library.