Apify actor · whoareyouanas/reddit-scraper
Reddit Scraper (Deprecated — Use New Actor)
This Reddit scraper is deprecated. Move supported subreddit and public-user archive exports to the replacement actor after reviewing its changed input fields, output contract, and source coverage.
Documentation checked 2026-10-29 · deployed build 1.1.1 · run through your Apify account
01 / Overview
Match the actor to the job.
Migrate the input
Move supported subreddit or user targets into the replacement's targets array.
Rebuild the contract
Choose posts, comments, explicit UTC dates, and per-target/per-kind limits.
Recheck integrations
Update saved tasks, schedules, webhooks, and downstream output mappings.
02 / Input
Legacy input reference.
The reference below is legacy documentation, not a recommended new run. The replacement does not accept the old startUrls or global maxItems contract unchanged.
| Field | Type / required | Default | Purpose |
|---|---|---|---|
| startUrls | array | Not specified | Reddit URLs to scrape — posts, subreddits, users, or search-result pages. When provided, all Search options below are ignored. |
| ignoreStartUrls | boolean | false | Set to true to bypass the Start URLs field (used as a fix for tools like Zapier). |
| searches | array | Not specified | Keywords used to search Reddit. Used only when Start URLs is empty. |
| searchCommunityName | string | Not specified | If provided, search is performed only inside this community (e.g. 'programming'). Leave empty to search all of Reddit. |
| proxy | objectRequired | {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]} | Use Apify proxy or your own proxy servers. Residential is strongly recommended. |
All other input controls (19)
| Field | Type / required | Default | Purpose |
|---|---|---|---|
| searchPosts | boolean | true | Include matching posts in search results. |
| searchComments | boolean | false | Include matching comments in search results (best-effort; Reddit's comment search is limited). |
| searchCommunities | boolean | false | Include matching communities (subreddits) in search results. |
| searchUsers | boolean | false | Include matching user profiles in search results. |
| sort | string | "new" | Sort order for posts and search results. Options: , relevance, hot, top, new, rising, comments |
| time | string | "" | Limit results to a recent time window (most useful with sort = top or controversial). Options: , all, hour, day, week, month, year |
| includeNSFW | boolean | true | Include adult-rated posts and subreddits in results. |
| skipComments | boolean | false | Skip scraping comments when going through posts. |
| skipUserPosts | boolean | false | Skip scraping a user's submitted posts when going through their profile. |
| skipCommunity | boolean | false | Skip scraping community (subreddit) metadata, but still scrape its posts. |
| postDateLimit | string | Not specified | Only retrieve posts published after this date (ISO 8601, e.g. 2024-01-01). |
| commentDateLimit | string | Not specified | Only retrieve comments published after this date (ISO 8601). |
| maxItems | integer | 10 | Hard cap on the total number of items saved to the dataset across all categories. Minimum: 1 |
| maxPostCount | integer | 10 | Maximum number of posts scraped from each subreddit / search / user submissions page. Minimum: 1 |
| maxComments | integer | 10 | Maximum number of comments scraped per post. Minimum: 0 |
| maxCommunitiesCount | integer | 2 | Maximum number of communities returned from search or leaderboard. Minimum: 1 |
| maxUserCount | integer | 2 | Maximum number of user profiles returned from search. Minimum: 1 |
| scrollTimeout | integer | 40 | Timeout (seconds) for page scrolling in the browser fallback path. Ignored on the JSON API path. Minimum: 5 |
| debugMode | boolean | false | Enable verbose request and extraction logs. |
03 / Output
Know what each returned row represents.
- Legacy dataType and parsedId mappings must be replaced with the new actor's kind and redditId fields.
- Searches, live rankings, direct thread URLs, and normalized community or profile rows do not have automatic equivalents in the replacement.
Fields in the documented output view
dataType
Type
id
ID
username
Author
title
Title
body
Body
communityName
Community
upVotes
Up votes
numberOfComments
Comments
url
URL
createdAt
Created at
scrapedAt
Scraped at
Output views select columns. They do not necessarily filter record types or exhaust the full JSON payload. Use structured JSON when you need nested arrays or objects.
04 / Pricing
Legacy configured rates.
These are the active public event prices checked on 2026-10-29, in USD. They describe each event, not a universal flat price for a run. Confirm your current Apify plan and run budget before starting.
| Billable event | Rate (USD) | When it applies |
|---|---|---|
Actor Start apify-actor-start | $0.0005 / event | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). Start units depend on allocated memory: one event per GB, with at least one event. |
result apify-default-dataset-item | $0.005 / event | Single result in the default dataset. $5.00 per 1,000 of this event. Other events and separate services are additional. |
- The configuration below is retained only for historical reference. Use the replacement's current pricing before creating a new task.
A result limit and a spending cap are different controls. Account charges, applicable taxes, and separately billed providers or proxies must be considered where relevant. A cap setting is not a minimum invoice charge.
Coverage & interpretation
Check the result before relying on it.
- Do not reconnect an existing integration by changing only the actor name.
- The replacement uses archive data; it is not a complete live Reddit or thread-search substitute.
Questions
Before you build an integration.
What do I need to provide?
The reference below is legacy documentation, not a recommended new run. The replacement does not accept the old startUrls or global maxItems contract unchanged.
What should I check in the output?
- Legacy dataType and parsedId mappings must be replaced with the new actor's kind and redditId fields.
- Searches, live rankings, direct thread URLs, and normalized community or profile rows do not have automatic equivalents in the replacement.
How do I budget the run?
- The configuration below is retained only for historical reference. Use the replacement's current pricing before creating a new task.
Keep exploring
Practical guides for the next step.
Export Reddit Posts and Comments to CSV: Browser or Archive?
Choose a local export for the Reddit page you are reviewing or a dated archive export for historical research, with the right expectations for each.
Read the guideHow to Scrape Reddit Posts and Comments for Market Research
Use a Reddit scraper to find buyer language, product complaints, content ideas, and community signals from posts, comments, subreddits, and user profiles.
Read the guideTop 5 Apify Scrapers to Automate Marketing Research
A practical stack of Apify scrapers for automating marketing research across Meta ads, Google ads, TikTok ads, Facebook Groups, and Reddit.
Read the guideTop 7 Web Scrapers for Competitor Research in 2026
Compare the best web scrapers for competitor ad research, social listening, lead generation, and market research across Meta, Google, TikTok, Reddit, websites, and Facebook Groups.
Read the guide