Reddit Scraper ⚡ Advanced Data, Best Value avatar

Reddit Scraper ⚡ Advanced Data, Best Value

Pricing

Pay per usage

Go to Apify Store
Reddit Scraper ⚡ Advanced Data, Best Value

Reddit Scraper ⚡ Advanced Data, Best Value

Scrape Reddit posts, comments, subreddits and user profiles from any Reddit link or keyword search. No login, no browser, flat spreadsheet-ready rows, low cost per result.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Muhammad Shamshad Aslam

Muhammad Shamshad Aslam

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Reddit Scraper

Paste any Reddit link or type a keyword, get clean rows back: posts, comments, communities and user profiles, each with score, author, dates, flair, media links and the post every comment belongs to. No login, no browser, no cookies to paste. One form, one dataset, low cost per result.

Works with the links people actually copy: a post, a subreddit, a user, a Reddit search page, a redd.it short link or a mobile share link. Mix them freely with keyword searches; everything lands in the same dataset.

Why this one

  • 🔗 Paste anything — post, subreddit (r/pasta, /r/pasta/top/?t=week), user (u/spez, /user/spez/comments), search page, community profile (/r/pasta/about), redd.it and /s/ share links, old.reddit and new.reddit hosts
  • 🔍 Keyword search built in — find posts, communities or users; restrict to one or more subreddits; full Reddit search syntax ("exact phrase", title:, author:, -excluded)
  • 💬 Comments done properly — score, depth, parent comment, top-level flag, OP flag, and the post title and URL on every comment row. Pick Top / Best / New / Controversial / Old / Q&A order. Choose separate rows (spreadsheets, Clay) or comments nested inside the post (JSON, AI pipelines)
  • 🖼️ Media resolved — postType (text / link / image / video / gallery / poll / crosspost), direct mediaUrl, every galleryImages entry, thumbnail, external link and its domain
  • 📅 Filters that save requests — date range, minimum score, NSFW switch. On chronological listings the scraper stops paging as soon as it passes your start date
  • 🧾 Nothing silently dropped — private, banned, deleted or malformed inputs are listed in the key-value store record FAILED_URLS and summarised in the log
  • ✅ Duplicate-free — the same post reached through two URLs or a URL and a search is saved once
  • ✅ No login, no proxy fiddling — reads Reddit as a logged-out visitor; the default proxy setting just works

Input

FieldTypeDefaultDescription
startUrlsarray1 post + 1 subredditReddit links, one per line. See the list above for what each kind of link returns
searchQueriesarrayemptyKeywords, one per line. Each is its own search
searchTypeselectpostsWhat keywords should find: posts, communities or users
searchInSubredditsarrayemptyRestrict post searches to these subreddits (pasta or r/pasta). Each keyword is searched in each subreddit
sortselectrelevanceOrder for searches and for subreddit URLs without a sort in the path: relevance, hot, new, top, rising, comments
timeRangeselectallhour, day, week, month, year, all; used by Top, Relevance and Most comments
postedAfterdateemptyKeep posts created on or after this date (YYYY-MM-DD, UTC)
postedBeforedateemptyKeep posts created on or before this date
minScoreinteger0Keep posts with at least this score. 0 = everything
includeNsfwbooleantrueOff = skip posts and communities marked 18+
includeCommentsbooleantrueScrape comments. One extra request per post found through a subreddit, search or user page
maxCommentsPerPostinteger20Comments per post in the chosen order, replies included. 0 = all, including ones behind "load more"
commentsSortselecttoptop, best, new, controversial, old, qa
commentsOutputselectrowsrows = one row per comment. nested = comments array inside the post row
maxResultsPerSourceinteger50Posts per subreddit / search / user page, and separately comments per user page. 0 = everything Reddit exposes (about 1,000 per listing)
maxItemsinteger0Stop after this many rows in total. 0 = no limit. A simple cost cap
proxyConfigproxyResidentialKeep the default. Reddit blocks datacenter IPs

Example input

{
"startUrls": [
"https://www.reddit.com/r/pasta/comments/vwi6jx/pasta_peperoni_and_ricotta_cheese_how_to_make/",
"https://www.reddit.com/r/pasta/top/?t=month",
"https://www.reddit.com/user/spez/"
],
"searchQueries": ["carbonara"],
"searchInSubreddits": ["pasta", "cooking"],
"sort": "new",
"postedAfter": "2025-01-01",
"minScore": 10,
"maxCommentsPerPost": 20,
"maxResultsPerSource": 100
}

Output

Every row has a type (post, comment, community or user), an id, a url, and a source naming the input URL or search that produced it. Fields Reddit does not provide for an item are null.

Post

{
"type": "post",
"id": "vwi6jx",
"url": "https://www.reddit.com/r/pasta/comments/vwi6jx/pasta_peperoni_and_ricotta_cheese_how_to_make/",
"title": "Pasta Peperoni and Ricotta cheese (how to make Peperoni sauce very very creamy)…",
"text": null,
"author": "Cooking_Vito_e_Daisy",
"authorFlair": null,
"subreddit": "pasta",
"subredditUrl": "https://www.reddit.com/r/pasta/",
"subredditSubscribers": 1279942,
"score": 304,
"upvoteRatio": 0.99,
"numComments": 21,
"numCrossposts": 1,
"awards": 0,
"createdAt": "2022-07-11T13:15:17.000Z",
"createdTimestamp": 1657545317,
"editedAt": null,
"postType": "video",
"flair": "Homemade Dish",
"isNsfw": false,
"isSpoiler": false,
"isPinned": false,
"isLocked": false,
"isSelfPost": false,
"distinguished": null,
"linkUrl": "https://v.redd.it/htn04py9vxa91",
"linkDomain": "v.redd.it",
"mediaUrl": "https://v.redd.it/htn04py9vxa91/DASH_1080.mp4?source=fallback",
"thumbnailUrl": "https://b.thumbs.redditmedia.com/nJH9DcMFOlQN4PF_wzeYLLwWANta2S4z7UPDsu4WidQ.jpg",
"galleryImages": [],
"crosspostOf": null,
"source": "https://www.reddit.com/r/pasta/comments/vwi6jx/pasta_peperoni_and_ricotta_cheese_how_to_make/"
}

With commentsOutput = nested, the post row also carries comments (an array of comment objects with the fields below, minus the post fields) and commentsScraped.

Comment

{
"type": "comment",
"id": "ifpvu1o",
"url": "https://www.reddit.com/r/pasta/comments/vwi6jx/pasta_peperoni_and_ricotta_cheese_how_to_make/ifpvu1o/",
"text": "For homemade dishes such as lasagna, spaghetti, mac and cheese etc. please type out a basic recipe…",
"author": "AutoModerator",
"authorFlair": null,
"score": 1,
"awards": 0,
"createdAt": "2022-07-11T13:16:07.000Z",
"createdTimestamp": 1657545367,
"editedAt": null,
"depth": 0,
"parentCommentId": null,
"isTopLevel": true,
"postId": "vwi6jx",
"postTitle": "Pasta Peperoni and Ricotta cheese (how to make Peperoni sauce very very creamy)…",
"postUrl": "https://www.reddit.com/r/pasta/comments/vwi6jx/pasta_peperoni_and_ricotta_cheese_how_to_make/",
"subreddit": "pasta",
"isOp": false,
"isPinned": true,
"distinguished": "moderator",
"controversiality": 0,
"source": "https://www.reddit.com/r/pasta/comments/vwi6jx/pasta_peperoni_and_ricotta_cheese_how_to_make/"
}

Community

{
"type": "community",
"id": "2qoor",
"name": "pasta",
"url": "https://www.reddit.com/r/pasta/",
"title": "Pasta",
"description": "For lovers of pasta. Homemade pasta, pasta making, pasta dishes…",
"sidebar": "As mentioned on the [Don Geronimo Show](…)…",
"subscribers": 1279942,
"activeUsers": null,
"createdAt": "2008-11-17T00:16:04.000Z",
"createdTimestamp": 1226880964,
"isNsfw": false,
"communityType": "public",
"language": "en",
"iconUrl": "https://styles.redditmedia.com/t5_2qoor/styles/communityIcon_mo430f2zes281.png?width=256&s=…",
"bannerUrl": "https://styles.redditmedia.com/t5_2qoor/styles/mobileBannerImage_nvwb892e3ele1.png?width=4000&s=…",
"source": "https://www.reddit.com/r/pasta/about/"
}

User

{
"type": "user",
"id": "1w72",
"name": "spez",
"url": "https://www.reddit.com/user/spez/",
"displayName": "spez",
"bio": "Reddit CEO",
"postKarma": 184487,
"commentKarma": 756493,
"totalKarma": 940980,
"createdAt": "2005-06-06T04:00:00.000Z",
"createdTimestamp": 1118030400,
"isPremium": true,
"isMod": true,
"isEmployee": true,
"isVerified": true,
"hasVerifiedEmail": true,
"isNsfw": false,
"isSuspended": false,
"avatarUrl": "https://styles.redditmedia.com/t5_3k30p/styles/profileIcon_uj015iwx9s7g1.png?…",
"bannerUrl": "https://b.thumbs.redditmedia.com/KWeEpVxXOGLoloMbM0IxGt9EiKPXizpwFgcSeWqtpZM.png",
"source": "https://www.reddit.com/user/spez/"
}

Field notes

  • text is the post body or comment body as Reddit markdown. Link, image, video and gallery posts have no body, so text is null and the content sits in linkUrl, mediaUrl or galleryImages.
  • postType is one of text, link, image, video, gallery, poll, crosspost. For videos mediaUrl is the direct MP4; for images the full-size file; for galleries the first image, with all of them in galleryImages.
  • score is upvotes minus downvotes as Reddit reports it; upvoteRatio is the share of upvotes.
  • Comments whose body is [removed] or [deleted] are skipped. depth is 0 for a top-level comment; parentCommentId is null for those and the parent's id for replies.
  • A subreddit URL returns its posts. Add /about to get the community profile row instead. A user URL returns the profile row plus posts and comments; /user/name/submitted gives posts only and /user/name/comments comments only.
  • Filters (postedAfter, postedBefore, minScore, includeNsfw) apply to posts found through subreddits, searches and user pages, and to a user's comment history. A post URL you pasted yourself is always scraped.
  • activeUsers is only filled when Reddit publishes the number for that community.

What counts as a result

Only rows written to the dataset are charged. Inputs that are private, banned, deleted or not a Reddit link cost nothing; they are listed in the key-value store record FAILED_URLS under notFound, private, failed and invalid, and summarised at the end of the log.

Use cases

  • Market and audience research — pull every post about a product, brand or problem from the subreddits your customers use
  • Lead generation — find people asking for recommendations, then hand the author list to a contact-finding step
  • Content and SEO — mine top posts and comment threads for the questions people actually ask
  • Brand and reputation monitoring — run daily on a keyword search sorted by New with postedAfter set to yesterday
  • AI training and analysis — nested comment layout gives one JSON document per thread
  • Community analytics — track subscribers, active users and posting volume across subreddits
  • Clay, n8n, Make, Zapier — pass URLs or keywords in, get flat rows back

Tips

  • Start with the prefilled input and the default limits, then raise maxResultsPerSource and maxCommentsPerPost.
  • Want only posts? Turn includeComments off: one request per 100 posts instead of one per post.
  • Monitoring a subreddit? Use the /new/ URL (or sort = new) with postedAfter; the scraper stops paging at your date instead of walking the whole listing.
  • Reddit exposes roughly 1,000 posts per listing and 250 per search. To go deeper, split by time range (timeRange = month, year) or by subreddit.
  • Export as CSV, Excel or JSON from the dataset tab, or pull via the Apify API.