RSS & Atom Feed Reader to JSON avatar

RSS & Atom Feed Reader to JSON

Pricing

$0.20 / 1,000 feed items

Go to Apify Store
RSS & Atom Feed Reader to JSON

RSS & Atom Feed Reader to JSON

RSS and Atom feed reader for public news and blog feeds. Export entries as JSON with titles, links, dates, summaries, feed-supplied content and source URLs.

Pricing

$0.20 / 1,000 feed items

Rating

0.0

(0)

Developer

Grit

Grit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

RSS feeds scraper returns entries from public RSS and Atom feeds as JSON. RSS feeds API results include article titles, links, dates, summaries, content supplied by the feed, and source URLs.

Input example

{
"feedUrls": [
"https://blog.python.org/rss.xml"
],
"maxItems": 20
}

The input keys and allowed values follow .actor/input_schema.json.

Output fields

FieldTypeExample or excerpt from sample
statusstring"ok"
inputUrlstring"https://blog.python.org/rss.xml"
feedUrlstring"https://blog.python.org/rss.xml"
feedTitlestring"Python Insider"
idstring"https://blog.python.org/2026/10/python-3150-rc3/"
titlestring"Python 3.15.0 candidate 3 is here!"
linkstring"https://blog.python.org/2026/10/python-3150-rc3/"
datestring"2026-10-02T00:00:00Z"
updatedstring or null"2026-10-02T18:51:48Z"
authorstring or null"Hugo van Kemenade"
summarystring or null"Following tradition, a surprise rc3!"
contentTextstring"Following tradition, a surprise rc3!"
enclosuresarray[]
categoriesarray["releases"]
errorstring or nullnull

Output example

Trimmed from sample_output.json; omitted fields remain available in the dataset.

{
"status": "ok",
"inputUrl": "https://blog.python.org/rss.xml",
"feedUrl": "https://blog.python.org/rss.xml",
"feedTitle": "Python Insider",
"id": "https://blog.python.org/2026/10/python-3150-rc3/",
"title": "Python 3.15.0 candidate 3 is here!",
"link": "https://blog.python.org/2026/10/python-3150-rc3/",
"error": null
}

Limits and behavior

  • Supports RSS 2.0, RSS 1.0 and Atom 1.0. XML must be well formed; DTD/entity declarations are rejected.
  • maxItems counts all output rows, including errors; range 1–100,000. Entries retain source order rather than being globally sorted by date.
  • Concurrency ranges from 1–50. Requests retry network failures, HTTP 408/429 and server errors with backoff. Responses are limited to 8 MiB and redirects to five hops.
  • Discovery follows up to 20 advertised RSS/Atom alternate links per supplied page, for one discovery step. It does not guess paths, render JavaScript or crawl the whole site.
  • sinceDate is inclusive. Missing time zones use UTC; invalid or missing entry dates are null and excluded when a cutoff is set.
  • Deduplication is within one run, by article URL, entry ID or a text fingerprint. Non-URL IDs are scoped to their feed. There is no history across scheduled runs.
  • Authentication URLs, private addresses and hostnames resolving to private addresses are rejected. This is a public-feed reader, not a hardened network isolation boundary.
  • A feed only exposes the entries its publisher currently includes. This actor cannot reconstruct older posts or full articles absent from the feed. Source availability and formats can change.

FAQ

What are the output limits? maxItems caps entries and error rows. Discovery follows advertised alternate links and does not guess feed URLs.

Do I need a proxy or login? Public feeds need no login or proxy. Authentication URLs and private network addresses are rejected.

How is this priced? Proposed pay per event: $0.0002 for each retained item row. Errors, duplicates, filtered entries, and capped entries are uncharged. These are proposals in PRICING.md; the owner must configure Store billing.

How are rate limits handled? concurrency limits concurrent requests; network, HTTP 408/429, and server errors are retried with backoff and Retry-After.

How fresh is the data? Publishers choose what their feeds contain and how long entries remain available. date and updated come from feed data; this actor does not reconstruct older articles or scrape full pages.

Use with AI agents / MCP

After the actor is published, connect your agent to the Apify MCP server with an Apify API token. Use call-actor with the published actor identifier and the JSON input shown above. Read the returned dataset with get-dataset-items; the run response itself contains status and storage IDs, not the result rows. Alternatively, use the Apify API to start a run and read its default dataset. Keep the actor input bounded with maxItems, and inspect source links and any error fields before using results in an answer.