Skip to content

logiover/bulk-rss-feed-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

RSS Feed Reader 📡 — Bulk RSS, Atom & RDF Feed Parser to JSON/CSV (No API / No login)

Apify Actor No API key Pay per result Feeds

📄 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.


What is the RSS Feed Reader?

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.

✨ What you get

  • 📡 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 metadatatitle, link, guid, pubDate, author, categories, contentSnippet, full HTML content, enclosureUrl.
  • 🧹 De-duplication by GUID/link — the same article never lands twice, even across overlapping feeds.
  • 🗓️ Normalized ISO 8601 dates — every pubDate is 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.

💡 Use cases

  • 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 enclosureUrl audio link per episode.
  • Research & archiving — snapshot what a set of sources published, with ISO timestamps, for analysis or compliance.

🚀 Quick start

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.

1. Apify Console (no code)

  1. Open the RSS Feed Reader and click Try for free.
  2. 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.
  3. Click Start, then open the Output tab and export to JSON / CSV / Excel.

2. Apify CLI

npm install -g apify-cli
apify login
apify call logiover/bulk-rss-feed-reader \
  --input='{ "feedUrls": ["https://hnrss.org/frontpage", "https://techcrunch.com/feed/"] }'

3. API / curl

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
      }'

4. JavaScript (apify-client)

npm install apify-client
import { 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);

5. Python (apify-client)

pip install apify-client
from 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

📥 Input

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
}

📤 Output

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"
}

Output field reference

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

🔌 Integrations & automation

  • 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.

📦 Export formats

CSV · JSON · JSONL · Excel (XLSX) · XML — from the run's Output tab or via the Apify API/SDK.

❓ FAQ

Is there a public RSS API, and is this an RSS-to-JSON API alternative?

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.

Can I read RSS feeds without an API or login?

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.

Can I read many RSS feeds at once?

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.

Does it support Atom and RSS 1.0 / RDF, not just RSS 2.0?

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.

Can it find the RSS feed of a website automatically?

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.

How do I scrape podcast RSS feeds for episode audio URLs?

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.

How does de-duplication work?

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.

How do I export RSS data to CSV or JSON?

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.

How much data can I get?

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.

Can I use this for an AI / RAG / LLM news pipeline?

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.

Is it legal to read / scrape RSS feeds?

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.

🔗 Related actors by logiover

👉 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. ▶️ Run it: https://apify.com/logiover/bulk-rss-feed-reader Licensed under the MIT License · © 2026 logiover

About

Bulk RSS, Atom & RDF feed reader to JSON/CSV — feed auto-discovery, GUID de-dupe, full item metadata. No API key. Docs for the Apify actor.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors