RSS FEED SCRAPER / BUILT FOR YOUR WORKFLOW

Turn RSS feeds into JSON.
Put it to work.

Turn public RSS and Atom feeds into clean JSON or CSV for AI workflows, newsletters and market research. One run. Multiple sources. A dataset you can put to work.

Try one feed with five entries · $0.048 for six rows at the verified price · Runs in your Apify account

  • No parser to maintain
  • Feed-provided content
  • n8n & Make starters
FROM FEED TO WORKFLOW
News & blogsRSS / Atom
Podcasts & videoPublic feeds
RSS Feed Scraper → JSON
{
  "type": "feed_item",
  "feedTitle": "Hacker News",
  "title": "Pixel 11 doesn't yet meet the GrapheneOS security standards and may be skipped",
  "pubDate": "Mon, 05 Oct 2026 13:02:25 +0000",
  "summary": "Comments"
}
AI pipelinesNewslettersSpreadsheets

Real Hacker News record · parsed locally on 5 October 2026. Fields shown are a subset. Inspect all six rows. No paid Apify run was started.

93Total Actor users
16Monthly active users
RSS + AtomMultiple feeds per run
JSON / CSVExport through Apify

Public user counts from the Apify listing, checked 5 October 2026. These include free users.

01 / TURN DATA INTO SOMETHING USEFUL

Build the brief.
Power the workflow.

Spend less time collecting links and more time on the analysis, editorial work or client deliverable that makes your service valuable.

01

AI & RAG ingestion

Prepare source data for your next AI step.

Feed URLs → JSON → your summarizer or embedding pipeline. Keep the source link and date alongside each record.

02

Newsletter production

Build your editorial shortlist.

Combine public industry feeds, review candidate stories and add your own commentary before publishing.

03

Competitor research

Bring company updates into one place.

Collect posts from public company blogs and press-room feeds. Route relevant updates into a research sheet or team brief.

04

Podcast & video feeds

Organize new episode and upload data.

Read public podcast RSS or YouTube channel feeds. Use available titles, dates, links and enclosure metadata in your catalogue.

02 / SEE WHAT YOU WILL GET

A small first run.
A clear next step.

Choose a use case, copy the input into Apify and inspect the dataset. The five-entry limit keeps the first run easy to review.

Start with one public feed and five entries. Inspect up to six billable rows before adding more feeds or a schedule.

01 / Input JSON
{
  "feedUrls": [
    "https://news.ycombinator.com/rss"
  ],
  "maxItemsPerFeed": 5,
  "includeContent": true
}

Examples only. Switching examples or copying input does not run the Actor.

02 / Use the output

The dataset contains feed_metadata, feed_item and error rows.

  1. Check for error rows, including on successful runs.
  2. Keep type === "feed_item" for articles or episodes.
  3. Map title, link, pubDate and summary to your next step.
  4. Deduplicate repeat runs using feedUrl + guid, or the link.
Open the runnable walkthrough Browse preconfigured Apify tasks

At the verified $0.008 per row: one feed with five entries and one metadata row costs $0.048; two such feeds cost $0.096. Check current pricing before running.

03 / FITS THE WAY YOU WORK

Your feeds.
Your tools.

Import a starter workflow or connect through the Apify API. Choose your destination after you have inspected the records.

n8n

Import. Connect. Execute.

Import the JSON file. Add your Apify HTTP Header Auth credential, then select it in the start, status and dataset nodes. Run manually and inspect the filtered article records.

Download n8n workflow Official integration guide
Make

A blueprint for your scenario.

Import the blueprint into a blank scenario, select your Apify connection and choose Run once. Check the output bundle before adding Google Sheets, Slack or another destination.

Download Make blueprint Official integration guide
Zapier

Connect through Apify.

Use Apify's Zapier connector to run your configured Actor or react to a finished run. Retrieve its dataset, check for feed errors and map item records into your chosen app.

Follow the Zapier guide

Setup guide; no Zapier template is included.

n8n and Make downloads use one feed, five entries and a $1 maximum run budget. Their input and output/error logic were checked locally; authenticated execution still requires your setup. That is a ceiling, not a fixed fee. Add your own credentials; no recurring schedule or external destination is enabled. Read the setup and recovery instructions.

Developer quick start: REST API, JavaScript and Python

Use a private Apify token in your environment or credential manager. These examples start a billable run when you execute them. For larger jobs, use asynchronous runs and retrieve the dataset after completion.

REST API / cURL

curl --request POST \
  'https://api.apify.com/v2/actors/technicaldost~rss-feed-scraper/run-sync-get-dataset-items?timeout=120&maxTotalChargeUsd=1' \
  --header "Authorization: Bearer $APIFY_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{"feedUrls":["https://news.ycombinator.com/rss"],"maxItemsPerFeed":5,"includeContent":true}'

JavaScript · npm install apify-client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('technicaldost/rss-feed-scraper').call({
  feedUrls: ['https://news.ycombinator.com/rss'],
  maxItemsPerFeed: 5,
  includeContent: true,
}, { maxTotalChargeUsd: 1 });
if (run.status !== 'SUCCEEDED') throw new Error('Check the Actor run before retrying');
const { items } = await client.dataset(run.defaultDatasetId).listItems();
if (items.some(row => row.type === 'error')) throw new Error('Check feed errors');
console.log(items.filter(row => row.type === 'feed_item'));

Python · pip install apify-client

import os
from decimal import Decimal
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('technicaldost/rss-feed-scraper').call(
    run_input={'feedUrls': ['https://news.ycombinator.com/rss'],
               'maxItemsPerFeed': 5, 'includeContent': True},
    max_total_charge_usd=Decimal('1'),
    wait_secs=120,
)
if not run or run['status'] != 'SUCCEEDED':
    raise RuntimeError('Check the Actor run before retrying')
items = client.dataset(run['defaultDatasetId']).list_items().items
if any(row.get('type') == 'error' for row in items):
    raise RuntimeError('Check feed errors')
print([row for row in items if row.get('type') == 'feed_item'])

Full Apify API reference and client examples

04 / KNOW YOUR COSTS

Useful data.
Predictable unit pricing.

$8 / 1,000 dataset rows

Pay per result row, including metadata and errors. Set a per-feed entry limit and review the dataset before expanding your workflow.

Price checked 5 October 2026. Apify's live Pricing tab is authoritative; account and workflow costs may also apply.

Check current pricing
Estimated Actor fee / run · 6 rows$0.048
Estimated Actor fee / month$0.048

Assumes each successful feed supplies the full entry limit, plus one metadata row per feed, at $0.008 per dataset row (checked 5 October 2026). Error rows are billable too. This is a planning estimate; fewer entries can reduce the fee. Workflow hosting, AI, storage and other services are separate. No run is started here.

MAKE THE BUSINESS CASE

Protect your margins. Price the whole workflow.

For an agency brief, paid newsletter or research service, compare the value of reduced manual collection with Actor fees, automation hosting, AI calls and editorial review. The scraper supplies data; your service creates the value. Profit depends on your pricing, demand and total costs.

05 / THE DETAILS THAT MATTER

Before your first run.

What is RSS Feed Scraper?

An Apify Actor that parses public RSS and Atom URLs into normalized dataset records. Use it for content aggregation, research and automation, then export JSON or CSV.

Does it fetch full articles or generate AI summaries?

It returns full content only when the publisher includes it in the feed. It does not crawl linked articles, generate summaries or create embeddings. Add your own processing step when needed.

Does it return only new items on repeat runs?

No. A repeat scrape can return the same entries. Deduplicate in your workflow using feedUrl plus guid, with the item link as a fallback. For persistent new-items-only monitoring, use the separate RSS Feed Monitor Actor. Explore RSS Feed Monitor.

Do I need to write code?

No for a manual run: paste public feed URLs into Apify, set an item limit and start. n8n and Make starter downloads are available. API examples are for developers who want to build their own integration.

What is billed?

Every row in the default dataset, including feed items, metadata and error rows. The verified price on 5 October 2026 was $0.008 per row. Check the live Apify Pricing tab for current terms. A maximum run budget is a ceiling, not a fixed charge.

What happens if a feed fails?

The Actor can continue with other feeds and return an error row. Check the output for type=error even when the overall run succeeds. Public availability, publisher fields and feed history vary.

Can I use this for a paid newsletter or client service?

It can supply structured feed data to your workflow. Your editorial work, customers and pricing determine revenue. Respect publisher rights and terms before storing or republishing content; no profit or savings outcome is guaranteed.

START WITH ONE FEED

From a feed URL
to your next useful thing.

Try the five-entry example. Check the output. Build from there.

Run your first feed on Apify on Apify (opens in a new tab)

Need help with a valid public feed? Open an Actor issue or contact Technical Dost.

Your privacy choices

Optional measurement helps us understand visits and clicks. Choose separately below. You can change your choices in the footer.