Reddit Scraper avatar

Reddit Scraper

Pricing

$0.50 / 1,000 results

Go to Apify Store
Reddit Scraper

Reddit Scraper

Scrape Reddit data, via URL, subreddit, keyword, username.

Pricing

$0.50 / 1,000 results

Rating

5.0

(6)

Developer

Macrocosmos

Macrocosmos

Maintained by Community

Actor stats

54

Bookmarked

1.1K

Total users

67

Monthly active users

70 days

Issues response

8 hours ago

Last modified

Categories

Share

Reddit Scraper

The fastest, most affordable way to get full-fidelity Reddit data β€” no API key required. Posts and comments with raw markdown bodies, exact parent linkage, and live scores, fresh within minutes. One simple schema, zero setup, flat $0.50 per 1,000 items.

Why this actor

OptionWhat it takes
Scraping APIsPer-request pricing that grows with your volume
This actor$0.50 per 1,000 posts/comments β€” flat, nothing to configure, start in minutes
  • Full fidelity β€” raw markdown body (not rendered HTML), exact parentId for comments, score / upvote_ratio / num_comments, isNsfw, media URLs
  • Fresh data β€” new posts and comments within minutes; live-path results carry current scores, not day-old snapshots
  • No credentials required β€” no Reddit account, no API app, no proxy config
  • Resilient by design β€” multiple independent data sources behind one schema; if one is down, another serves. You get data or an explicit signal, never a silent empty result
  • Honest failure modes β€” a deleted post returns an empty dataset; a source outage returns an explicit archive_unavailable item. You can always tell them apart

πŸ“‹ What Data Can You Extract?

Each Reddit post/comment includes:

FieldDescription
urlPermanent Reddit URL
idReddit unique identifier (t3_/t1_ prefixed)
titlePost title (posts only)
bodyText content β€” raw markdown
usernameAuthor username
communityNameSubreddit name (e.g., r/python)
dataTypeContent type: "post" or "comment"
parentIdParent post/comment id (exact, for comments)
scoreUpvotes minus downvotes
upvote_ratioRatio of upvotes (0-1)
num_commentsNumber of comments (posts only)
createdAtISO 8601 timestamp
isNsfwNSFW flag
mediaArray of image/video URLs (if present)

🎯 Use Cases

  • Market Research β€” Monitor discussions about products, brands, or topics
  • Sentiment Analysis β€” Analyze community opinions and trends
  • AI Training Data β€” Raw markdown text with thread structure, ready for pipelines
  • Content Aggregation β€” Collect posts for newsletters or content curation
  • Trend Detection β€” Track emerging topics and viral content within minutes

πŸ’‘ Input Configuration

Subreddit Scraping

{
"subreddits": ["python", "MachineLearning", "datascience"],
"limit": 25,
"sort": "new"
}

Parameters:

  • subreddits (array, required) - List of subreddit names (without r/ prefix)
  • limit (number, optional) - Posts per subreddit (1-100, default: 10)
  • sort (string, optional) - Sort order: "new", "hot", "top" (default: "new"). Only "new" is exact; "hot" and "top" return the newest posts.
  • keyword (string, optional) - Only posts whose title or text contains this keyword, newest first

Single URL Scraping

Scrape a specific post or comment by URL β€” the fastest, cheapest mode:

{
"url": "https://www.reddit.com/r/python/comments/abc123/title/"
}

Parameters:

  • url (string, required) - Full Reddit post or comment URL
  • liveFallback (boolean, optional, default false) - If primary sources can't serve the item, scrape it from Reddit's live public feeds. Degraded data (plain-text body, no scores), so it's opt-in. Off: outages return an archive_unavailable error item instead.

πŸ“Š Output Example

[
{
"url": "https://www.reddit.com/r/bittensor_/comments/1or4vcv/james_altucher_on_bittensor/",
"id": "t3_1or4vcv",
"title": "James Altucher on Bittensor: The Only Tech That Matters Since Bitcoin",
"body": "# Who Is James Altucher\n\nJames Altucher is not a typical crypto influencer...",
"username": "Internal-Patience533",
"communityName": "r/bittensor_",
"dataType": "post",
"parentId": null,
"score": 29,
"upvote_ratio": 1.0,
"num_comments": 3,
"createdAt": "2025-11-07T20:10:31Z",
"isNsfw": false,
"media": ["https://i.redd.it/2iyvqtsu6wzf1.png"]
}
]

πŸ”§ Advanced Usage

Keyword Filtering

{
"subreddits": ["technology"],
"keyword": "artificial intelligence",
"limit": 50,
"sort": "top"
}

Multiple Subreddits

{
"subreddits": ["python", "javascript", "golang", "rust"],
"limit": 20,
"sort": "hot"
}

πŸ“ˆ Reliability

One input schema, several independent sources behind it β€” the actor picks the best available per request and you never manage any of it:

  • Primary: high-throughput archive sources with rate-limit backoff and proxy rescue
  • Live path: direct fetches that return current scores and minute-fresh content
  • Continuity: public Atom feeds keep subreddit scraping alive even during full outages (liveFallback enables the same for single-URL mode)
  • Signals: archive_unavailable items mean "our sources are down", empty datasets mean "the post is really gone" β€” automated pipelines can act on each correctly

❓ Common Questions

Q: Do I need a Reddit account or API key? A: No. Everything is handled by the actor.

Q: How fresh is the data? A: Minutes for posts and comments. Live-path results include current scores; archive-served results can carry scores that lag up to ~36 hours for very fresh items.

Q: Can I scrape comments? A: Yes β€” full comment objects with exact parentId, via direct URL.

Q: Can I scrape private subreddits? A: No, only public subreddits and posts.

Q: What does it cost? A: $0.50 per 1,000 posts/comments, flat. No proxies to buy, no accounts to manage, no surprise per-request fees.

πŸ›  Self-hosting: optional full-fidelity fallback

Running your own fork? Set a secret environment variable REDDIT_SESSION_COOKIE with the reddit_session cookie of a dedicated Reddit account (DevTools β†’ Application β†’ Cookies). Anonymous reddit.com is bot-walled, but a normal logged-in session is not β€” and the cookie works from any IP. With it set, the actor gains a full-fidelity live path (raw markdown, exact parent_id, live scores) that engages only when the archives can't serve an item. Use a dedicated account, not a personal one: Reddit may suspend accounts used for scraping. When unset, behavior is unchanged.


Built with ❀️ by Macrocosmos