Reddit Scraper avatar

Reddit Scraper

Pricing

from $3.99 / 1,000 scraped items

Go to Apify Store
Reddit Scraper

Reddit Scraper

The best Reddit scraper, for both posts & comments.

Pricing

from $3.99 / 1,000 scraped items

Rating

0.0

(0)

Developer

Maxime

Maxime

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

a day ago

Last modified

Share

Find Reddit posts and track conversations around your topic

Reddit Scraper helps you search Reddit for posts and comments about a topic, brand, or trend, so you can find the threads that matter and follow the conversation around them. Start with the prefilled Query, set Post result cap plus Comment result cap to 2, and review the first matching conversations in minutes.

  • Posts and comments together - find matching threads and comments in one run instead of stitching two searches together.
  • Conversation-focused query control - use one Query or split into Advanced posts query plus Advanced comments query when you need tighter search logic.
  • Useful context stays attached - keep permalinks, subreddit names, timestamps, votes, and comment text so each match is easy to review.
  • Small first run - the Input tab already prefills Query with openai, so your first test needs only a few limits.
  • Partial-result guardrail - one search pass can still emit rows when the other hits Reddit verification challenges.

⚡️ TRY IT FOR FREE


🏆 Benefits

  • 🔎 Turn manual Reddit searching into a repeatable export for monitoring, research, or enrichment.
  • 🧾 Keep source links and raw metadata so review, deduping, and downstream storage stay simple.
  • 🧠 Tighten Reddit search logic with separate post and comment queries when one broad query is not enough.
  • ⚠️ Keep useful rows even when one enabled search pass fails after retries and the other pass still succeeds.

🚀 Quick start

  1. Open the Input tab and keep Query as the prefilled openai, or replace it with your Reddit search term.
  2. Leave Include posts? and Include comments? on for the normal mode. Turn one off only when you want a single result type.

At least one of Include posts? or Include comments? must stay on.

  1. Set Freshness window (days) to 7, then set Post result cap and Comment result cap to 2 for a quick first run.
  2. Leave Proxy configuration on the default residential path, run the actor, and review the dataset rows in the finished run or through the API.

⚙️ Features

  • 🔎 Searches Reddit posts and comments in separate passes, so each one can retry and finish independently.
  • 🧠 Supports one shared base query or separate advanced overrides for posts and comments.
  • 📅 Filters by each result's own Reddit timestamp and returns combined rows newest-first.
  • 🔢 Uses per-type caps for cost control, and 0 keeps all available fresh results within the requested window.
  • 🌐 Uses Apify residential proxies by default for Reddit search unless you override Proxy configuration.
  • 🧾 Emits one normalized row contract for both post and comment results.

📊 Output

See the full Output tab for the complete contract.

Example

{
"type": "comment",
"query": "openai",
"searchQuery": "openai",
"url": "https://www.reddit.com/r/accelerate/comments/1shgmq4/_/oftft2k",
"postId": "1shgmq4",
"postTitle": "DISCUSSION: Anthropic Has Internal \"Mythos\". OpenAI Has Internal \"Spud\". Elon Says xAI Is Training 6t And 10t Models. What Do You Think Google Has Internally?",
"postDateTime": "2026-04-10T08:29:05.809Z",
"subredditName": "accelerate",
"nbVotes": 1,
"nbComments": null,
"commentId": "oftft2k",
"commenterUsername": "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tiger_ace",
"commentDateTime": "2026-04-12T20:30:00.095Z",
"commentText": "\n \n google doesn't need to rely on hype to survive and i would guess that alphafold probably has already had more impact on science than openai has ever had\n \n "
}

Params

FieldTypeDescription
typepost / commentWhether the row came from the Reddit posts search or comments search.
querystringThe base actor input query from Query.
searchQuerystringThe effective query used for this result's search pass.
urlstringCanonical Reddit permalink for the post or comment.
postIdstringReddit post ID.
postTitlestringPost title attached to the result.
postDateTimestringPost timestamp in ISO 8601 format.
subredditNamestringSource subreddit name without r/.
nbVotesnumberParsed vote count for the post or comment.
nbCommentsnumber or nullPost comment count. Comment rows return null.
commentIdstring or nullComment ID. Post rows return null.
commenterUsernamestring or nullComment author username. Post rows return null.
commentDateTimestring or nullComment timestamp in ISO 8601 format. Post rows return null.
commentTextstring or nullRaw comment text. Post rows return null.

🛠️ Input

Example

{
"query": "openai",
"shouldIncludePosts": true,
"shouldIncludeComments": true,
"maxDaysOld": 7,
"maxPostResults": 2,
"maxCommentResults": 2
}

Params

ParamTypeDescriptionDefault / empty behavior
querystringBase Reddit search query. Use this for normal runs or as the shared label when advanced overrides do the exact search work.Required. The Input tab prefills it with openai.
postsQuerystringAdvanced query for Reddit post search only.Empty reuses query.
commentsQuerystringAdvanced query for Reddit comment search only.Empty reuses query.
shouldIncludePostsbooleanInclude Reddit post rows in the dataset.Defaults to true.
shouldIncludeCommentsbooleanInclude Reddit comment rows in the dataset.Defaults to true.
maxDaysOldintegerKeep only results whose own Reddit timestamp is within this many days.Defaults to 30.
maxPostResultsintegerCap how many fresh post rows I keep.Defaults to 25. Set it to 0 to keep all fresh post results within the window.
maxCommentResultsintegerCap how many fresh comment rows I keep.Defaults to 25. Set it to 0 to keep all fresh comment results within the window.
proxyConfigurationobjectProxy settings for Reddit search requests when you want to override the default path.Defaults to Apify residential proxies with no country pin.

Important

  • 📅 The JSON examples in this README come from a live run on 2026-04-12 with query: "openai", both include toggles on, maxDaysOld: 7, and per-type caps of 2.
  • ⚠️ In that same run, the posts search exhausted Reddit verification-challenge retries while the comments search still succeeded and emitted the saved dataset rows.
  • 🧠 Query stays required even when you use Advanced posts query or Advanced comments query, because each output row keeps both the base query and the effective searchQuery.
  • 🌐 Leave Proxy configuration alone unless you want to override the default Apify residential path for Reddit.

🔍 Error handling

  • ⚠️ Reddit verification challenge pages and other blocked-search responses trigger fresh-session retries instead of being treated as empty search results.
  • ⚠️ Posts and comments run independently, so one search pass can fail after retries while the other still emits rows in the same run.
  • ⚠️ If one result is missing required parsed fields, I log and skip that row while the rest of the pass continues.
  • ⚠️ If no fresh results fall inside the requested window, the run finishes successfully with an empty dataset.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡


🔗 Other actors

  • Twitter Scraper - Search Twitter/X posts with phrase, account, hashtag, and engagement filters.
  • Product Hunt Scraper - Turn Product Hunt launches into lead-ready rows with optional website enrichment.
  • Uneed Scraper - Collect Uneed launches with maker links, ranks, and optional website emails.
  • Tiny Startups Scraper - Export Tiny Startups listings with promoted-listing control and optional email enrichment.
  • TinySeed Scraper - Scrape the TinySeed portfolio into company rows with descriptions and optional website emails.
  • Website Emails Scraper - Turn any list of websites into one row per discovered contact email.

Made with ❤️ by Maxime Dupré