RSS, Atom and JSON Feed Reader avatar

RSS, Atom and JSON Feed Reader

Pricing

Pay per usage

Go to Apify Store
RSS, Atom and JSON Feed Reader

RSS, Atom and JSON Feed Reader

Read RSS, Atom and JSON Feed items from feed or website addresses, one row per item with clean dates, with an option to return only items that are new since the last run.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Sampon

Sampon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Most news sites, blogs, podcasts and public agencies publish a feed: a machine-readable list of their latest posts. This Actor reads those feeds and gives you one clean row per item, with the dates already converted to one format, whatever flavour of feed the site uses.

It is meant for people who watch a set of sources on a schedule: switch on "Only items not returned before" and each run returns just the posts that appeared since the previous run.

What you put in

A list of feed addresses:

{
"startUrls": [
{ "url": "https://www.nasa.gov/news-release/feed/" },
{ "url": "https://www.federalreserve.gov/feeds/press_all.xml" }
],
"maxItemsPerFeed": 20
}

If you don't know the feed address, give the website instead. The Actor looks for the feed the page announces in its header, and if there is none it tries the usual places such as /feed, /rss.xml and /atom.xml.

Supported formats: RSS 2.0, RSS 1.0 (RDF), Atom 1.0 (and the old 0.3) and JSON Feed 1.0 / 1.1.

Optional settings:

SettingWhat it does
maxItemsPerFeedHow many items to keep from each feed, newest first. Default 20.
onlyNewItemsRemember what was returned and skip it next time. See below.
stateStoreNameThe name of the storage that holds that memory. Use one name per task.
keywordsKeep only items whose title, summary or categories contain one of these words.
postedWithinDaysSkip items older than this. Items with no date at all are kept.
includeSummaryTurn off if you only need titles, dates and links.
summaryMaxLengthCut summaries to this many characters, at a word boundary. Default 500.

Only new items

With onlyNewItems on, the Actor stores an identifier for every item it has seen in a named key-value store in your account. The next run skips those items. The first run returns the newest items up to your maximum and marks everything currently in the feed as seen, so later runs never come back with old posts. If a feed can publish more items between two runs than your maximum, raise the maximum.

Running two different monitoring tasks? Give each its own stateStoreName so they don't share a memory.

What you get

{
"feedTitle": "FRB: Press Release - All Releases",
"feedUrl": "https://www.federalreserve.gov/feeds/press_all.xml",
"feedType": "rss2",
"siteUrl": "https://www.federalreserve.gov/feeds/feeds.htm",
"title": "Federal Reserve Board releases results of the 2025 Survey of Consumer Finances, ...",
"url": "https://www.federalreserve.gov/newsevents/pressreleases/other20261009a.htm",
"guid": "https://www.federalreserve.gov/newsevents/pressreleases/other20261009a.htm",
"published": "2026-10-09T14:00:00Z",
"updated": null,
"categories": ["Other Announcements"],
"summary": "Federal Reserve Board releases results of the 2025 Survey of Consumer Finances, ...",
"imageUrl": null,
"enclosureUrl": null,
"enclosureType": null,
"language": null,
"inputUrl": "https://www.federalreserve.gov/feeds/press_all.xml",
"error": null,
"scrapedAt": "2026-10-10T08:12:40Z"
}
  • published and updated are always UTC in the form YYYY-MM-DDTHH:MM:SSZ, whether the feed wrote them as Thu, 09 Oct 2026 10:00:00 EDT, as ISO 8601 with an offset, or as a bare date.
  • feedType is rss2, rss1, atom or json.
  • imageUrl comes from the item's media tags, an image enclosure, or the first image in its content. enclosureUrl is the attached file, for example a podcast episode.
  • summary is plain text, without HTML.

The rows describe posts, not people. Author names are never collected, and e-mail addresses and phone numbers inside summaries and titles are replaced with [email removed] and [phone removed].

When something goes wrong

A run does not stop because one source is broken. An input that cannot be read gets one row with the reason in error and the other fields empty, for example HTTP 404, the XML could not be parsed (...), this is a web page and no readable feed was found at the usual feed addresses, or robots.txt of this site does not allow reading this address. Filter on error being empty if you only want items.

Price

Free for now. You only pay Apify's usual platform usage. A typical run is short: in our test, the two example feeds above (30 items) were read in under a second. A per-item price may be added later. If that happens, it will be shown on this page before it applies to you.

How it treats the sites it reads

  • Feeds are the address a site publishes for programs to read, so the Actor normally makes one request per feed.
  • It follows each site's robots.txt, including any crawl delay, and understands the * and $ patterns used in modern robots.txt files.
  • By default it makes at most two requests at a time and waits at least half a second between requests to the same site. You can slow it down, but not beyond four parallel requests.

Limits

  • Only what the feed contains is returned. Many sites put a short excerpt in their feed rather than the full article, and most feeds list only their latest 10 to 50 posts. The Actor does not open the article pages.
  • Feeds that need a login, or that are blocked by the site's robots.txt, are not read.
  • Badly formed feeds are repaired where it is safe (stray &, HTML entities such as  , control characters). Feeds that declare their own XML entities are refused for safety.
  • Dates the feed does not provide stay empty. Some feeds only give a date without a time; those are read as midnight UTC.

This Actor is an independent tool. It is not made by, or affiliated with, the publishers of the feeds it reads.