📄 This repository is documentation only. The Actor itself runs on the Apify platform — there is no source code here. Use this page to learn what the tool does, see the input/output shape, and copy ready-to-run API, CLI, JavaScript and Python snippets that call the hosted Actor.
The RSS Feed Reader is an Apify Actor that reads hundreds of RSS, Atom and RSS 1.0 / RDF feeds in a single run and returns one clean, normalized row per item. Paste a list of feed URLs — or turn on feed auto-discovery and paste plain website URLs, and it finds each site's feed for you via <link rel="alternate"> hints and common feed paths (/feed, /rss.xml, /atom.xml, /index.xml).
Every feed dialect is normalized into the same shape, entries are de-duplicated by GUID/link across overlapping sources, and dates are parsed into sortable ISO 8601. For each article you get its title, link, guid, pubDate, author, categories, a plain-text contentSnippet, the full HTML content when provided, and the enclosureUrl (podcast/media audio). It's a bulk RSS → JSON / CSV converter, an Atom & RDF feed parser and a feed aggregator rolled into one.
Runs are pure HTTP with high concurrency — no browser, no API key, no login — so many feeds × many items easily produce thousands of results per run, fast and cheap. Export the dataset to JSON, CSV, Excel, JSONL or XML, or pull it straight from the Apify API into a reader app, a news dashboard, a data warehouse or an AI/RAG ingestion pipeline.
- 📡 Every common feed format — RSS 2.0, RSS 1.0 / RDF and Atom, all normalized into one consistent item shape.
- 🔎 Feed auto-discovery — paste a plain website URL and the reader locates its feed automatically.
- 🧾 Full item metadata —
title,link,guid,pubDate,author,categories,contentSnippet, full HTMLcontent,enclosureUrl. - 🧹 De-duplication by GUID/link — the same article never lands twice, even across overlapping feeds.
- 🗓️ Normalized ISO 8601 dates — every
pubDateis sortable and filterable regardless of the feed's original format. - 🎙️ Podcast-ready — each item carries
enclosureUrl, so podcast RSS yields per-episode audio/media links. - 🛡️ Per-feed error isolation — one broken or slow feed is skipped without stopping the run.
- 📤 Export-ready — one row per item for JSON, CSV, Excel, JSONL or XML.
- News & brand monitoring — track topics, mentions and outlets across hundreds of news feeds in near real time.
- Content aggregation — power a reader, dashboard or homepage from dozens of sources with a single de-duplicated stream.
- AI / RAG / LLM pipelines — turn fresh feed content (title, link, date, author, full
content) into structured rows for retrieval, summarization or fine-tuning. - Competitive intelligence — watch competitor blogs, changelogs and press feeds and catch every new post.
- Podcast & newsletter tracking — follow podcast RSS and Substack/blog feeds, capturing the
enclosureUrlaudio link per episode. - Research & archiving — snapshot what a set of sources published, with ISO timestamps, for analysis or compliance.
You need a free Apify account and (for API/SDK use) your API token from Settings → Integrations. Empty input reads a small default set of popular news/tech feeds, so you can see results immediately.
- Open the RSS Feed Reader and click Try for free.
- Paste your Feed URLs (one per line) — or turn on Discover feeds from websites and paste plain site URLs instead. Leave empty for the default sample feeds.
- Click Start, then open the Output tab and export to JSON / CSV / Excel.
npm install -g apify-cli
apify login
apify call logiover/bulk-rss-feed-reader \
--input='{ "feedUrls": ["https://hnrss.org/frontpage", "https://techcrunch.com/feed/"] }'curl -X POST "https://api.apify.com/v2/acts/logiover~bulk-rss-feed-reader/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"feedUrls": ["https://hnrss.org/frontpage", "https://www.theverge.com/rss/index.xml"],
"maxItemsPerFeed": 25,
"maxResults": 1000
}'npm install apify-clientimport { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('logiover/bulk-rss-feed-reader').call({
feedUrls: ['https://hnrss.org/frontpage', 'https://techcrunch.com/feed/'],
maxItemsPerFeed: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);pip install apify-clientfrom apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("logiover/bulk-rss-feed-reader").call(run_input={
"feedUrls": ["https://hnrss.org/frontpage", "https://techcrunch.com/feed/"],
"maxItemsPerFeed": 25,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["pubDate"], item["title"])📘 More detailed snippets: CLI · API / curl · JavaScript · Python
Everything is optional — leave the input empty to read a small default set of popular feeds.
| Field | Type | Default | Description |
|---|---|---|---|
feedUrls |
array (string list) | default feeds | RSS / Atom / RDF feed URLs, one per line. With discoverFromWebsites on, plain website URLs work too. |
discoverFromWebsites |
boolean | false |
Treat non-feed URLs as websites and auto-discover their feeds via <link> tags and common feed paths. |
maxItemsPerFeed |
integer | 0 |
Maximum items to take from each feed. 0 = all available items. |
maxResults |
integer | 1000 |
Hard ceiling on total item rows across all feeds (caps run size and cost). 0 = unlimited. |
maxConcurrency |
integer | 10 |
How many feeds to fetch in parallel (1–100). Higher is faster but uses more proxies. |
proxyConfiguration |
object | Apify Proxy on | Proxy settings; recommended to avoid IP-based rate limits on large runs. |
Example — auto-discover feeds from plain website URLs
{
"feedUrls": ["https://www.theverge.com", "https://arstechnica.com"],
"discoverFromWebsites": true,
"maxItemsPerFeed": 25
}One row per feed item — 12 fields. Sample record:
{
"feedUrl": "https://techcrunch.com/feed/",
"feedTitle": "TechCrunch",
"title": "A new startup wants to reinvent the RSS reader",
"link": "https://techcrunch.com/2026/06/14/rss-reader-startup/",
"guid": "https://techcrunch.com/?p=2847193",
"pubDate": "2026-06-14T16:32:00.000Z",
"author": "Jane Doe",
"categories": "Startups, Apps",
"contentSnippet": "The team behind the project says RSS is overdue for a comeback...",
"content": "<p>The team behind the project says RSS is overdue for a comeback, and they may be right.</p>",
"enclosureUrl": "",
"scrapedAt": "2026-07-06T09:00:00.000Z"
}| Field | Description |
|---|---|
feedUrl |
The feed URL the item came from |
feedTitle |
Title of the source feed / channel |
title |
Item / article title |
link |
Canonical URL of the item |
guid |
Unique item identifier (used for de-duplication) |
pubDate |
Publish date, normalized to ISO 8601 (or null) |
author |
Item author / creator, when the feed provides it |
categories |
Comma-separated tags / categories on the item |
contentSnippet |
Short plain-text summary / description |
content |
Full HTML content, when the feed provides it |
enclosureUrl |
Attached media URL — podcast audio, image, etc. |
scrapedAt |
ISO 8601 timestamp when the item was read |
- Schedule the Actor to poll your feeds hourly/daily — combined with GUID de-duplication it becomes a steady stream of only the new items across every source.
- Webhooks — trigger a downstream job or notification whenever a run finishes with new items.
- Export & sync — push results to Google Sheets, Amazon S3, a database or a BI tool via the Apify API.
- No-code pipelines — connect to Zapier, Make, n8n or Pipedream to build automated news, content and RAG pipelines.
- AI/RAG ingestion — stream JSONL output straight into a vector store or LLM summarization job.
CSV · JSON · JSONL · Excel (XLSX) · XML — from the run's Output tab or via the Apify API/SDK.
There's no single official "RSS API" — RSS, Atom and RDF are open formats served as XML by each site. This Actor works as an unofficial RSS-to-JSON API alternative: give it feed (or website) URLs and it returns clean, structured JSON rows with no API key.
Yes. There is no API key and no login — you just provide feed URLs (or plain websites with discovery on). The reader pulls each publicly available feed over direct HTTP and returns one row per item.
Yes — this is a bulk RSS reader. Paste hundreds of feed URLs and the Actor fetches them in parallel (configurable maxConcurrency) and merges every item into a single de-duplicated dataset.
Yes. It parses RSS 2.0, RSS 1.0 / RDF and Atom and normalizes them all into the same item shape, so you don't have to care which dialect a source uses.
Yes — turn on Discover feeds from websites and paste plain site URLs. The reader reads <link rel="alternate"> tags and probes common feed paths (/feed, /rss.xml, /atom.xml, /index.xml) to locate and parse the feed. It works as a built-in RSS feed discovery tool.
Paste your podcast feed URLs and each episode row includes the enclosureUrl field with the audio/media link, plus title, pubDate and contentSnippet. Set maxItemsPerFeed to grab only the latest N episodes.
Items that appear in more than one feed are collapsed by their GUID / link, so the same article won't show up twice even when you aggregate overlapping sources.
Run the Actor, then export the dataset as CSV, JSON, JSONL, Excel or XML from the Apify Console or the API. Every feed item is one row, so it drops straight into a spreadsheet — an instant RSS to JSON / RSS to CSV converter.
You can read hundreds of feeds and thousands of items per run. Use maxItemsPerFeed to keep only the latest posts per source and maxResults to cap a run's size and cost; leave both at 0 to backfill everything.
Absolutely. It outputs clean structured rows (title, link, date, author, full content) that feed directly into RAG/LLM ingestion, summarization or classification. Schedule it and its GUID de-dupe surfaces only newly published items each run.
RSS and Atom feeds are published by sites specifically to be read by feed readers, and this Actor only fetches publicly available feed data. You are responsible for using the content in compliance with each source's terms and applicable laws such as GDPR.
- 📝 Website Text & Markdown Crawler — crawl a site and get clean Markdown for LLMs and RAG.
- 🔗 Bulk URL Status Checker — check HTTP status and broken links for thousands of URLs at once.
👉 Browse all logiover actors on Apify Store.
📄 Documentation only — this repository contains no Actor source code. The RSS Feed Reader runs on the Apify platform.