Reddit Scraper - Posts, Comments, Users & Search avatar

Reddit Scraper - Posts, Comments, Users & Search

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Reddit Scraper - Posts, Comments, Users & Search

Reddit Scraper - Posts, Comments, Users & Search

Scrape public Reddit posts, comments, user activity, subreddits, and search results through Reddit's app-only OAuth API. Export nested threads, scores, media, Markdown, and token counts to JSON, CSV, or Excel. No Reddit login or user-supplied API key required.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(2)

Developer

Ben

Ben

Maintained by Community

Actor stats

7

Bookmarked

138

Total users

21

Monthly active users

8.7 hours

Issues response

2 days ago

Last modified

Share

πŸ‘½ Reddit Scraper β€” Posts, Comments, Users & Search (AI-Ready)

Extract Reddit posts, comments, user history and search results as clean, structured data β€” in Markdown, HTML or plain text with word and token counts on every item. No Reddit login or user-supplied API key: point it at a subreddit, a post URL, a username or a search query and get back full threads with scores, awards, flair, images and nested comment hierarchies intact. Internally, the Actor uses Reddit's anonymous app-only OAuth flow to access public data reliably. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.

Transparent pricing: $0.003 per returned post or comment plus a $0.00005 run-start event. A 10-post run costs about $0.03005 before account discounts.

πŸ€– What is the Reddit Scraper?

It turns any Reddit page into a structured dataset. Choose one of four modes β€” subreddit, single post + comments, user posts or a Reddit search β€” add optional filters for sort order, time range, date and result caps, then Run. The Actor reads Reddit's public OAuth API (no browser or user login needed), paginates automatically, and can expand Reddit's "load more comments" and "continue this thread" stubs so the scraped comment count matches the post's real num_comments. Every post and comment is normalised into a flat, predictable record β€” perfect for AI training data, market research, sentiment analysis and content ideas.

What data does it extract?

  • Post title, body and content in markdown, html or text (whichever you pick)
  • Scores & engagement β€” score, upvote_ratio, num_comments, total awards
  • Author & subreddit (with subreddit ID) and the post permalink + url
  • Nested comment threads with full hierarchy, depth, scores and timestamps
  • User post history across any public account
  • Images & media β€” image URLs with width/height, plus thumbnails
  • Post type & flags β€” self/video, NSFW, spoiler, stickied, locked, post hint, domain
  • Flair (link_flair_text) and timestamps (created_utc)
  • AI-ready stats β€” word_count and estimated token_count for every post and comment

⬇️ Input

Run it four ways β€” pick a mode and fill in the matching field:

FieldDescription
modesubreddit, post, user, or search
subredditSubreddit to scrape, e.g. python or r/python (subreddit mode)
postUrlFull URL of a Reddit post (post mode)
usernameReddit username to pull posts from (user mode)
searchQuerySearch term to find posts (search mode)
searchSubredditOptionally limit a search to one subreddit
sorthot, new, top, rising, controversial, or relevance (search)
timeFilterhour, day, week, month, year, all (for top/controversial)
maxPostsMax posts to scrape, 0 = unlimited (up to 10,000)
maxCommentsMax comments per post, 0 = unlimited
includeCommentsAlso scrape comments for each post in subreddit mode
expandMoreCommentsResolve "load more" / "continue thread" stubs (on by default)
sinceDateOnly posts after this date (YYYY-MM-DD)
outputFormatmarkdown (best for AI), html, or text
includeImagesExtract image URLs from posts
delaySecondsDelay between requests to respect rate limits

Example input

{
"mode": "subreddit",
"subreddit": "ArtificialInteligence",
"sort": "top",
"timeFilter": "week",
"maxPosts": 100,
"includeComments": true,
"maxComments": 200,
"outputFormat": "markdown",
"includeImages": true
}

⬆️ Output

Every post and comment is one clean record (view as a table, or export JSON / CSV / Excel).

A post looks like this:

{
"id": "abc123",
"title": "How I built an AI agent that scrapes Reddit",
"url": "https://www.reddit.com/r/ArtificialInteligence/comments/abc123/how_i_built_an_ai_agent/",
"permalink": "/r/ArtificialInteligence/comments/abc123/how_i_built_an_ai_agent/",
"selftext": "Here's my complete guide to building a scraping agent...",
"selftext_markdown": "Here's my complete guide to building a **scraping agent**...",
"author": "ai_developer",
"subreddit": "ArtificialInteligence",
"subreddit_id": "t5_2qh0y",
"score": 1250,
"upvote_ratio": 0.97,
"num_comments": 89,
"is_self": true,
"is_video": false,
"post_hint": "self",
"domain": "self.ArtificialInteligence",
"thumbnail": "https://b.thumbs.redditmedia.com/example.jpg",
"images": [
{ "url": "https://i.redd.it/example.jpg", "width": 1200, "height": 800, "caption": null }
],
"created_utc": "2026-06-20T10:30:00",
"total_awards_received": 3,
"link_flair_text": "Discussion",
"over_18": false,
"spoiler": false,
"stickied": false,
"locked": false,
"word_count": 850,
"token_count": 1200
}

A comment (returned in post mode, or in subreddit mode with includeComments):

{
"id": "xyz789",
"post_id": "abc123",
"parent_id": "t3_abc123",
"permalink": "/r/ArtificialInteligence/comments/abc123/how_i_built_an_ai_agent/xyz789/",
"body": "This is brilliant β€” how do you handle rate limits?",
"body_markdown": "This is brilliant β€” how do you handle rate limits?",
"author": "curious_dev",
"score": 42,
"ups": 42,
"downs": 0,
"created_utc": "2026-06-20T11:05:00",
"edited": false,
"is_submitter": false,
"stickied": false,
"depth": 0,
"replies": [],
"total_awards_received": 0,
"word_count": 8,
"token_count": 11
}

πŸ’‘ Use cases

  • πŸ€– AI & LLM training data: pull real human conversations and expert Q&A from any community as clean Markdown with token counts, ready for fine-tuning and RAG pipelines.
  • πŸ“Š Market & brand research: track mentions, pain points and product feedback across subreddits to understand what people actually think.
  • 😊 Sentiment analysis: scrape thousands of comments on a launch, brand or topic and feed scores, text and threads straight into your model.
  • ✍️ Content & trend research: mine top posts in your niche for viral angles, headlines and audience questions worth writing about.

❓ FAQ

How do I scrape a subreddit? Set mode to subreddit, enter the subreddit name (e.g. python), pick a sort and maxPosts, then Run. You get every matching post with scores, flair, images and AI-ready text. Flip on includeComments to also pull each post's comments.

Can I scrape all the comments on a single post? Yes. Use mode: post, paste the postUrl, and set maxComments (0 = unlimited). With expandMoreComments on (the default) it resolves Reddit's "load more comments" and "continue this thread" stubs so the count matches the post.

Can I search Reddit or scrape a user's posts? Yes. Use mode: search with a searchQuery (optionally limited to one subreddit via searchSubreddit), or mode: user with a username to pull that account's public post history.

Do I need an API key? No. You do not provide a Reddit login, client ID, or secret. The Actor obtains an anonymous app-only OAuth token internally, then reads public Reddit data.

What output format should I use for AI? Choose markdown β€” it preserves structure (bold, links, lists), stays clean and lightweight, and works great with LLMs. html and text are also available, and every item ships with word_count and token_count.

Can I get only recent posts? Yes. Use sort: top or controversial with a timeFilter (hour/day/week/month/year/all), or set sinceDate (YYYY-MM-DD) to keep only newer posts β€” ideal for incremental, scheduled runs.

Can I run it on a schedule or via API? Yes β€” schedule recurring runs in Apify, call it via the API/SDK, or connect it to Make, Zapier or n8n to push fresh Reddit data into your stack.

Can it scrape private or deleted content? No. Only public posts and comments are available β€” deleted/removed items and private subreddits can't be accessed without authentication.

How many posts can it return? Up to your maxPosts cap (or unlimited with 0); it paginates automatically. For very large jobs, batch with date ranges to keep runs manageable.

Is scraping Reddit legal? It extracts publicly available data through Reddit's OAuth API and paces requests to respect rate limits. Use it responsibly for research and analysis, and follow applicable laws and Reddit's terms.

πŸ”— You might also like


Keywords: reddit scraper, reddit api, scrape reddit, reddit data extraction, reddit comments scraper, subreddit scraper, reddit search api, reddit user scraper, reddit posts, AI training data, LLM training data, sentiment analysis, social media scraping, markdown export, reddit json api, no api key, market research, content research.