Reddit Search Scraper - $0.891/1k, Keyless by Default
Pricing
from $0.89 / 1,000 post returneds
Reddit Search Scraper - $0.891/1k, Keyless by Default
Keyword search across Reddit, or inside one subreddit. Keyless by default: up to 100 posts and their comments, nothing to sign up for. Reddit's public feed carries no vote data, so scores and comment counts come back empty - a free Reddit app fills those in. $0.891 per 1,000 posts.
Pricing
from $0.89 / 1,000 post returneds
Rating
5.0
(2)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Reddit Posts Search Scraper
Registering a free Reddit script app is the difference between a post and a post with its score
on it. That is the one decision worth making before you run this, so it is the first thing in the
README.
Either path searches by keyword, across the whole site or inside one subreddit, sorted by relevance, top, new, hot or most comments, over any time window, and returns the posts as flat rows.
Keyless by default, and what that costs you
Out of the box the actor reads Reddit's RSS endpoints. Nothing to sign up for, no key, no OAuth app, and it's a different piece of Reddit's infrastructure from the anonymous JSON API, so runs finish instead of getting rate-limited into an empty dataset.
The trade is real and you should know it up front. On the keyless path:
- You get up to 100 posts per search. That's the RSS feed's own ceiling — ask for more and 100 is what arrives.
score,numComments,upvoteRatioandflaircome backnull. Reddit's feed carries no vote data at all, so there is nothing to read. Nothing is estimated in their place.
Everything else is populated: title, author, subreddit, url, permalink, selftext,
createdAt, isSelf, domain and thumbnail. For a link post url is the article it points at
and domain is that host; for a text post url is the Reddit thread and domain is
self.<subreddit>. thumbnail is there when Reddit generated a preview, which is most link posts
and no text posts.
over18 is null on this path, not false. The feed has no NSFW marker, and a false would be
the actor claiming something it never checked.
Comments work without a key. Turn on includeComments and each post's discussion is read from
Reddit's comment feed. Comment feeds carry no scores either, so each comment arrives with author,
body, permalink and createdAt, and a score of null.
The honest limit, because you'll hit it on a big search: Reddit will hand a given address about one comment feed a minute, so comments are capped by how many addresses are available, not by anything this actor can hurry along. It rotates datacenter addresses for you and retries the refusals. What that works out to, measured:
| Search size | Posts that got comments | Run time |
|---|---|---|
| 5 posts | 5 of 5 | ~5 seconds |
| 100 posts | 86 of 100 | ~3 minutes |
So small searches come back complete and fast; a 100-post search takes a few minutes and a handful
of posts still miss out. Those rows carry a commentsError rather than a silently empty list, so
you can tell "no comments" apart from "couldn't look" and re-run just those if you need them.
If you need every post's comments, run smaller searches.
Drop in a free Reddit script app (redditClientId + redditClientSecret, two minutes at
reddit.com/prefs/apps, the credentials stay yours) and it switches to the authenticated API: vote
data filled in, comment scores, and pagination past 100.
Every row carries a source field, rss or oauth, so you always know which path produced it.
A real keyless row, text post, includeComments on:
{"ok": true,"id": "1ru7f1b","title": "Do mechanical keyboards really make a big difference for everyday gaming?","author": "KRGKart_Support","subreddit": "buildapc","url": "https://www.reddit.com/r/buildapc/comments/1ru7f1b/do_mechanical_keyboards_really_make_a_big/","permalink": "https://www.reddit.com/r/buildapc/comments/1ru7f1b/do_mechanical_keyboards_really_make_a_big/","selftext": "This is something that comes up quite often when people are putting together or upgrading a gaming setup…","score": null,"upvoteRatio": null,"numComments": null,"createdAt": "2026-03-15T07:04:36.000Z","flair": null,"over18": null,"isSelf": true,"thumbnail": null,"domain": "self.buildapc","source": "rss","comments": [{"author": "BusinessBear53","body": "Not a massive difference but it's a nice subtle change…","permalink": "https://www.reddit.com/r/buildapc/comments/1ru7f1b/do_mechanical_keyboards_really_make_a_big/oajbntp/","createdAt": "2026-03-15T07:30:30.000Z","score": null}]}
A link post fills in domain and thumbnail, and url points off Reddit:
{"id": "1w1ql7z","title": "New Plaud One Headphones Are Part Wireless Earbuds, Part AI Recorder","url": "https://www.pcmag.com/news/new-plaud-one-headphones-are-part-wireless-earbuds-part-ai-recorder","domain": "pcmag.com","thumbnail": "https://external-preview.redd.it/P5YbAxiGqjVdsDlXoo1iRdqTKuuEvQsbNDG3f_6aNqM.jpeg?width=640&crop=smart&auto=webp&s=df0db2b640f02cfc8801ef2c01856992200c7a03","isSelf": false}
Input
| Field | Notes |
|---|---|
query | Keywords. Reddit's own operators work — title:, author:, quoted phrases. |
subreddit | Optional. Restrict to one subreddit. MechanicalKeyboards or r/MechanicalKeyboards both work. |
sort | relevance, hot, top, new, comments. |
time | hour through all. Applies to relevance, top and most-comments. |
maxItems | Ceiling on posts. The keyless feed tops out at 100; past that needs Reddit app credentials. |
includeComments | Comments per post. Works without credentials. Costs one extra request per post. |
commentLimit | Comments per post, up to 100. Keep it low if you're pulling a lot of posts. |
redditClientId / redditClientSecret | Optional free script app. |
{"query": "mechanical keyboard","subreddit": "buildapc","sort": "top","time": "month","maxItems": 100}
Cost
$0.000891 per post, which is $0.891 per 1,000, plus a $0.001 fee each time a run starts. Flat on every plan.
You're only billed for posts actually delivered. Samples, diagnostics, duplicates, blocked look-ups
and no-result runs never trigger the per-post fee, so a search that matches nothing costs you the
$0.001 start fee and nothing more. Comments fetched with includeComments ride along inside their
parent post and aren't billed separately.
Proxy
Off by default, and a plain search doesn't need one — that's a single request and Reddit is fine with it.
Comments are the exception. Reddit rate-limits comment feeds hard per IP, so when includeComments
is on without app credentials the actor turns on rotating datacenter addresses for those requests by
itself. You don't have to configure anything, and datacenter addresses aren't billed per gigabyte.
Beyond that, turn on Apify Proxy if you hit IP rate limits or you're running the authenticated path
hard. Metered groups (RESIDENTIAL, GOOGLE_SERP) aren't offered here; ask for one and it's quietly
swapped for datacenter so a run can't bill per gigabyte. Your own proxy URLs are used exactly as
given.
One thing to expect in the output
Reddit's RSS search sometimes returns the subreddit itself as a result, not just posts. You'll see a
row with an id like t5_2ugo7 carrying the subreddit's sidebar text as selftext. That's Reddit's
behaviour, not a parsing bug. Post ids never carry that prefix, so dropping every row whose id
starts with t5_ leaves you with posts and nothing else.
