AS
Apify Store
/spry_wholemeal/reddit-scraper
⭐️ FREE Reddit Scraper Pro
Free Reddit scraper that does what the paid ones do but better. No API keys needed, no usage fees. Pairs with ready-made n8n workflow templates for lead gen and content research.
liveasyncunknown~30s typical
mcp serverssocial mediaagentsreddit
$0.0020
per result + $0.01 call
plus $0.001 platform fee per run
Free actor: you pay compute at $0.002 per result plus $0.01 per run
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /spry_wholemeal/reddit-scraper for me.
Input
| Field | Type | Description |
|---|---|---|
| mode | string (scrape | discover | search | domain) | Choose one operation for this run. Configure the matching section below. default "scrape" |
| listings | array | Used when Operation Mode is Scrape. Add one item per subreddit. Use the subreddit name without the r/ prefix. |
| sort | string (hot | new | top | rising | controversial) | Fallback sort for Scrape or Domain targets that do not set their own sort. default "hot" |
| timeframe | string (hour | day | week | month | year | all) | Fallback timeframe for targets that do not set their own timeframe. default "week" |
| maxPosts | integer | Fallback max posts for Scrape targets that do not set their own limit. default 100 |
| searchTerms | array | Used when Operation Mode is Discover. Add one keyword or phrase per line. |
| maxResults | integer | Discover: max subreddits per keyword. Search: fallback max posts for search targets without their own limit. default 25 |
| estimateActivity | boolean | Discover only: estimate recent posting activity for discovered communities. default true |
| includeNsfw | boolean | Discover and Search only: include adult/NSFW results. default false |
| searchTargets | array | Used when Operation Mode is Search. Add one item per query. |
| searchSort | string (relevance | hot | new | top | comments) | Fallback sort for Search targets that do not set their own sort. default "relevance" |
| restrictToSubreddit | string | Optional fallback subreddit restriction for Search targets without their own restriction. |
| authorFilter | string | Optional: only include posts by this Reddit username. |
| flairFilter | string | Optional: only include posts with this flair text. |
| selfPostsOnly | boolean | Only include text posts. default false |
| domainTargets | array | Used when Operation Mode is Domain. Add one item per domain. |
| maxResultsPerDomain | integer | Fallback max posts for Domain targets that do not set their own limit. default 500 |
| includeCommentsMode | string (none | all) | Optional comment collection for Scrape, Search, and Domain modes. default "none" |
| maxTopLevelComments | integer | Maximum top-level comments to collect for each post. Use 0 for the maximum supported by Reddit. default 50 |
| maxRepliesDepth | integer | How many reply levels to include. 0 means top-level comments only. default 3 |
| tag | string | Optional label added to every output record, for example competitor_research. |
| includeRaw | boolean | Include raw source data in each output record. Useful for debugging, but makes outputs much larger. default false |
| requestDelayMs | integer | Delay between requests in milliseconds. default 100 |
| customUserAgent | string | Optional advanced override. Usually not needed. |
| proxyConfiguration | object | Recommended for reliable runs on Apify. default {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]} |
| proxyCountry | string (US | CA | MX) | Country code to request from Apify Proxy. default "US" |
| proxyRotationStrategy | string (sticky_pool | per_request) | How proxy sessions are assigned across requests. default "sticky_pool" |
| proxyPoolSize | integer | Used with Sticky pool. Larger values spread parallel work across more sessions. default 10 |
Call it
curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
-H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
-d '{"provider":"apify","endpoint":"/spry_wholemeal/reddit-scraper","input":{"listings":[{"subreddit":"entrepreneur","sort":"hot","timeframe":"week","maxPosts":25},{"subreddit":"startups","sort":"hot","timeframe":"week","maxPosts":25}],"maxPosts":3,"searchTerms":["saas","startup"],"maxResults":3,"searchTargets":[{"query":"startup marketing","searchSort":"relevance","timeframe":"week","maxResults":25},{"query":"saas pricing","searchSort":"new","timeframe":"week","maxResults":25}],"domainTargets":[{"domain":"github.com","sort":"hot","timeframe":"week","maxResults":100},{"domain":"medium.com","sort":"new","timeframe":"week","maxResults":50}],"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}},"wait":false}'poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."cli
npx cracked-ai run -p apify -e /spry_wholemeal/reddit-scraper -i '{"listings":[{"subreddit":"entrepreneur","sort":"hot","timeframe":"week","maxPosts":25},{"subreddit":"startups","sort":"hot","timeframe":"week","maxPosts":25}],"maxPosts":3,"searchTerms":["saas","startup"],"maxResults":3,"searchTargets":[{"query":"startup marketing","searchSort":"relevance","timeframe":"week","maxResults":25},{"query":"saas pricing","searchSort":"new","timeframe":"week","maxResults":25}],"domainTargets":[{"domain":"github.com","sort":"hot","timeframe":"week","maxResults":100},{"domain":"medium.com","sort":"new","timeframe":"week","maxResults":50}],"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}}' -w 120mcp
run_tool({ provider: "apify", endpoint: "/spry_wholemeal/reddit-scraper", input: {"listings":[{"subreddit":"entrepreneur","sort":"hot","timeframe":"week","maxPosts":25},{"subreddit":"startups","sort":"hot","timeframe":"week","maxPosts":25}],"maxPosts":3,"searchTerms":["saas","startup"],"maxResults":3,"searchTargets":[{"query":"startup marketing","searchSort":"relevance","timeframe":"week","maxResults":25},{"query":"saas pricing","searchSort":"new","timeframe":"week","maxResults":25}],"domainTargets":[{"domain":"github.com","sort":"hot","timeframe":"week","maxResults":100},{"domain":"medium.com","sort":"new","timeframe":"week","maxResults":50}],"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}}, wait: false })Try it
Runs against your signed-in workspace balance. Sign in if you have not.