RSS/Atom/JSON Feed Reader — $0.0005/item avatar

RSS/Atom/JSON Feed Reader — $0.0005/item

Pricing

from $0.50 / 1,000 items

Go to Apify Store
RSS/Atom/JSON Feed Reader — $0.0005/item

RSS/Atom/JSON Feed Reader — $0.0005/item

You pay only for items actually returned. Nothing found, nothing charged. Read RSS, Atom and JSON feeds into clean plain text, ready to hand to a model. Give it a site URL and the feed is found for you. Honours robots.txt, no browser, no key.

Pricing

from $0.50 / 1,000 items

Rating

0.0

(0)

Developer

Shun Furu

Shun Furu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

RSS Feed Reader — Atom and JSON Feed to clean text

Read RSS, Atom and JSON feeds into flat rows of plain text, ready to hand to a model or drop into a database.

Give it a feed URL, or just a site URL and the feed will be found for you.

Input: ["https://news.ycombinator.com/rss", "https://blog.rust-lang.org"]
Output: one row per item — title, author, date, summary, full text, tags, URL

Why this one

Feeds are the one part of the web published specifically so machines can read them, which makes them the cleanest possible source: no blocking, no bot protection, nothing to work around.

What is usually missing is everything after fetching:

  • Three formats, one shape. RSS, Atom and JSON Feed all come back as identical rows, so a mixed list of sources needs no per-source handling.
  • Markup removed. Feed bodies are HTML wrapped in XML wrapped in entities. This returns plain text, which is what you want when the next step is a model or a search index.
  • Dates normalised. RFC 822, RFC 3339 and the various things feeds do in practice all come out as ISO 8601.
  • Feed discovery. Pass https://blog.rust-lang.org and the feed at /feed is found — the same way a browser does it, by reading the page's <link rel="alternate"> tags. robots.txt is checked first.
  • Malformed feeds still parse. Real feeds break XML rules more often than not, so the parser is deliberately forgiving rather than strict.

Input

Every field is optional. Run it with the defaults and it works.

FieldTypeDefaultWhat it does
feedsarray of stringstwo example feedsFeed URLs, or site URLs to discover feeds from
keywordstringKeep only items matching any of these words (title, summary, content, tags)
sincestringISO date. Drop items published before it. Items with no date are kept
includeContentbooleantrueInclude the full item body. Turn off for a lighter, cheaper result
maxItemsPerFeedinteger0 (no limit)Cap items per feed

Examples

Everything on the front page of Hacker News, as text:

{ "feeds": ["https://news.ycombinator.com/rss"] }

Recent posts about Rust from several engineering blogs, found from their homepages:

{
"feeds": ["https://blog.rust-lang.org", "https://github.blog", "https://blog.cloudflare.com"],
"keyword": "rust",
"since": "2026-08-01"
}

Titles and links only, for a lightweight daily digest:

{
"feeds": ["https://news.ycombinator.com/rss"],
"includeContent": false,
"maxItemsPerFeed": 20
}

Output

FieldTypeDescription
feedUrlstringThe feed that was read — useful when it was discovered rather than given
feedTitlestringFeed title
feedFormatstringrss | atom | jsonfeed
siteUrlstringThe site the feed belongs to
idstringThe item's own identifier, or its URL
titlestringItem title
urlstringLink to the item
authorstringWhere the feed publishes one
publishedAtstring | nullISO 8601
updatedAtstring | nullISO 8601
summarystringPlain text
contentstringFull body as plain text, when includeContent is on
tagsarrayCategories the feed assigns
fetchedAtstringWhen the row was produced

A SUMMARY record is written to the key-value store: which feed each source resolved to, its format, and how many items matched your filters.

Pricing

Price
Starting a run$0.00001 — one US cent per 1,000 runs
Each item returned$0.0005 — 50 US cents per 1,000 items

A source with no feed produces no rows, and errors go to the log and SUMMARY rather than the dataset — so a run that finds nothing costs nothing.

Typical uses

  • Feeding a model. Plain text, no markup, one shape across sources.
  • Monitoring. Watch a list of blogs or release feeds for a keyword.
  • Digests and newsletters. Pull the day's items and format them downstream.
  • Archiving. Keep a structured record of what a source published and when.

Notes on data and compliance

  • Feeds are published for machine consumption; nothing here is scraped around a restriction.
  • robots.txt is checked before fetching any page that is not already a feed.
  • No personal data is collected beyond an author name where a feed publishes one.
  • The Actor backs off on 429 and does not retry 404.

Limitations — stated up front

  • Only the feed's own content is returned. If a feed publishes summaries only, that is what you get — the linked article is not fetched.
  • Discovery covers the common feed paths and the page's <link rel="alternate"> tags. A site that publishes a feed in neither place will not be found; pass the feed URL directly.
  • Podcast enclosures are not downloaded, only linked.
  • Paywalled or authenticated feeds are out of scope.