Utilities
Fetch public RSS or Atom items into JSONL
Public RSS or Atom items, plus enclosure URLs, as JSONL.
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.