RSS Feed Reader: Atom & RSS to JSON with Feed Finder avatar

RSS Feed Reader: Atom & RSS to JSON with Feed Finder

Pricing

$0.50 / 1,000 feed entries

Go to Apify Store
RSS Feed Reader: Atom & RSS to JSON with Feed Finder

RSS Feed Reader: Atom & RSS to JSON with Feed Finder

Read RSS, Atom and JSON Feed entries as clean JSON: title, link, dates in UTC, author, plain-text summary, categories, podcast enclosures and images. Give feed addresses or plain websites; it finds a site's feed for you. Pay only per entry saved.

Pricing

$0.50 / 1,000 feed entries

Rating

0.0

(0)

Developer

Michael Shanker

Michael Shanker

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Give it feed addresses, or just website addresses, and get back every entry as a clean JSON row: title, link, publish and update dates in UTC, author, a plain-text summary, categories, podcast audio files, and an image when the feed has one.

Don't know where a site's feed is? Give the website (xkcd.com, https://blog.example.com/) and it finds the feed for you.

You pay per entry saved: $0.50 per 1,000 entries. No start fee. Inputs with no feed, a broken feed, or a site that asks tools to stay away still get a free row saying why.

Who it's for

  • News and content monitoring: follow publications, government press releases, competitors' blogs or changelogs, and send new entries to Google Sheets, Slack, Zapier, Make or n8n.
  • Podcast catalogs: episode titles, dates, durations and audio file links with size and type.
  • Developers: one consistent JSON shape for RSS 0.9x, 1.0, 2.0, Atom and JSON Feed, so your code doesn't have to care which format a site uses.
  • AI and research pipelines: clean plain text (no HTML) ready for summarizing, tagging or search.

What it does

  • Reads every common format: RSS 0.90 to 2.0, RSS 1.0 (RDF), Atom 0.3 and 1.0, and JSON Feed 1.0 and 1.1.
  • Finds feeds from a website address. It reads the page and follows the feeds it advertises (<link rel="alternate" type="application/rss+xml">, Atom and JSON Feed too), skipping comment feeds unless that's all there is. If the page advertises none, it tries the usual addresses in order: /feed, /rss, /rss.xml, /atom.xml, /feed.xml, /index.xml, then /feeds/posts/default (Blogger) and /?feed=rss2 (WordPress), and stops at the first real feed. HTML "page not found" pages at those addresses are recognized and skipped.
  • Clean, consistent fields: dates converted to ISO 8601 UTC (2026-11-02T09:00:00Z), links made absolute, HTML stripped from titles and summaries, entities decoded (even double-escaped ones like &amp;amp;), author names without email addresses.
  • Copes with messy feeds: wrong or missing character encodings (windows-1252, Latin-1), bare & characters, HTML entities XML doesn't know, gzip compression, and feeds served with the wrong content type. A feed that can only be read in tolerant mode says so.
  • Filters before you pay: newest N entries per feed, only entries published after a date or within the last N days, and repeated entries across your feeds removed. Entries left out are not charged.

Compared with other Store feed readers

Prices from the Apify Store listings on 4 November 2026. Check the current listings before you compare.

This toolMost-used Store RSS readerOther Store RSS readers
Price per entry$0.0005$0.002$0.008, or a $0.035 start fee per run
Start feeNone$0.001 per runVaries
10,000 entries in one run$5About $20About $80 at $0.008 per entry
Inputs that fail (no feed, broken, blocked)Free row with the reasonSee its listingSee its listing

What this tool adds, whatever you compare it with: a feed finder for plain website addresses, JSON Feed support, podcast enclosures with type and size, dates normalized to UTC, plain-text summaries, and repeats across feeds removed before you're charged.

Input

FieldWhat it does
Feeds or websitesOne per line: a feed (https://hnrss.org/frontpage, feed://... works too) or a website or page (xkcd.com, https://wordpress.org/news/). A bare domain tries https, then https://www., then http.
Max entries per feedThe newest entries of each feed, up to this many (default 50, max 10,000).
Published on or afterA date (2026-10-01) or a relative time (7 days). Entries with no date at all are left out when set.
Only the last N daysThe same as a relative date, as a number (0 = off).
Remove repeated entriesOn by default: an entry that shows up in several of your feeds (matched by guid/id, or by link when there is none) is saved and charged once.
Max summary lengthPlain-text summary cut at a word boundary (default 1,000 characters, 0 = no limit).
Full content as textAlso save the full post text when the feed carries it (up to 50,000 characters).
Feed details rowAdd one free row per feed with its title, site link, description, language, image, generator and counts.
Feeds at onceParallel inputs (default 10). Each host still gets at most one request per second.

Example input:

{
"startUrls": ["https://hnrss.org/frontpage", "xkcd.com", "https://feeds.npr.org/510289/podcast.xml"],
"maxItemsPerFeed": 20,
"publishedAfter": "7 days",
"includeFeedInfo": true
}

Output

One row per entry (values illustrative):

{
"rowType": "item",
"status": "ok",
"title": "Episode 312: The price of eggs",
"link": "https://www.example-podcast.org/episodes/312",
"guid": "ep-312",
"published": "2026-11-03T05:00:00Z",
"updated": null,
"author": "Jane Doe",
"summary": "Why egg prices went up, and why they came back down.",
"content": null,
"categories": ["Economics"],
"enclosures": [{"url": "https://media.example-podcast.org/312.mp3", "type": "audio/mpeg", "length": 32345678}],
"image": "https://www.example-podcast.org/art/312.jpg",
"duration": "00:42:10",
"feedTitle": "Example Podcast",
"feedUrl": "https://www.example-podcast.org/feed.xml",
"siteLink": "https://www.example-podcast.org/",
"feedType": "RSS 2.0",
"input": "example-podcast.org",
"error": null,
"fetchedAt": "2026-11-04T16:57:22Z"
}

rowType is item for an entry (the only charged row), feed for a feed details row, and status for an input with nothing to read. Status rows have status set to one of:

  • feed_not_found: the address gave a 404, or the website advertises no readable feed and none of the usual addresses is a feed.
  • parse_error: something that says it is a feed but can't be read.
  • empty_feed / no_matching_items: the feed was read but has no entries, or none passed your date filter or were new.
  • duplicate_feed: another input already led to the same feed.
  • blocked_by_robots: the site's robots.txt asks this tool not to read that address.
  • unreachable: the site is down, refused, or answered with an error (error says which).
  • invalid_input: not a usable public web address.

The run also saves a SUMMARY record: counts per status, entries saved and charged, repeats and older entries skipped, and one line per input saying which feed was read and how it was found.

Pricing

Pay per event: $0.0005 per entry saved ($0.50 per 1,000). No start fee and nothing for failed inputs, feed details rows, repeated entries or entries your filters leave out. Set a maximum charge per run in the run options and the Actor stops cleanly when it's reached.

Good to know

  • Only what the feed publishes. Many feeds carry the newest 10 to 50 entries only; older posts aren't in the feed and can't be read from it. For a full archive, use a sitemap or crawler tool.
  • Polite reading. It names itself in its User-Agent (RssFeedReaderBot), waits at least a second between requests to the same host (longer if robots.txt asks), and obeys robots.txt for every request, feed addresses included: if a site's robots.txt disallows a feed for this tool or for all bots, the feed isn't read and you get a free blocked_by_robots row.
  • Up to 5 MB per feed. Larger feeds (some podcasts with long histories) are cut at 5 MB; the entries before the cut are kept, which in most feeds are the newest. The SUMMARY marks such feeds.
  • Public feeds only. No logins or paywalled feeds, and local or private network addresses are never fetched.
  • Sites that block automated visitors (some answer HTTP 403) can't be read.

This Actor isn't affiliated with or endorsed by any of the sites whose feeds it reads. The content of each feed belongs to its publisher; check their terms before you republish it.

More tools from the same developer