Reddit Subreddit Scraper API — New Posts From Any Community avatar

Reddit Subreddit Scraper API — New Posts From Any Community

Pricing

from $4.00 / 1,000 post founds

Go to Apify Store
Reddit Subreddit Scraper API — New Posts From Any Community

Reddit Subreddit Scraper API — New Posts From Any Community

Scrape new posts from any list of subreddits. Scheduled runs return only posts you have not seen — a change feed, not a re-dump. Unofficial — not affiliated with Reddit.

Pricing

from $4.00 / 1,000 post founds

Rating

0.0

(0)

Developer

Quarry

Quarry

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

Scrape new posts from any list of subreddits. Scheduled runs return only posts you have not seen — a change feed, not a re-dump. Unofficial — not affiliated with Reddit.

Sample output

{
"source": "new",
"query": "SaaS",
"id": "new:12345",
"title": "Example item title",
"url": "https://example.com/item",
"body": "Excerpt of the item body…",
"publishedAt": "2026-08-03T09:00:00.000Z"
}

Why this one

  • It is a monitor, not a search. State persists between runs, so a scheduled run returns only genuinely new items — and you are not charged for anything you have already been shown.
  • One schema across every source in this actor, so downstream code is written once.
  • Drift is reported, not hidden. If a source changes format you get a drift status rather than a silently empty dataset.

Input

FieldWhat it does
targetsRequired. Names without r/, e.g. SaaS. Reddit serves roughly two requests per run from Apify addresses, so 1-2 subreddits per run is the reliable range; more will be reported as PARTIAL COVERAGE in the log.
keywordsKeep only matching items. Applied before billing.
onlyNewSuppress already-reported items. On by default.
maxAgeHoursIgnore older items. 0 = no limit.
{ "targets": ["SaaS"] }

Who this is for

community managers, social listening and marketing teams.

Reliability

Every run writes RUN_STATS with ok, empty, drift, transport and rate_limited counts, plus how many items were suppressed as already seen.

A run that finds nothing new writes a single summary row instead of an empty dataset, so your schedule can tell "checked and quiet" apart from "broken" — and alert on either:

{ "type": "no_changes", "feedsChecked": 1, "itemsSuppressed": 100, "checkedAt": "2026-08-04T12:00:00.000Z" }

Item rows never carry a type field, so filtering the summary out downstream is one comparison. The summary row is never billed.

Pricing

A small charge when a run starts, plus a charge per new item. Items you have already been shown are never billed again — a run that finds nothing new costs only the start charge.

The start charge is billed once per gigabyte of run memory, minimum once. At this Actor's default 512 MB that is exactly one charge per run; raising memory above 1 GB multiplies it.


Unofficial. This Actor is not affiliated with, endorsed or sponsored by Reddit.