Bulk RSS Feed & Atom Feed Reader - RSS to JSON avatar

Bulk RSS Feed & Atom Feed Reader - RSS to JSON

Pricing

from $0.21 / 1,000 feed item returneds

Go to Apify Store
Bulk RSS Feed & Atom Feed Reader - RSS to JSON

Bulk RSS Feed & Atom Feed Reader - RSS to JSON

Bulk RSS and Atom feed reader. Paste feed URLs or website URLs (feeds are autodiscovered) and get normalized items: title, link, date, author, summary, categories, image. Supports RSS 2.0, Atom, JSON Feed, since-date filter and per-feed caps. Broken feeds are skipped. $0.30 per 1,000 items.

Pricing

from $0.21 / 1,000 feed item returneds

Rating

0.0

(0)

Developer

Penny Data

Penny Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 minutes ago

Last modified

Share

RSS & Atom Feed Reader: Bulk, JSON Feed, Autodiscover

RSS feed reader API for many feeds at once. Paste RSS 2.0, Atom or JSON Feed URLs, or just a website URL and the feed is autodiscovered, then get one normalized item per post: title, link, ISO date, author, summary, categories, image and enclosure. No login, no browser, no proxies. Pay $0.0003 per item ($0.30 per 1,000); failed or empty feeds cost nothing.

Use it for news monitoring, blog and podcast aggregation, content curation, competitor tracking, newsletter research and feeding feeds into Zapier, Make, n8n or your own pipeline via the Apify API.

Why this feed reader

  • Bulk: hundreds of feeds in one run, one shared output schema for RSS, Atom and JSON Feed.
  • Autodiscovery: give https://example.com and it reads <link rel="alternate"> feed links, then tries common paths (/feed, /rss.xml, /atom.xml, /feed.json).
  • Resilient: a dead, blocked or non-feed URL is logged, skipped, listed in the FAILED_FEEDS key-value record and not charged. The run still succeeds with the feeds that worked.
  • Per-row status + SUMMARY: every dataset row has status (ok feed item, error feed unreadable with reason, skipped feed read but no items matched). Only ok rows are charged. A SUMMARY record in the key-value store holds the counts per status and datasetRows.
  • Since-date filter: only items published on or after a date.
  • Normalized dates: always ISO 8601 (or null), whatever the feed uses (RFC 822, dc:date, Atom updated).

Input

  • urls: feed URLs or website URLs (aliases feedUrls, feeds, url also work).
  • sinceDate: optional ISO date or date-time; older items are skipped and not charged. Items with no date are kept.
  • publishedAfter: alias of sinceDate.
  • keywords: optional list; keep only items whose title or summary contains any keyword (case-insensitive). Others are not charged.
  • includeContent: add a content field with the full item body when the feed has one.
  • dedupe: skip items whose guid/link already appeared in an earlier feed of the same run.
  • maxItemsPerFeed: newest items per feed (default 20, max 1000). Also caps your cost per feed.

Output (one item per post)

feedUrl, sourceUrl, feedTitle, feedFormat (rss / atom / jsonfeed), guid, title, link, published, updated, author, summary (HTML stripped, max 2,000 chars), contentHtml (as given in the feed), categories, imageUrl, enclosureUrl, enclosureType, durationSeconds (podcast episodes), content (only with includeContent), status.

Example input

{
"urls": ["https://hnrss.org/frontpage", "https://github.blog"],
"sinceDate": "2026-10-01",
"maxItemsPerFeed": 20
}

The default input runs as-is, so you can click Start without editing anything.

Example output

Values are illustrative of the shape, not a real post.

{
"feedUrl": "https://example.com/feed.xml",
"sourceUrl": "https://example.com",
"feedTitle": "Example Blog",
"feedFormat": "rss",
"guid": "https://example.com/post-1",
"title": "Post title",
"link": "https://example.com/post-1",
"published": "2026-10-05T10:00:00.000Z",
"updated": null,
"author": "Jane Doe",
"summary": "Plain-text summary of the post.",
"categories": ["news"],
"imageUrl": null,
"enclosureUrl": null
}

FAQ

Does it support OPML? Not yet; paste the feed URLs. Does it fetch full articles? No. It reads only the feed document itself (plus the page at the URL you give, for autodiscovery). contentHtml is whatever the feed publisher includes. Which feed versions? RSS 0.9x/1.0 (RDF)/2.0, Atom 1.0, JSON Feed 1.x. Am I charged for feeds that fail? No, only items added to the dataset are billed. Is this affiliated with any publisher? No. Feeds are published by sites for syndication; their own terms apply to how you reuse the content.

Pricing (pay per event)

Event feed-item: one item pushed to the dataset, $0.0003 ($0.30 per 1,000). No start fee.

Honest limits

  • Feeds usually expose only the latest 10 to 100 items; this actor cannot return older posts.
  • Autodiscovery needs the site to publish a feed link or use a common feed path; sites that block automated requests are skipped.
  • Summaries are plain text; formatting is in contentHtml when the feed provides it.
  • Item text and author names are public data supplied by the publisher; handle them according to the privacy law that applies to you.

More from PennyData

AI disclosure

This actor was written with the assistance of an AI model (Claude, by Anthropic) and tested locally on live feeds.