RSS Feed Scraper - RSS & Atom to JSON
Pricing
$8.00 / 1,000 items
RSS Feed Scraper - RSS & Atom to JSON
Convert public RSS and Atom feeds to JSON or CSV, or paste any website and the Actor finds its feed. Titles, links, dates, authors, summaries and full content, with keyword and date filters. Failed-feed diagnostics are free by default; optional error dataset rows are billable.
Pricing
$8.00 / 1,000 items
Rating
5.0
(1)
Developer
Technical Dost Solutions
Maintained by CommunityActor stats
1
Bookmarked
101
Total users
15
Monthly active users
8 hours ago
Last modified
Categories
Security
Limited permissionsShare
Turn one or hundreds of public RSS and Atom feeds into clean, structured dataset items. Use it for one-off scrapes, bulk exports, content aggregation, podcast and YouTube feed ingestion, research, or an AI/RAG pipeline without proxies or cookies.
First run: use the prefilled Hacker News feed with five items. A successful run produces at most six dataset rows, or $0.048 at the current $0.008 per row. Check the live Pricing tab before starting, then inspect the feed_item rows in the default dataset.
Need an hourly or daily schedule that returns only new items? RSS Feed Monitor handles deduplication across runs. Its HN and BBC example shows the separate workflow.
Import a ready-to-run workflow
Use the tested starter inputs in n8n JSON or the Make blueprint. Setup instructions explain import, credentials, output fields and recovery. Download both platforms as a ZIP.
Select your own Apify credential after importing and run manually first. The templates set a $1 maximum run budget, check run success and preserve useful output. The $1 setting is a ceiling, not a fixed charge. Source availability and provider execution limits still apply. No recurring schedule or external destination is enabled by these files.
What you get
- Parse multiple RSS or Atom feed URLs in one run, five at a time.
- Paste an ordinary website URL (for example
https://techcrunch.com) and the Actor finds the feed the site publishes. - Keep only entries that mention your
keywords, or that were published after a date (publishedAfter, e.g.2026-10-01or7 days). - Extract titles, links, authors, publication dates, categories, summaries, full content when supplied by the feed, and media/enclosure metadata.
- Control volume independently for every feed, from 1 to 500 items.
- Continue processing other feeds if an individual feed is temporarily unavailable or malformed. By default, failed-feed diagnostics are listed in the run status and the
ERRORSrecord of the key-value store, outside the billable dataset. If you enablesaveErrorRows, any error rows written to the dataset are billed at the standard per-row rate. - Export results as JSON, CSV, Excel, XML, or HTML through Apify datasets.
- Run manually, on a schedule, by API, or from Make, Zapier, n8n, webhooks, and other Apify integrations.
Quick start
{"feedUrls": ["https://news.ycombinator.com/rss"],"maxItemsPerFeed": 5,"includeContent": true}
The prefilled first run uses this one-feed, five-entry example. It produces at most six billed dataset rows, or $0.048 at the current $0.008 per row, when the feed succeeds. The output includes one metadata row plus up to five entry rows. Check the live Pricing tab before running. Results appear in the default dataset. The API default remains 50 entries per feed when maxItemsPerFeed is omitted, so set a limit explicitly when cost matters.
Try the ready-to-run examples: HN and BBC news feeds or Google Developers YouTube feed.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
feedUrls | string[] | Yes | None | Public RSS or Atom feed URLs to parse. |
maxItemsPerFeed | integer | No | 50 for omitted API input; 5 prefilled in the form | Maximum items extracted from each feed. Allowed range: 1–500. |
includeContent | boolean | No | true | Include full article content when the feed provides it. |
Output
The Actor writes feed_metadata and feed_item records to the default dataset. For articles or videos, filter rows to type === "feed_item". A failed feed does not prevent other feeds from completing: it is listed, free of charge, in the run status message and in the ERRORS record of the run's key-value store. Set saveErrorRows to true to also get error rows in the dataset (billed like other rows).
After exporting the dataset as JSON, the free local dataset receipt example counts all three row types and exits nonzero for a failed or empty feed. It does not start another Actor run. The five-item walkthrough shows the same bounded input and illustrative output.
Use guid with feedUrl as a downstream identity where available, and fall back to the entry link. A repeat run returns the feed again; this scraper does not maintain a cross-run seen-item history.
The Actor writes feed metadata and normalized feed entries to the default Apify dataset. Available fields depend on what each publisher includes in its feed and can include:
- feed and item titles
- canonical links
- author or creator
- publication date
- description or content snippet
- full encoded content
- categories
- enclosures and media metadata
Because publishers expose different RSS extensions, fields that are absent in the source feed may be empty.
Common use cases
News and competitor monitoring
Collect recent posts from company blogs, publications, press rooms, or industry sources on a schedule and send new items to Slack, email, a database, or a spreadsheet.
AI and RAG ingestion
Convert feeds into predictable JSON before embedding, summarizing, classifying, or routing content through an agent workflow.
Podcast and YouTube monitoring
Ingest podcast RSS feeds and public YouTube channel feeds, including available dates, links, descriptions, and enclosure/media data.
Content aggregation
Combine multiple public feeds in one run and export the output to JSON, CSV, or Excel for a dashboard, newsletter, or research pipeline.
API example
Run this request from a terminal after setting APIFY_TOKEN. Keep your token private; the Authorization header avoids putting it into the URL.
curl --request POST \'https://api.apify.com/v2/actors/technicaldost~rss-feed-scraper/run-sync-get-dataset-items?timeout=120' \--header "Authorization: Bearer $APIFY_TOKEN" \--header 'Content-Type: application/json' \--data '{"feedUrls":["https://feeds.bbci.co.uk/news/rss.xml"],"maxItemsPerFeed":5,"includeContent":true}'
In n8n, Make or another HTTP workflow, use the same POST URL, headers and JSON body. Split the returned array into rows, keep type=feed_item, and map title, link, pubDate, summary and guid to your next step. Large batches should use the asynchronous Actor runs endpoint and fetch the resulting dataset after completion.
Pricing
This Actor costs $8.00 per 1,000 dataset items. Always check the live Pricing tab before a large run. You pay for results, not a subscription. Use maxItemsPerFeed to control entry volume. Metadata rows are also dataset items under the current pricing model. Failed feeds are not billed unless you turn on saveErrorRows. The run-budget minimum shown by Apify is not a minimum actual bill.
Limits and responsible use
- The feed URL must be publicly reachable by Apify.
- The Actor does not sign in to private feeds or bypass access controls.
- Output completeness depends on the fields supplied by the publisher.
- Respect publisher terms, copyright, privacy, and applicable laws when storing or republishing feed content.
Support
If a valid public feed fails or a field is parsed incorrectly, open an issue with the feed URL, expected behavior, and a sample of the missing data. Do not include credentials or private feed tokens.
Use RSS Feed Scraper with AI agents (MCP)
Give Claude, ChatGPT, Cursor, VS Code or any MCP client this Actor as a tool through the hosted Apify MCP server. The agent sees the input fields with descriptions and example values, runs the Actor, and reads the results.
MCP server URL (this Actor only):
https://mcp.apify.com/?tools=technicaldost/rss-feed-scraper
Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/rss-feed-scraper" --header "Authorization: Bearer YOUR_APIFY_TOKEN"
Cursor, VS Code, Claude Desktop and other clients (mcp.json or the client's MCP settings):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=technicaldost/rss-feed-scraper","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
Clients that support sign-in (such as Claude.ai connectors) can use the URL without a token and log in to Apify instead. Get your token in Apify Console → Settings → API & Integrations, or generate a ready config for your client at mcp.apify.com. In the agent the tool is named technicaldost--rss-feed-scraper; ask it, for example, to "run RSS Feed Scraper with {"feedUrls": ["https://news.ycombinator.com/rss", "https://feeds.bbci.co.uk/news/rss.xml"], "maxItemsPerFeed": 10, "includeContent": true}".
AI agents without an Apify account can also run and pay for this Actor per request with x402 agentic payments.
Run RSS Feed Scraper via API
Run the Actor and get its results in one call (replace YOUR_APIFY_TOKEN):
curl -X POST "https://api.apify.com/v2/acts/technicaldost~rss-feed-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"feedUrls": ["https://news.ycombinator.com/rss", "https://feeds.bbci.co.uk/news/rss.xml"], "maxItemsPerFeed": 10, "includeContent": true}'
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("technicaldost/rss-feed-scraper").call(run_input={"feedUrls": ["https://news.ycombinator.com/rss", "https://feeds.bbci.co.uk/news/rss.xml"], "maxItemsPerFeed": 10, "includeContent": true})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / TypeScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('technicaldost/rss-feed-scraper').call({"feedUrls": ["https://news.ycombinator.com/rss", "https://feeds.bbci.co.uk/news/rss.xml"], "maxItemsPerFeed": 10, "includeContent": true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Long runs: start them with POST /v2/acts/technicaldost~rss-feed-scraper/runs and fetch the dataset when the run finishes, or receive a webhook.
FAQ
Can I use RSS Feed Scraper with AI agents like Claude or ChatGPT?
Yes. Connect the Apify MCP server with ?tools=technicaldost/rss-feed-scraper (see above) and the agent can run the Actor and read its results on its own.
Can I call RSS Feed Scraper from my own code?
Yes. Use the REST API, or the official Python and JavaScript clients shown above. Results are available as JSON, CSV, Excel, XML or HTML.
How do I run it on a schedule?
Save your input as a task in Apify Console and add a schedule (for example, daily). Use webhooks or integrations to send each run's results onward.
Is it legal to use this Actor?
It works with publicly available data. Make sure your use complies with the source website's terms and with data protection laws such as GDPR, especially for personal data.
Something doesn't work or I need a feature. What should I do?
Open an issue in the Issues tab on this Actor's page with an example input, and we'll look into it.