Reddit Search V2 — Posts, Communities & People (up to 500)
Pricing
Pay per usage
Reddit Search V2 — Posts, Communities & People (up to 500)
FREE — Search Reddit at scale: posts, comments, media, communities, people, and interest topics. Up to 500 results per run — Reddit stops one search at ~500 posts per sort (~250 with Hot), so search several subreddits (comma-separated) to go higher. 3 endpoints, no Reddit account or proxy required.
Pricing
Pay per usage
Rating
5.0
(3)
Developer
Red Crawler
Maintained by CommunityActor stats
2
Bookmarked
169
Total users
20
Monthly active users
3 days ago
Last modified
Categories
Features
Share
Reddit Search V2
This actor is free. There is no per-result fee. You only pay Apify's normal platform usage (the compute time of your run), and Apify's free plan gives you $5 of usage credit every month.
Search Reddit at scale across posts, comments, media, communities, people, and Reddit's interest-topic taxonomy. Three self-contained endpoints. No Reddit account or proxy required.
Pick the endpoint, fill the matching section, hit Start.
Endpoints at a glance
| # | Endpoint | What it returns | Best for |
|---|---|---|---|
| 1 | Search | posts / comments / media / communities / people | trend research, brand monitoring, lead gen, audits |
| 2 | Community Picker Search | autocomplete-style subreddit list | pickers, dropdowns, "did you mean…" |
| 3 | Interest Topics Search | Reddit's official topic taxonomy | recommendations, tag clouds, categorization |
What you can fetch
About the result limit — Reddit stops every search at its own ceiling.
limitgoes up to 500 per run, and what you actually get back is bounded by Reddit's own search index, not by us. Measured live against Reddit (November 2026):
Type Ceiling for one search (one sort) posts ~500 (inside one subreddit: exactly 500 for New / Top) posts or media sorted by Hot ~250 media ~500 (Relevance: ~350) comments ~250 communities ~250 people ~25 Past those numbers Reddit simply stops handing out new results — that's a limit on Reddit's side, and we report it honestly rather than padding runs with duplicates. A global New search often lands a little under 500 (about 450–470), because Reddit drops removed posts from its list. To go higher on posts / comments / media, search multiple subreddits (comma-separated): each one has its own ceiling, and
limitis the total, split evenly across them. Each sort is also its own list, so running the same search with another sort gives you other results. Communities and people are always global, so their ceilings are fixed.
1. Search — posts, comments, media, communities, people
The main search endpoint. One query, one type, one set of filters.
Inputs
| Field | Type | Default | Notes |
|---|---|---|---|
query | string | (required) | Search string. Required for every type. |
type | enum | posts | One of posts, comments, media, communities, people. |
sort | enum | relevance | relevance / hot / top / new / comments. See sort matrix below. |
time | enum | all | hour / day / week / month / year / all. Posts/comments/media only. |
safe_search | bool | false | true hides NSFW results. |
subreddit | string | (blank) | Optional. Restrict to subreddit(s) (without r/). Posts/comments/media only. Pass several comma-separated — cats,dog,aww — to fan out across communities; limit is then the total, split evenly across them. |
limit | int | 100 | 1 – 500. Bounded by Reddit's ceiling for one search (~500 posts / media per sort, ~250 with Hot, ~250 comments, ~250 communities, ~25 people); scope several subreddits or use another sort to gather more. |
Sort & filter matrix
| Type | Supports sort | Supports time | Supports subreddit |
|---|---|---|---|
| posts | ✅ all 5 | ✅ | ✅ |
| comments | ✅ relevance / top / new only | ✅ | ✅ |
| media | ✅ all 5 | ✅ | ✅ |
| communities | ❌ ignored | ❌ ignored | ❌ ignored |
| people | ❌ ignored | ❌ ignored | ❌ ignored |
Multi-subreddit search — for posts / comments / media, put several comma-separated subreddits in subreddit (cats,dog,aww). The actor searches each one in parallel and merges the results. limit is the total across them, split evenly (e.g. limit 600 over 3 subs ≈ 200 each). This beats a single combined query two ways: Reddit caps a combined subreddit filter at the same ~250 as a single sub, and in a combined query the biggest subreddit dominates while the smaller ones get squeezed out.
Returns — one record per result, with endpoint and result type tagged on every row:
| Type | Headline columns |
|---|---|
| posts | id, title, body / selftext, author, subreddit, score, comment count, created, permalink, URL, all post flags, flair, media, awards |
| comments | id, body, author, subreddit, score, parent post info, created, OP flag |
| media | same as posts, pre-filtered to image / video / gallery |
| communities | id, name, prefixed name, title, subscribers, public description, NSFW flag, theme |
| people | id, name, username, karma, profile icon, NSFW flag, accepts-followers flag |
Use it when — trend research, brand monitoring across all types, lead generation (people), content audits (comment search inside a subreddit), media discovery.
Examples (real records, abbreviated for readability — the full row contains every field listed above)
Search → posts
Input
{"endpoint": "search","search_query": "python programming","search_type": "posts","search_sort": "relevance","search_time": "all","search_safe": "off","search_limit": 50}
Output (one dataset record)
{"endpoint": "search","__typename": "SubredditPost","id": "t3_1sygx15","postTitle": "Python is (mostly) a useless programming to learn","score": 0,"commentCount": 65,"createdAt": "2026-04-28T22:49:52.017Z","url": "https://www.reddit.com/r/The10thDentist/comments/1sygx15/python_is_mostly_a_useless_programming_to_learn/","domain": "self.The10thDentist","voteState": "NONE","isNsfw": false,"isSpoiler": false,"isLocked": false,"isStickied": false,"isArchived": false,"content": {"markdown": "Python was fun at first, but when you start getting serious and building real world projects, you quickly start to learn the limitations…","preview": "Python was fun at first, but when you start getting serious…"},"authorInfo": { "name": "BetApprehensive836", "id": "t2_1w3kry2fgb" },"subreddit": { "prefixedName": "r/The10thDentist", "subscribersCount": 359891 },"flair": { "text": "Technology", "textColor": "DARK" },"media": null,"permalink": "/r/The10thDentist/comments/1sygx15/python_is_mostly_a_useless_programming_to_learn/","upvoteRatio": 0.41,"isSelfPost": true}
Search → comments
Input
{"endpoint": "search","search_query": "best python framework","search_type": "comments","search_sort": "top","search_limit": 50}
Output (one dataset record)
{"endpoint": "search","id": "t1_ohl6uy0","score": 17,"createdAt": "2026-04-22T06:52:01.302Z","isOP": false,"isScoreHidden": false,"content": {"markdown": "The more you learn about any language sans libraries, the faster you will be able to pick up all that extra stuff…"},"authorInfo": { "name": "BrannyBee", "id": "t2_1i8klxuqxj" },"parent": { "id": "t1_ohh59pq", "type": "comment" },"postInfo": { "id": "t3_1rqd9dp", "title": "Best Python framework for beginners?", "subreddit": "r/learnpython" }}
Search → media
Input
{"endpoint": "search","search_query": "sunset photography","search_type": "media","search_sort": "top","search_time": "year","search_limit": 50}
Output (one dataset record)
{"endpoint": "search","__typename": "SubredditPost","id": "t3_1rsrkof","postTitle": "Anyone else obsessed with sunset photography?","score": 70,"commentCount": 6,"url": "https://i.redd.it/hxqiny8w6uog1.jpeg","domain": "i.redd.it","thumbnail": {"url": "https://preview.redd.it/hxqiny8w6uog1.jpeg?width=140&height=93","dimensions": { "width": 140, "height": 93 }},"media": {"still": {"source": { "url": "https://preview.redd.it/hxqiny8w6uog1.jpeg?auto=webp", "dimensions": { "width": 2400, "height": 1600 } }}},"authorInfo": { "name": "Odd-Government-6790", "id": "t2_20vb1yg1g5" },"flair": { "text": "approved", "textColor": "DARK" },"isSelfPost": false}
Search → communities
Input
{"endpoint": "search","search_query": "python","search_type": "communities","search_limit": 50}
Output (one dataset record)
{"endpoint": "search","__typename": "Subreddit","id": "t5_2qh0y","name": "Python","prefixedName": "r/Python","subscribersCount": 1478319,"publicDescriptionText": "The largest Python community for Reddit! Stay up to date with the latest news, packages, and meta information relating to the Python programming language.","isNsfw": false,"isQuarantined": false,"isSubscribed": false,"styles": {"icon": "https://styles.redditmedia.com/t5_2qh0y/styles/communityIcon_lctik80p96tg1.png"},"communityStats": { "weeklyActiveUsersCount": 169035 }}
Search → people
Input
{"endpoint": "search","search_query": "spez","search_type": "people","search_limit": 50}
Output (one dataset record)
{"endpoint": "search","__typename": "Redditor","id": "t2_1w72","name": "spez","prefixedName": "u/spez","karma": { "total": 937988 },"isAcceptingFollowers": true,"isFollowed": false,"icon": {"url": "https://styles.redditmedia.com/t5_3k30p/styles/profileIcon_uj015iwx9s7g1.png","dimensions": { "width": 256, "height": 256 }},"profileInfo": {"createdAt": "2005-06-06T04:00:00.000Z","isNsfw": false}}
2. Community Picker Search
Real-time-style subreddit search optimized for picker / autocomplete UIs.
Inputs
| Field | Type | Default | Notes |
|---|---|---|---|
query | string | (required) | Search string. |
include_nsfw | bool | true | Set false to exclude NSFW subreddits. |
Returns per result — subreddit name, prefixed name, title, icon, subscribers, NSFW flag.
Use it when — building a subreddit picker, validating a community exists, "did you mean…" suggestions, dropdown autocomplete, niche directory creation.
Example
Input
{"endpoint": "community_picker","community_picker_query": "ask","community_picker_nsfw": true}
Output (one dataset record)
{"endpoint": "community_picker","__typename": "Subreddit","id": "t5_2qh1i","name": "AskReddit","prefixedName": "r/AskReddit","subscribersCount": 58524750,"publicDescriptionText": "r/AskReddit is the place to ask and answer thought-provoking questions.","isNsfw": false,"isQuarantined": false,"styles": {"icon": "https://styles.redditmedia.com/t5_2qh1i/styles/communityIcon_p6kb2m6b185b1.png","legacyIcon": {"url": "https://b.thumbs.redditmedia.com/LSHrisQApf1H5F8nWShTx3_KjTOMc3R_ss3kx3XAyXQ.png","dimensions": { "width": 256, "height": 256 }}},"type": "PUBLIC"}
3. Interest Topics Search
Search Reddit's official interest-topic taxonomy (the topics Reddit uses for onboarding, recommendations, and feed seeding).
Inputs
| Field | Type | Default | Notes |
|---|---|---|---|
query | string | (required) | Topic search string. |
Returns per topic — topic ID, name, display name, title, description.
Use it when — mapping content to Reddit's official taxonomy, recommendation systems, topic-based feeds, content categorization, building topic chips / tag clouds.
Example
Input
{"endpoint": "interest_topics","interest_topics_query": "technology"}
Output (one dataset record — runs typically return 3–10 topics)
{"endpoint": "interest_topics","id": "technology","__typename": "InterestTopicNode","topic": {"name": "technology","title": "Technology","topicType": "search_user_query_interest_topic","parents": null}}
How to run
- Pick an endpoint in the "What to fetch" dropdown.
- Open the matching section and fill its fields. Each section is independent — fields outside your chosen section are ignored.
- Click Start.
Output
Results are pushed to the actor's default dataset, one record per result. View as a table or download as JSON / CSV / Excel / XML.
| Behavior | Detail |
|---|---|
| Record granularity | One dataset row per Reddit result. |
| Endpoint tag | Every record carries an endpoint field so rows from different endpoints are distinguishable. |
| Type tag (Search) | Every Search row also carries a type field (posts / comments / media / communities / people). |
| Column order | The most useful columns (title, score, author, subreddit, …) are placed first so the Table view is readable without expanding. |
| Flattening | Nested Reddit structures are flattened — no deeply-nested blobs in the Table view. |
| Empty queries | Zero records pushed; the run still finishes SUCCEEDED. |
Status & error reference
Run status (Apify-side, shown on the run page)
| Status | Apify message | Meaning | What to do |
|---|---|---|---|
| "Actor succeeded with N results in the dataset" | Run finished. Some or zero results pushed. | Open the dataset to view results. | |
| "The Actor process failed…" | Validation error or upstream Reddit fault. | Check the run log. You are NOT charged for failed runs. | |
| "The Actor timed out. You can resurrect it with a longer timeout to continue where you left off." | Run exceeded its timeout. Rare at default 300 s; large multi-subreddit runs at a high limit take longer. | Raise the run timeout, or lower limit / use fewer subreddits. | |
| "The Actor process was aborted. You can resurrect it to continue where you left off." | You stopped the run manually. | No charge for unpushed results. |
Common in-run conditions (visible in run log)
| Condition | Cause | Result |
|---|---|---|
| Empty result set | Query matched nothing on Reddit. | Run SUCCEEDED, 0 records, no charge. |
| NSFW filtered | safe_search=true and matches were NSFW only. | Run SUCCEEDED, fewer/zero records. |
Sort fallback to relevance | Asked for hot / comments on comments type. | Run SUCCEEDED, results sorted by relevance. |
| Sort/time/subreddit ignored | Used those on communities / people. | Run SUCCEEDED, those filters are skipped silently. |
| Per-query cap reached | Reddit ran out of results before your limit. | Run SUCCEEDED with fewer records — you hit Reddit's ceiling (~500 posts / media per sort, ~250 with Hot, ~250 comments, ~250 communities, ~25 people). Scope multiple subreddits or use another sort to gather more. |
Validation error: query is required | Missing query. | Run FAILED immediately, no charge. |
Validation error: limit out of range | limit outside 1 – 500. | Run FAILED immediately, no charge. |
Common edge cases
- NSFW handling — Search has a
safe_searchtoggle (off by default). Community Picker has its ownInclude NSFWcheckbox. Interest Topics doesn't return NSFW content by nature. - Sort / time filter on Communities & People — silently ignored; Reddit ranks those by relevance only.
- Subreddit scope on Communities & People — silently ignored; those types always run globally.
- Comments sort — only
relevance/top/newsupported. Other values fall back torelevance. - Reddit's per-search ceiling. Reddit's search runs dry at roughly 500 posts or media per sort (250 when sorted by Hot), 250 comments, 250 communities and 25 people — no matter how high you set
limit. Scope multiple subreddits (comma-separated insubreddit) to gather more posts/comments/media: each is searched separately and merged, up to yourlimit(max 500). Or run the same search with another sort — each sort is its own list. peoplereturns ~25 and ignoreslimit. Reddit's people search hands back a single fixed-size page. Asking for 500 people still returns ~25.- Empty results — zero records, run still
SUCCEEDED. No charge. - Removed / banned content — filtered out by Reddit at search time.
Why this actor is fast
- Speed — 1–3 seconds per call, end-to-end. Pure HTTP to Reddit's API. No browser to boot, no Playwright / Selenium / Puppeteer overhead. Competing browser-based scrapers typically take 15–60 seconds per call.
- Bulk paging — 250 results per request. Posts, comments and media come back in pages of 250, so 500 posts is 2 requests and lands in under 10 seconds. Multi-subreddit runs fan out in parallel on top of that.
- Reliability — zero browser flakiness. No headless-Chromium crashes. No JS-render timeouts. No captcha pages. No surprise mid-run failures from a browser quirk.
- Footprint — under 100 MB RAM per run. Most browser-based scrapers need 1–4 GB. Built for reliability behind the scenes — just paste your inputs and run.
Pricing
Free. There is no per-result fee — we don't charge anything for the results you get, however many you pull.
You only pay Apify's normal platform usage, which is the compute time your run takes. Apify's free plan includes $5 of usage credit every month, so you can start right away without a paid plan.
Need a different shape of data?
- Reddit Search — the v1 predecessor (posts / subreddits / users search, simpler filter set)
- Reddit Posts — front-page feed, crosspost duplicates, pinned posts
- Reddit Users V2 — single-user lookups with profile + trophies + posts + comments
- Reddit Subreddits V2 — subreddit info, browse, listings, autocomplete
- Reddit Bulk Scrape V2 — bulk fetch posts / comments / communities / users by ID (up to 10000 per run)
Support and feedback
Found a bug, want a feature, or hit a Reddit error code we don't translate clearly? Open an issue via the actor's Apify Console feedback link, or reach out at the RedCrawler support channel.
Reddit Search V2 is part of the RedCrawler family of Reddit actors. RedCrawler is independent — not affiliated with, endorsed by, or sponsored by Reddit, Inc. Use it within Reddit's API terms.