RSS Feed Reader: RSS, Atom & JSON Feed to JSON
Pricing
from $0.20 / 1,000 item parseds
RSS Feed Reader: RSS, Atom & JSON Feed to JSON
Turn RSS, Atom, RDF and JSON feeds (or any website with a feed) into uniform JSON: titles, links, ISO dates, authors, content, enclosures. Since/keyword/dedupe filters and optional full article text. From $0.20 per 1,000 items, no start fee.
Pricing
from $0.20 / 1,000 item parseds
Rating
0.0
(0)
Developer
TidyHarvest
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Features
Share
Turn any RSS feed, Atom feed, RDF/RSS 1.0 or JSON Feed into clean, uniform JSON rows: title, link, guid, ISO publish/update dates, author, categories, summary, full content (HTML and plain text), enclosures and media (podcast audio, images) and comments URL. Paste a website URL instead and the feed is found automatically from <link rel="alternate"> or common paths like /feed, /rss.xml, /atom.xml.
Fast and cheap: plain HTTP, no browser, no proxy, no start fee. Optional full article text for every item.
What you can do with it
- News and blog monitoring: schedule it with Published since =
1 dayto get only new posts from dozens of feeds, de-duplicated, in one dataset. - Keyword alerts: keep only items mentioning your brand, product or topic (Only items mentioning), drop noise with Skip items mentioning.
- RSS to JSON / CSV / Excel: one schema for every feed format, so downstream code, Zapier/Make flows, Google Sheets or a database never see format differences.
- Content and AI pipelines: turn on Fetch full article text to get the readable text of each linked article for summarization, RAG or archiving.
- Podcast and release tracking: podcast episode audio URLs (enclosures), GitHub release feeds, YouTube channel feeds, changelogs.
Input
| Field | What it does |
|---|---|
urls | Feed URLs or websites, one per line. Websites are searched for their feed. |
since | Only items newer than 7 days, 24 hours, 2 weeks or a date (2026-10-01). keepUndated also keeps items the feed gives no date. |
includeKeywords / excludeKeywords | Keep or drop items by words in title, summary, content or categories. |
allFeeds | Read every feed a website advertises, not just the main one. |
dedupe | Skip items already returned in this run (same guid or link). On by default. |
fetchArticleText, maxArticles | Add the full readable text of each item's linked page (capped). |
maxItemsPerFeed, maxItems | Caps to control cost. |
Example:
{ "urls": ["https://news.ycombinator.com/rss", "wordpress.org/news", "https://www.jsonfeed.org/feed.json"],"since": "3 days", "includeKeywords": ["python", "ai"], "maxItems": 200 }
Output
One row per feed item:
{"feedTitle": "Python Insider", "feedUrl": "https://blog.python.org/rss.xml", "feedLink": "https://blog.python.org/","feedFormat": "rss", "title": "Python 3.16.0 alpha 1 is now available","link": "https://blog.python.org/2026/10/python-3160-alpha-1-is-now-available/","guid": "https://blog.python.org/2026/10/python-3160-alpha-1-is-now-available/","published": "2026-10-13T00:00:00Z", "updated": null, "author": "Savannah Ostrowski","categories": ["releases"], "summary": "Python 3.16.0a1 is the first of ...","contentHtml": "<p>Python 3.16.0a1 is ...</p>", "contentText": "Python 3.16.0a1 is ...","enclosures": [{"url": "https://.../episode.mp3", "type": "audio/mpeg", "length": 23145678, "source": "enclosure"}],"imageUrl": "https://.../cover.jpg", "commentsUrl": "https://.../comments","articleUrl": "https://...", "articleTitle": "...", "articleText": "...", "articleTextLength": 4045,"input": "https://blog.python.org/"}
published/updatedare ISO 8601 in UTC, whatever date format the feed uses.summaryis the plain text of the feed's description/summary (up to 1,000 characters).contentHtmlis the full content when the feed has it (content:encoded, Atomcontent,content_html), otherwise the description;contentTextis its plain text.- Podcast feeds also fill
durationSeconds,episode,season,episodeTypeandexplicit(iTunes tags); every row carriesfeedLanguage. enclosuresmerges RSS enclosures, Atom enclosure links, JSON Feed attachments and Media RSS (media:content,media:thumbnail).article*fields appear only with Fetch full article text (articleErrorexplains a page that could not be read).- An input that can't be read (no feed found, site down) adds one uncharged row
{"input": "...", "error": "..."}; the other feeds are still processed. A per-input summary (feeds found, item counts, errors) is saved to the key-value store asSUMMARY.
Pricing
Pay per item, with lower prices on higher Apify plans, and no start fee:
item-parsed: $0.50 per 1,000 items on the free plan, down to $0.20 per 1,000 on Gold and above.article-fetched(only with Fetch full article text, only when text was extracted): $2 per 1,000 articles on the free plan, down to $0.80 per 1,000 on Gold and above.
Date, keyword, duplicate and count filters all apply before you are charged; error rows are free. A run where no feed can be read, or every feed is empty, fails clearly instead of returning an empty dataset. A filtered run with nothing new succeeds with 0 results.
Limits and notes
- Reads what a feed publishes: most feeds list only the latest 10 to 50 items, so schedule runs to build history.
- With Published since, items without any date are skipped unless Keep items without a date is on.
- Full-article extraction is generic (main/article text, no per-site rules) and honors robots.txt; paywalled or JavaScript-only pages return little or no text and are not charged.
- Feeds are fetched politely: inputs on the same host are read one after another, with a declared user agent and timeouts. Feeds up to 20 MB, articles up to 3 MB.
- XML is parsed safely: DOCTYPE and entity declarations are stripped first, so XXE and entity-expansion attacks can't run.
- Public data only. Sites that block non-browser clients (or require login) won't return a feed.
Feedback and requests
We welcome feedback: a field or option you wish this had, a change to how it works, or a scraper you would like us to build. Open an issue in the Issues tab of this page and tell us what you need. We read every one, and we build the requests that come up most. If this actor works well for you, a short review helps other people find it.