Updated Sep 21, 2026

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

Agent

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.

source github.com/kurtmckee/feedparser

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

10 inputs
NameTypeFlagDescription
urlSTRING--urlSingle RSS or Atom feed URL.
feedsFILE--feedsFile of feed URLs (JSON array or one per line).
max-per-feedSTRING--max-per-feedMax items kept per feed. Default 25.
inFOLDER--indirUpstream folder with a feeds file.

Showing key inputs. rss-read exposes 10 inputs in total.

Full flag reference (10 inputs)
NameTypeFlagDescription
inFOLDER--indirUpstream folder with a feeds file (JSON / JSONL / one URL per line)
urlSTRING--urlSingle RSS/Atom feed URL
feedsFILE--feedsFile of feed URLs (JSON array preferred; avoid shell-special chars in inline values)
feeds-textSTRING--feeds-textInline feed list body (prefer JSON). Avoid unquoted '|' in values.
sectionSTRING--sectionDefault section label applied to items from this run
max-per-feedSTRING--max-per-feedMax items kept per feed (default: 25)
max-age-hoursSTRING--max-age-hoursDrop items older than N hours (0 = keep all)
summary-charsSTRING--summary-charsMax summary length per item (default: 500)
user-agentSTRING--user-agentOverride HTTP User-Agent
fail-fastBOOLEAN--fail-fastExit non-zero on the first feed failure (default continues)

example

Run rss-read

rss-read · command
rss-read --url https://example.com/feed.xml --max-per-feed 2 --outdir /hive/out
sample output
{"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

Set --url and optionally --max-per-feed. The folder holds items.jsonl, items.json, digest.md, and results.jsonl.

On each item as an enclosure field when the feed publishes one. Pass that URL to yt-dlp.

Yes. Use --feeds or --feeds-text. --max-per-feed applies to each feed.

No. Public feeds only. A 401 or empty items.jsonl is a failed fetch.

Leave boolean ports disconnected unless you want the node to exit on the first dead feed.

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.