RSS Feed Reader & Scraper: Atom, JSON Feed & New-Item Monitor avatar

RSS Feed Reader & Scraper: Atom, JSON Feed & New-Item Monitor

Pricing

from $1.20 / 1,000 feed items

Go to Apify Store
RSS Feed Reader & Scraper: Atom, JSON Feed & New-Item Monitor

RSS Feed Reader & Scraper: Atom, JSON Feed & New-Item Monitor

RSS feed reader and scraper. Read any RSS, Atom or JSON Feed, or give a website and it finds the feed. Clean items with dates, authors, summaries, images and podcast enclosures. Schedule it with "Only new items" to get only what you have not seen before. USD 1.50 per 1,000 items.

Pricing

from $1.20 / 1,000 feed items

Rating

0.0

(0)

Developer

JT Palms

JT Palms

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

RSS Feed Reader & Scraper: RSS, Atom and JSON Feed New-Item Monitor

Give it feed URLs or plain website URLs and get back clean, consistent items: title, link, author, publish date, plain-text summary, categories, image and podcast audio. It reads RSS 2.0, RSS 1.0 (RDF), Atom and JSON Feed, and finds the feed for you when you give it a website.

Turn on Only new items and schedule it: every run returns only the items that were not there last time. Runs with nothing new return nothing and cost nothing.

USD 1.50 per 1,000 items. Feeds that fail are reported free.

What people use it for

  • News and competitor monitoring. Watch competitor blogs, press rooms, changelogs, Google News searches and industry news. Schedule it hourly with Only new items and send the new items to Slack, Google Sheets, email or a webhook.
  • Keyword alerts. Add Keywords such as acquisition, your brand, startup* and get only the matching new stories.
  • Podcast episode tracking. Get each new episode with its audio URL, file size, duration and cover image. Good for show-notes pipelines, transcription and archiving.
  • Release tracking. Follow GitHub releases (https://github.com/owner/repo/releases.atom) and product changelogs.
  • Content aggregation. Merge many feeds into one dataset with the same fields for every source, newest first, for a newsletter, a news page or a dashboard.
  • AI and RAG ingestion. Turn on Include full text to get the article text without HTML (up to 10,000 characters) and feed only new documents into your vector store or LLM workflow.

Sample output

Real items, trimmed:

{
"feedUrl": "https://wordpress.org/news/feed/",
"feedTitle": "WordPress News",
"siteUrl": "https://wordpress.org/news",
"feedFormat": "RSS 2.0",
"itemId": "https://wordpress.org/news/?p=21731",
"title": "WordPress 7.1.2 Release",
"link": "https://wordpress.org/news/2026/09/wordpress-7-1-2-release/",
"author": "John Blackbourn",
"publishedAt": "2026-09-22T14:01:20.000Z",
"updatedAt": null,
"summaryText": "This security release features a fix for a critical severity security vulnerability. Because this is a security release, it is recommended that you update your sites immediately...",
"categories": ["Releases", "Security"],
"enclosure": null,
"imageUrl": null,
"scrapedAt": "2026-09-28T18:48:17.759Z"
}

A podcast episode:

{
"feedUrl": "https://feeds.npr.org/510289/podcast.xml",
"feedTitle": "Planet Money",
"siteUrl": "https://www.npr.org/podcasts/510289/planet-money",
"feedFormat": "RSS 2.0",
"itemId": "10652924-571e-4b6e-bd4f-11f819c1dc21",
"title": "Middlegarchs are the new Oligarchs",
"link": "https://www.npr.org/2026/09/25/nx-s1-5981194/stealthy-wealthy-everywhere-millionaires-pass-through",
"publishedAt": "2026-09-25T21:46:44.000Z",
"summaryText": "Wanna know who is really in the top 1%? And how they use their influence? It may not be who you think...",
"enclosure": {
"url": "https://tracking.swap.fm/track/XvDEoI11TR00olTUO8US/.../audio/128/default.mp3?...",
"type": "audio/mpeg",
"length": 29504661,
"duration": 1843
},
"imageUrl": "https://npr.brightspotcdn.com/dims3/default/strip/false/crop/3000x3000+0+0/resize/3000/..."
}
FieldWhat it is
feedUrl, feedTitle, siteUrl, feedFormatThe feed the item came from. For a website input, feedUrl is the feed that was found.
itemIdThe item's guid or id, else its link. This is what "Only new items" remembers.
title, link, authorCleaned text. Relative links are made absolute. E-mail addresses are removed from authors.
publishedAt, updatedAtISO 8601 in UTC, parsed from RFC 822, ISO 8601 and the odd formats real feeds use.
summaryTextThe description or summary with HTML removed, up to 1,000 characters.
contentTextOnly with Include full text: the full text the feed provides, HTML removed, up to 10,000 characters.
categoriesCategories, tags or subjects.
enclosureurl, type, length (bytes) and duration (seconds) for podcast audio, video or other attachments.
imageUrlThe item's image: media thumbnail, iTunes image, image enclosure, or the first real image in the content.
scrapedAtWhen the run read the feed.

How to use it

  1. Add feed URLs or website URLs to Feeds or websites, one per line. bbc.co.uk/news works as well as https://feeds.bbci.co.uk/news/rss.xml.
  2. Optionally narrow it down:
    • Keywords: AI, electric vehicle, startup*, or /gpt-?\d/ for a regular expression.
    • Published within (days): 7.
    • Max items per feed: 100 by default, newest first.
  3. Click Start and export the results as JSON, CSV or Excel, or read them through the Apify API.

Set it up as a monitor

  1. Turn on Only new items.
  2. Pick what the first run does: All current items gives you what is in the feeds today; None, just set the starting point outputs nothing and records the current items, so you only get what is published from now on.
  3. Save it as a task and add a schedule (for example every hour, or every morning at 8).
  4. In the task's Integrations tab, connect Slack, Google Sheets, Zapier, Make or a webhook, so each run's new items land where you work.

Tip: a schedule every 15 to 60 minutes is plenty for news; daily is fine for blogs, podcasts and releases. The actor sends conditional requests (ETag and Last-Modified), so a feed that has not changed answers "not modified" without sending the whole file again. Runs stay fast and polite.

If you watch the same feeds from two schedules with different keywords, give each one its own Monitor name (under Advanced) so they keep separate memories.

Pricing

WhatPrice
Feed item in the resultsUSD 0.0015 (USD 1.50 per 1,000)
Feed that fails (not found, not a feed, blocked)Free
Monitor run where nothing is newFree

Examples: 20 news feeds with about 10 new items an hour, checked hourly, is about 4,800 items a day, USD 7.20. Ten podcasts checked daily is a few items a week, a few cents a month.

Set a maximum cost per run in the run options. The actor stops cleanly when it gets there, and with Only new items the items it did not save are kept for the next run.

What it handles

  • RSS 0.9x and 2.0, RSS 1.0 (RDF), Atom 1.0 and 0.3, JSON Feed 1.0 and 1.1.
  • Feed discovery from a website: <link rel="alternate"> tags first (skipping comment feeds), then /feed, /rss, /rss.xml, /atom.xml, /feed.xml and /index.xml, next to the page and at the site root. With Only new items on, the feed it finds is remembered for later runs.
  • gzip and compressed responses, redirects, feed:// URLs, CDATA, HTML entities (including the ones that are not valid XML, like &nbsp; and &rsquo;), double-escaped titles, xml:base and relative links, Latin-1, Windows-1252, Shift_JIS and other charsets.
  • Media RSS (media:content, media:thumbnail, media:group), iTunes podcast tags, Dublin Core (dc:creator, dc:date, dc:subject), FeedBurner original links, YouTube channel feeds.
  • Broken feeds: junk before the XML, an unclosed tag in one item or a cut-off download. Every item that can be read is kept.
  • Duplicate items and duplicate inputs, counted once.

Limits

  • The actor identifies itself. Every request carries the user agent Mozilla/5.0 (compatible; rss-feed-monitor/1.0; +https://apify.com/JTPalms/rss-feed-monitor), with plain request headers. It never pretends to be a browser. Some sites block bots; a blocked request is reported as an error, not hidden.
  • A feed only holds what the publisher puts in it: usually the latest 10 to 50 items, sometimes only a short summary. Older items are not in the feed.
  • Only new items remembers the latest 5,000 item IDs per feed, in the rss-feed-monitor key-value store in your account. If a publisher changes an item's guid, it counts as new.
  • On later runs, new items beyond Max items per feed are kept for the next run rather than dropped.
  • Published within (days) leaves out items that have no date.
  • Feeds behind a login are not supported (you get "HTTP 401"). Some sites, Reddit for example, block automated requests and answer HTTP 403 or 429; this actor does not get around such blocks.
  • Feeds larger than 50 MB are cut at 50 MB.

FAQ

Is it legal? Feeds are published so that other programs can read and syndicate them; that is what RSS and Atom are for. The actor only reads public feed files and, for discovery, the public page you give it. It does not log in, and it does not collect personal data: e-mail addresses are stripped from author fields. Respect each publisher's terms when you republish their content.

How does "Only new items" know what is new? Each item's guid (or id, or link) is stored per feed after the run. The next run outputs only items whose ID is not stored. Items your keyword or date filters rejected are also remembered, so they are never billed later.

Why did the first monitor run return items? With All current items the first run returns what the feed has today. Choose None, just set the starting point to get only items published after the first run.

Can I start over? Yes. Delete the matching records in the rss-feed-monitor key-value store (Storage, Key-value stores), or use a new Monitor name.

Can I monitor a Google News search? Yes. Use a Google News RSS URL such as https://news.google.com/rss/search?q=your+topic&hl=en-US&gl=US&ceid=US:en.

A site says "No feed found". The site does not publish a feed at any of the usual places. Look for an RSS or Atom icon on the site and paste that URL directly.

Something missing or wrong? Open an issue with the feed URL.