RSS Feed Reader avatar

RSS Feed Reader

Pricing

from $0.50 / 1,000 parsed feed items

Go to Apify Store
RSS Feed Reader

RSS Feed Reader

Read public RSS, Atom, RDF, and JSON Feed URLs. Export feed item titles, links, dates, authors, categories, content, images, enclosures, and source metadata for API workflows, schedules, and dataset exports.

Pricing

from $0.50 / 1,000 parsed feed items

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

📡 RSS feed reader for clean feed data

RSS Feed Reader reads public RSS, Atom, RDF, and JSON Feed URLs and saves each feed item as a clean Apify dataset row. Add one feed URL or a whole list of feeds, then export titles, links, dates, authors, categories, summaries, content, images, enclosures, feed metadata, and scrape timestamps.

Use it when you already know the feed URLs you want to follow, such as a news RSS feed, a blog Atom feed, a Hacker News feed, or a JSON Feed endpoint like jsonfeed.org. Start with the prefilled feeds and a small total limit, check the rows, then raise the limits or schedule repeat runs for monitoring.

The Actor is built for feed parsing, feed monitoring, content aggregation, and downstream API workflows. It does not crawl article pages or discover feeds from websites; it reads the feed content that each public feed exposes.

✅ What this RSS feed reader does

  • Reads one or many public feed URLs in one run.
  • Supports RSS 2.0, Atom, RSS 1.0/RDF, and JSON Feed.
  • Saves one dataset item per accepted feed item.
  • Extracts item title, URL, GUID, publication date, update date, author, categories, summary, content, image URL, and enclosures when the feed provides them.
  • Keeps feed-level context such as feed URL, feed title, feed description, feed home URL, feed type, and source order.
  • Adds a stable itemKey for downstream dedupe in scheduled runs.
  • Lets you cap items per feed and total items across the run.
  • Lets you keep only items published on or after a date when the feed includes dates.
  • Continues through the rest of your list when one feed is unavailable, malformed, empty, or blocked.
  • Works with Apify dataset exports, API access, schedules, webhooks, and integrations.

📦 Feed data you can extract

Each output row represents one parsed feed item.

Data groupExample fields
Feed contextfeedUrl, feedIndex, feedTitle, feedDescription, feedHomeUrl, feedType
Item identitytitle, url, guid, rawId, itemKey, itemIndexInFeed
Dates and authorspublishedAt, updatedAt, rawDateText, author, authors
ContentsummaryText, summaryHtml, contentText, contentHtml, categories
MediaimageUrl, enclosures
Run metadatastatus, scrapedAt

Feed formats vary. Some feeds include full HTML content, some include only summaries, and some omit authors, dates, images, or enclosures. Missing optional values are returned as null or an empty array instead of guessed data.

🎯 Common use cases

  • Monitor news, blogs, changelogs, newsletters, podcasts, or community feeds.
  • Build a feed aggregation dataset from many RSS or Atom URLs.
  • Export new feed items for spreadsheets, BI tools, alerts, LLM workflows, or databases.
  • Schedule repeat runs and dedupe by itemKey, guid, url, or publication date.
  • Convert RSS, Atom, RDF, or JSON Feed content into JSON, CSV, Excel, XML, or HTML exports.
  • Keep source feed metadata attached to each item for traceability.

🚀 How to run it

  1. Open the Input tab.
  2. Add one feed URL per line in Feed URLs.
  3. Optional: set Published after to keep newer items only when feed dates are available.
  4. Set Maximum items per feed and Maximum items total to control run size and cost.
  5. Start the Actor and open the dataset, or fetch the same rows through the Apify API.

For a small first run, keep the prefilled feed URLs and leave Maximum items total at 25.

✍️ Input example

{
"feedUrls": [
"https://hnrss.org/frontpage",
"https://feeds.bbci.co.uk/news/rss.xml",
"https://www.jsonfeed.org/feed.json"
],
"publishedAfter": "2026-06-01",
"maxItemsPerFeed": 15,
"maxTotalItems": 25
}

🧾 Output example

{
"type": "feed_item",
"status": "ok",
"feedUrl": "https://hnrss.org/frontpage",
"feedIndex": 1,
"feedTitle": "Hacker News: Front Page",
"feedDescription": "Links for the intellectually curious, ranked by readers.",
"feedHomeUrl": "https://news.ycombinator.com/",
"feedType": "rss",
"itemIndexInFeed": 1,
"title": "Example feed item",
"url": "https://example.com/article",
"guid": "https://news.ycombinator.com/item?id=123456",
"itemKey": "https://hnrss.org/frontpage|https://news.ycombinator.com/item?id=123456|https://example.com/article|Example feed item|2026-06-13T12:00:00.000Z",
"publishedAt": "2026-06-13T12:00:00.000Z",
"updatedAt": null,
"author": "Example author",
"authors": ["Example author"],
"categories": ["Technology"],
"summaryText": "Short item summary.",
"summaryHtml": "<p>Short item summary.</p>",
"contentText": "Full feed-provided content.",
"contentHtml": "<p>Full feed-provided content.</p>",
"imageUrl": "https://example.com/image.jpg",
"enclosures": [
{
"url": "https://example.com/audio.mp3",
"type": "audio/mpeg",
"length": "123",
"title": null
}
],
"rawDateText": "Sat, 13 Jun 2026 12:00:00 GMT",
"rawId": "https://news.ycombinator.com/item?id=123456",
"scrapedAt": "2026-06-13T12:30:00.000Z"
}

💸 Pricing

This Actor uses pay-per-event pricing. You are charged for each feed item saved. Runs that skip an unavailable or empty feed do not save a placeholder row for that feed.

Use Maximum items per feed and Maximum items total to control cost before running larger feed lists.

⚠️ Limits and caveats

  • Only public HTTP and HTTPS feed URLs are supported.
  • Private, authenticated, paywalled, or cookie-protected feeds are not supported.
  • The Actor reads feed-provided content only. It does not open each article URL to extract full webpage text.
  • The Published after filter depends on dates exposed by the feed. Undated items are kept by default so sparse feeds can still return useful rows.
  • Some feeds block automated access or return malformed XML/JSON. The Actor skips those feeds and continues with the rest of the run.
  • Feed order and item order are preserved in feedIndex and itemIndexInFeed. Parallel fetching can make dataset save order differ from input order.

❓ FAQ

🔌 Can I use this as an RSS feed parser API?

Yes. Run the Actor through the Apify API with your feed URLs, then read the default dataset items as JSON or export them in another supported dataset format.

🧩 Does it support Atom and JSON Feed?

Yes. The Actor supports RSS 2.0, Atom, RSS 1.0/RDF, and JSON Feed. The detected format is returned in feedType.

📰 Can it scrape the full article behind each feed item URL?

No. This Actor parses feed payloads. It returns full content only when the feed itself includes full content. Crawling article pages is a separate scraping job.

⚠️ What happens when one feed fails?

The run keeps going. Failed, empty, blocked, or malformed feeds are reported in logs, while successful feed items from other feeds are still saved.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré