Reddit Search Scraper
Pricing
from $0.79 / 1,000 reddit post or comments
Reddit Search Scraper
Search Reddit posts and comments by keyword, across all of Reddit, chosen subreddits, or auto-discovered communities. Full search syntax, sort and time filters, rich post, comment, author, and subreddit data.
Pricing
from $0.79 / 1,000 reddit post or comments
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Reddit Search Scraper
Reddit Search Scraper searches Reddit for posts and comments that match your keywords, across all of Reddit, inside the subreddits you pick, or in related communities it finds for you, and returns detailed, structured results.
| Use Reddit's full search syntax — "exact phrases", OR, NOT, author:, title:, selftext:, flair:, url: — sort by relevance, new, top, hot, or most comments, filter by hour to year, and get up to 49 fields per post and 30 per comment. |
| ParseBird Reddit Suite • Posts, comments & subreddit data | ||
|
Reddit Search Scraper You are here |
Reddit Comments Search Scraper Comments by keyword & subreddit |
Reddit Subreddit Posts Scraper Hot, new & top posts with comments |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use the Apify actor "parsebird/reddit-search-scraper" to search Reddit posts and comments. Call it with the apify-client package: client.actor("parsebird/reddit-search-scraper").call(run_input={"query": "notion alternative", "contentType": "posts", "sort": "relevance", "maxResults": 100}), then read results from client.dataset(run["defaultDatasetId"]).iterate_items(). Inputs: query (string, required, Reddit search syntax, max 700 chars), contentType ("posts" | "comments" | "both", default "posts"), maxResults (integer, default 100, 0 = no limit), sort ("relevance" | "new" | "top" | "hot" | "comments", default "relevance"; hot/comments are posts-only), timeFilter ("" | "hour" | "day" | "week" | "month" | "year", default "" = all time), subreddit (string, one community), subreddits (array of strings), autoDiscoverSubreddits (boolean, default true), maxSubreddits (integer 1-50, default 20), includeNsfw (boolean, default false). Every row has _type ("post" or "comment"). Post rows include id, title, author, subreddit, score, commentCount, upvoteRatio, createdAt, permalink, url, body, domain, postHint, flair, media, gallery, poll, crosspostRoot, subredditInfo (subscribers, icon, banner, description) and author details. Comment rows include id, parentId, body, author, score, createdAt, permalink, authorKarma, and parent post fields (postId, postTitle, postScore, postCommentCount, postFlair). Pricing: pay per saved result. API docs: https://apify.com/parsebird/reddit-search-scraper/api — get an API token at https://console.apify.com/settings/integrations
What is Reddit Search Scraper?
Reddit Search Scraper is a Reddit search API alternative that runs Reddit searches for you and saves every matching post and comment as clean data. Enter a query such as notion alternative, pick posts, comments, or both, and get each result with its score, comment count, date, author, text, media, and subreddit details.
The easiest way to try it: open the Input tab, keep the example query, and click Start. A run with the example input finishes in under a minute.
What can Reddit Search Scraper do?
- 🔎 Search posts, comments, or both — every row is labeled with
_typeso you can split them later. - 🧠 Full Reddit search syntax — exact phrases,
OR,AND,NOT,-exclude, parentheses, and field operators such asauthor:,title:,selftext:,flair:,url:,self:yes, andsubreddit:. - 🧭 Search anywhere — all of Reddit, one subreddit, or a list of subreddits in any format (
python,r/python,https://old.reddit.com/r/python). - ✨ Auto-discover subreddits — when all-of-Reddit search runs out before your limit, the scraper finds up to 50 related communities and searches inside them too.
- ↕️ Five sort orders and six time windows — relevance, new, top, hot, most comments; past hour, day, week, month, year, or all time.
- 🖼️ Rich post data — image previews, video stream URLs, gallery items, poll options, crossposts, events, flair, and subreddit subscribers, icons, and description.
- 🧵 Thread context for comments —
parentIdfor rebuilding reply chains, plus the parent post's title, score, flair, and comment count. - 🧹 No duplicates — results from several subreddits are merged and deduplicated.
Because it runs on the Apify platform, you also get:
- Scheduling — run a search every hour or every day with Apify Schedules to build a live mention feed.
- API access — start runs and fetch results with the Apify API or the Python and JavaScript clients.
- Integrations — send results to Google Sheets, Slack, Zapier, Make, n8n, or webhooks with Apify integrations.
- Export formats — download results as JSON, CSV, Excel, XML, or HTML.
What data can you extract from Reddit search?
Posts (_type: "post"):
| Field | Description |
|---|---|
id, title, author, subreddit | Post ID (t3_…), title, author, and community |
score, upvoteRatio, commentCount, crosspostCount | Engagement numbers |
createdAt, editedAt | Post and edit times (ISO 8601, UTC) |
permalink, url, outboundUrl, domain | Reddit link and the linked content |
body | Text of self posts |
postHint, isSelfPost, isVideo, isGallery, isPollIncluded | What kind of post it is |
isNsfw, isSpoiler, isLocked, isStickied, isArchived, isOriginalContent, … | Post flags |
flair, thumbnail, distinguishedAs, removedByCategory | Flair, thumbnail, and moderation info |
authorId, authorFlair, authorIconUrl, authorIsNsfw, authorIsCakeDayNow | Author details |
media, gallery, poll, postEventInfo, crosspostRoot | Image and video URLs, gallery items, poll options, event times, original crosspost |
subredditInfo | Subreddit ID, title, type, subscribers, NSFW and quarantine flags, colors, icon, banner, description |
Comments (_type: "comment"):
| Field | Description |
|---|---|
id, body, author, subreddit | Comment ID (t1_…), text, author, and community |
score, isScoreHidden, createdAt, editedAt, permalink | Score, dates, and link |
parentId | Parent comment ID, or null for a top-level comment |
isOP | Whether the commenter is the post's author |
authorId, authorKarma, authorIconUrl, authorIsCakeDayNow | Author details (authorKarma = post karma + comment karma) |
postId, postTitle, postUrl, postAuthor, postScore, postCommentCount, postFlair, postDomain, postIsSelfPost, postIsNsfw, postCreatedAt | The parent post |
subredditSubscribers | Subscriber count of the community |
Fields are null when Reddit doesn't provide the value, for example media on a text post or editedAt on an unedited comment. The scraper never fills in missing values.
How to scrape Reddit search results
- Open Reddit Search Scraper and go to the Input tab.
- Type your Search query, for example
notion alternativeortitle:"acquired by". - Choose Search in: posts, comments, or both.
- Optionally pick a Sort by order and a Time filter.
- Optionally add a Subreddit or Subreddits. Leave them empty to search all of Reddit.
- Set Max results, click Start, and download your Reddit data from the Output tab as JSON, CSV, or Excel.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Keywords with Reddit search syntax (max 700 characters) |
contentType | string | No | posts | posts, comments, or both |
maxResults | integer | No | 100 | Most results to save, posts and comments combined. 0 = no limit |
sort | string | No | relevance | relevance, new, top, hot, comments (the last two are posts-only) |
timeFilter | string | No | all time | hour, day, week, month, year, or empty for all time |
subreddit | string | No | — | One community to search |
subreddits | array | No | [] | Several communities; results are merged and deduplicated |
autoDiscoverSubreddits | boolean | No | true | Search related communities when no subreddits are given and more results are needed |
maxSubreddits | integer | No | 20 | Most related communities to search (1–50) |
includeNsfw | boolean | No | false | Include posts and communities Reddit marks as NSFW |
proxyConfiguration | object | No | Residential Apify Proxy | Network settings. Keep the default |
Sort orders: relevance is Reddit's default mix of match quality and engagement; new is newest first; top is highest score; hot is currently trending posts; comments is posts with the most comments. For comments, hot and comments fall back to new when a time filter is set, otherwise to relevance.
Time windows: hour = past 60 minutes, day = past 24 hours, week = past 7 days, month = past 30 days, year = past 365 days. The window is applied exactly to every result.
Reddit search query recipes
Brand and competitor monitoring — newest mentions of several products:
{"query": "(\"1Password\" OR \"Bitwarden\" OR \"Dashlane\") \"switched\"","contentType": "both","sort": "new","maxResults": 100}
Buying-intent leads — people asking for recommendations, minus the noise:
{"query": "(\"recommend a VPN\" OR \"best VPN for\" OR \"VPN suggestions\") -free","contentType": "posts","sort": "new","maxResults": 100}
Title-only topic tracking:
{ "query": "title:(\"acquired by\" OR \"merger\")", "sort": "new", "maxResults": 100 }
Account monitoring:
{ "query": "author:AutoModerator", "sort": "new", "maxResults": 50 }
Body-text phrase search:
{ "query": "selftext:\"finally quit my job\"", "maxResults": 100 }
Discussion threads in one community:
{ "query": "flair:\"Discussion\"", "subreddits": ["MachineLearning"], "sort": "top", "maxResults": 100 }
Several communities, newest first:
{"query": "best budget laptop 2026","subreddits": ["SuggestALaptop", "r/laptops", "https://www.reddit.com/r/thinkpad"],"sort": "new","maxResults": 300}
Output example
[{"_type": "post","_status": "found","id": "t3_1u5l7f1","title": "Sunrise inside Sagrada Familia, Barcelona.","author": "MysteriousSlice007","subreddit": "pics","score": 67857,"commentCount": 283,"upvoteRatio": 0.98,"createdAt": "2026-06-14T13:29:03.000Z","editedAt": null,"permalink": "/r/pics/comments/1u5l7f1/sunrise_inside_sagrada_familia_barcelona/","url": "https://i.redd.it/54iksnru297h1.jpeg","body": "","domain": "i.redd.it","outboundUrl": "https://i.redd.it/54iksnru297h1.jpeg","postHint": "IMAGE","isSelfPost": false,"isNsfw": false,"isSpoiler": false,"isLocked": false,"isStickied": false,"isArchived": false,"isContestMode": false,"isCrosspostable": false,"isGildable": false,"isScoreHidden": false,"isPollIncluded": false,"isOriginalContent": false,"isVideo": false,"isGallery": false,"distinguishedAs": null,"removedByCategory": null,"suggestedCommentSort": null,"flair": null,"thumbnail": "https://preview.redd.it/54iksnru297h1.jpeg?width=140&height=140&crop=1:1,smart&auto=webp&s=3033afed809dcb3d7223d7184d293f07377276eb","crosspostCount": 14,"authorId": "t2_19nu489oi4","authorType": "USER","authorFlair": null,"authorIsNsfw": false,"authorIsCakeDayNow": false,"authorIconUrl": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_4.png","media": {"still": {"source": {"url": "https://preview.redd.it/54iksnru297h1.jpeg?auto=webp&s=01658c24091d990a4dbc5c69c2260cb22f8130d5","dimensions": { "width": 1649, "height": 2048 }}},"typeHint": "IMAGE"},"gallery": null,"poll": null,"postEventInfo": null,"crosspostRoot": null,"subredditInfo": {"id": "t5_2qh0u","name": "pics","prefixedName": "r/pics","title": "Reddit Pics","type": "PUBLIC","subscribersCount": 33548445,"isNsfw": false,"isQuarantined": false,"isThumbnailsEnabled": true,"whitelistStatus": null,"primaryColor": "#553200","iconUrl": "https://b.thumbs.redditmedia.com/VZX_KQLnI1DPhlEZ07bIcLzwR1Win808RIt7zm49VIQ.png","bannerUrl": "https://styles.redditmedia.com/t5_2qh0u/styles/bannerBackgroundImage_if1cbgj4mc7b1.jpg?width=4000&s=f6831859646d3127e64749644e05d129279aa2aa","communityDescription": "A place for photographs, pictures, and other images."}},{"_type": "comment","_status": "found","id": "t1_orlsyr6","parentId": null,"author": "drstoneybaloneyphd","subreddit": "pics","score": 743,"createdAt": "2026-06-14T14:29:26.000Z","editedAt": null,"permalink": "/r/pics/comments/1u5l7f1/sunrise_inside_sagrada_familia_barcelona/orlsyr6/","body": "This is not sunrise. Definitely late day sun/sunset. They don't open before sunrise and the angle of this photo in the church is likely facing southeast, with the sun shining in from the southwest. ","isScoreHidden": false,"isOP": false,"authorId": "t2_6860539l","authorKarma": 43247,"authorType": "USER","authorIsCakeDayNow": false,"authorIconUrl": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_1.png","postId": "t3_1u5l7f1","postTitle": "Sunrise inside Sagrada Familia, Barcelona.","postUrl": "https://i.redd.it/54iksnru297h1.jpeg","postAuthor": "MysteriousSlice007","postScore": 67858,"postCommentCount": 283,"postFlair": null,"postDomain": "i.redd.it","postIsSelfPost": false,"postIsNsfw": false,"postCreatedAt": "2026-06-14T13:29:03.000Z","subredditSubscribers": 33548445}]
On video posts, media.streaming holds the HLS, DASH, fallback MP4 and scrubber URLs with dimensions and duration. On gallery posts, gallery.items lists every image with caption, size, and URL. On poll posts, poll.options lists each option (vote counts appear once Reddit shows them).
Use Reddit Search Scraper via API
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("parsebird/reddit-search-scraper").call(run_input={"query": "notion alternative","contentType": "both","sort": "new","timeFilter": "week","maxResults": 200,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():text = row["title"] if row["_type"] == "post" else row["body"]print(row["_type"], row["subreddit"], row["score"], text[:80])
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('parsebird/reddit-search-scraper').call({query: 'notion alternative',contentType: 'both',sort: 'new',timeFilter: 'week',maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const row of items) {const text = row._type === 'post' ? row.title : row.body;console.log(row._type, row.subreddit, row.score, text.slice(0, 80));}
Use cases for Reddit search data
- Brand and competitor monitoring — a scheduled search on
newgives you every fresh mention of your product and its alternatives. - Lead generation — find people asking "can anyone recommend…" in your niche.
- Market and product research — read what real users say about features, prices, and pain points.
- Community discovery — auto-discovery shows which subreddits talk about your topic, with subscriber counts.
- Content and trend research — track top and hot posts on a topic over a week or a month.
- NLP and AI datasets — collect labeled posts and comments for sentiment analysis or LLM evaluation.
How it works
- The scraper runs your query on Reddit's search for posts, comments, or both — once for all of Reddit, or once per subreddit.
- It pages through the results, deduplicates them, and applies the exact time window and the NSFW setting.
- If you gave no subreddits and more results are needed, it finds related communities with Reddit's subreddit search and searches inside each one.
- It looks up comment details, parent posts, subreddit details, and author details in batches, and saves each result to the dataset until
maxResultsis reached.
How much does it cost to scrape Reddit?
Reddit Search Scraper uses pay-per-event pricing: you pay for each post or comment saved to your dataset. Filtered-out results and empty searches are free.
| Event | Apify plan | Price per event | Price per 1,000 results |
|---|---|---|---|
result-scraped | Free | $0.00099 | $0.99 |
result-scraped | Bronze | $0.00089 | $0.89 |
result-scraped | Silver | $0.00079 | $0.79 |
result-scraped | Gold | $0.00079 | $0.79 |
One event is one unique post or comment. For example, 1,000 Reddit posts cost $0.99 on the Free plan. The Apify Free plan includes monthly platform credits you can use to try it, and you can set a maximum spend per run so the scraper stops at your budget.
FAQ
How many results can one search return?
Reddit returns up to about 250 posts per search query. The scraper gets past that limit by searching each subreddit separately: add subreddits yourself or keep Auto-discover subreddits on. In our tests, notion alternative returned 237 posts from all-of-Reddit search alone and 1,000 posts with auto-discovery on. Comment search usually returns fewer results than post search, especially for long phrases.
How does the time filter work for comments?
Reddit's comment search has no time filter, so the scraper checks each comment's date and skips the ones outside your window. With sort: new it stops as soon as it passes the window, which is the most efficient way to monitor recent comments.
Which search operators work?
Quoted phrases, OR, AND, NOT, -word, parentheses, and author:, title:, selftext:, self:yes/no, flair:, url:, subreddit:. The query goes to Reddit as written, so Reddit decides the matching.
What does parentId mean on comments?
It is the ID of the comment being replied to. Top-level comments (direct replies to the post) have parentId: null, and the post is in postId.
Does it include NSFW content? Not by default. Turn on Include NSFW results to include posts and communities Reddit marks as 18+. Comment search on Reddit hides most mature content either way.
Can I schedule it or connect it to other tools? Yes. Save your input as a task, add a schedule, and send results to Slack, Google Sheets, or a webhook with integrations. AI agents can call it through the Apify MCP server or the API tab.
Something doesn't work or you need a feature? Open an issue in the Issues tab. We read and answer every report.
Is it legal to scrape Reddit?
This scraper only collects publicly available Reddit posts and comments that anyone can see without logging in. It does not access private communities, private messages, or account data. Results can include personal data such as usernames, which regulations like the GDPR protect. Only collect personal data when you have a legitimate reason, and check Reddit's terms and your local laws if you are unsure. Read more in Apify's post Is web scraping legal?.
Other scrapers by ParseBird
- Reddit Comments Search Scraper — comment-focused search with a rolling age filter
- Threads Search Scraper — search Threads posts by keyword
- Bluesky Posts Scraper — collect Bluesky posts
- Truth Social Scraper & API — scrape Truth Social posts and profiles
- YouTube Search Scraper & API — search YouTube videos by keyword