Reddit Keyword Search Scraper - Posts, Communities, People
Pricing
from $2.55 / 1,000 results
Reddit Keyword Search Scraper - Posts, Communities, People
Searches Reddit by keyword across one of five corpora: posts, communities, comments, people, or media. Each result is saved as a row stating which kind it is, with its id, author, community, creation time, score where Reddit shows one, and its address on reddit.com.
Pricing
from $2.55 / 1,000 results
Rating
0.0
(0)
Developer
The Netaji
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Reddit Keyword Search Scraper
The Actor searches Reddit by keyword and saves a structured record for every result. One of five
corpora is searched per run — posts, communities, comments, people, or media — and each returns its
own record shape, stated on every row in the kind field. No Reddit account, application, or API
credential is involved.
Accepted input
| Field | Required | Default | Notes |
|---|---|---|---|
q | yes | — | The words to search for. Passed through as typed, so quotes and operators behave as they do in reddit.com's own search box. |
searchType | no | posts | One of posts, communities, comments, people, media. |
maxItems | no | 100 | Results to save. A search is read in one request, so the effective ceiling is 200. |
cursor | no | — | A search continuation token, if one is already held from elsewhere. A run does not produce one; see below. |
{"q": "mechanical keyboard","searchType": "posts","maxItems": 50}
Response fields
The saved columns are the union of the four record shapes, and a run fills in the ones its corpus
uses. Every row carries kind, id, and fullname.
postsandmediareturn post records:kind,id,fullname,title,permalink,author,author_id,subreddit,subreddit_id,created_at,score,comment_count,nsfw,spoiler,subreddit_nsfw,snippet,snippet_fullname, andmedia_url.communitiesreturn community records:kind,id,fullname,name,prefixed_name,url,description,weekly_visitors,weekly_contributions,icon,nsfw, andquarantined.commentsreturn comment records:kind,id,fullname,post_fullname,post_title,subreddit,subreddit_id,author,permalink,created_at,body, andnsfw.peoplereturn account records:kind,id,fullname,name,prefixed_name,url,karma,description, andicon.
{"kind": "post","id": "1abcdef","fullname": "t3_1abcdef","title": "Which switches are actually worth the money?","permalink": "/r/MechanicalKeyboards/comments/1abcdef/which_switches/","author": "example_user","subreddit": "MechanicalKeyboards","created_at": "2026-08-14T09:41:07.000Z","score": 412,"comment_count": 86,"snippet": "…the switches are the part worth spending on…","nsfw": false}
Why search records are thinner than feed records
Reddit renders search results in a different markup from the one its feeds use, and the fields that
markup does not carry are saved as null rather than filled in from elsewhere. The visible effects
are worth knowing before a column is relied on:
scoreandcomment_countcome from the counter row Reddit draws beneath a result. Media results have no counter row at all, so both arenullon every row of amediasearch. That is the renderer, not the post.- A comment result carries its
bodyand the title of the post it sits on, but no parent and no depth, because search returns a result rather than a position in a thread. The Reddit Comment Tree Scraper returns those. snippetis Reddit's own highlighted excerpt and is present only where the match was on a comment rather than on the title.nsfwis stated for every search result, which is unusual — on a feed the field is often unknown. It remains tri-state in the schema because the same column is shared with feed-shaped records, and anullthere means the source said nothing rather than that the record is safe for work. No NSFW filter is offered on any Actor in this family for that reason.
How deep a run goes
A search is read in a single request. Reddit ranks search results rather than paging them by id, and
the position it hands back cannot be re-aimed at a list that has been trimmed to maxItems, so the
Actor publishes no continuation point and prints none. maxItems is therefore the only control on
depth, and its ceiling is 200. A run asking for more is answered with 200 and says so in the run log
rather than quietly returning less than was asked for.
Search pages are also small — seven to fourteen results each — and they repeat across pages, so
maxItems counts distinct results and a deep run does more reading than the number suggests.
The cursor field exists because the search accepts one, not because a run produces one. It is
useful only to a caller who already holds a token from elsewhere; in normal use it is left empty and
maxItems is raised instead.
The people corpus ends early, and that is the corpus
A people search returns one short page — a handful of accounts — and then offers nothing further.
A run asking for fifty and receiving four has not failed and has not been throttled; that is all
Reddit will serve for a person search. The run log says so before the request is made, so the small
number is not a surprise afterwards. The other four corpora page normally.
Failures and partial results
A request that fails ends the run, and results already saved remain in the dataset. An empty result
set ends the run cleanly rather than failing: a search term that matches nothing is an answer, not
an error. Fields absent from a result are returned as null rather than omitted, so the column set
is the same in every record.
Cost
Charging is per result saved to the dataset, plus the platform's one-off Actor start event. media
and people searches are charged at the same rate as any other, and a run that saves nothing is
charged for nothing beyond the start event.
Related Actors
- Reddit Subreddit Feed Scraper — reading a known community in full, rather than searching across all of them.
- Reddit Comment Tree Scraper — the whole thread behind a post found here, with depth and parent on every comment.
- Reddit Post Details Scraper — the complete record for one result, including body text and media that search does not return.
Support
Questions, bug reports, and requests for a field that is not here yet: thenetaji@proton.me.
