RSS & Atom Feed Reader to JSON
Pricing
$0.20 / 1,000 feed items
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
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
| Field | Type | Example or excerpt from sample |
|---|---|---|
status | string | "ok" |
inputUrl | string | "https://blog.python.org/rss.xml" |
feedUrl | string | "https://blog.python.org/rss.xml" |
feedTitle | string | "Python Insider" |
id | string | "https://blog.python.org/2026/10/python-3150-rc3/" |
title | string | "Python 3.15.0 candidate 3 is here!" |
link | string | "https://blog.python.org/2026/10/python-3150-rc3/" |
date | string | "2026-10-02T00:00:00Z" |
updated | string or null | "2026-10-02T18:51:48Z" |
author | string or null | "Hugo van Kemenade" |
summary | string or null | "Following tradition, a surprise rc3!" |
contentText | string | "Following tradition, a surprise rc3!" |
enclosures | array | [] |
categories | array | ["releases"] |
error | string or null | null |
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.
maxItemscounts 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.
sinceDateis 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.