Reddit Scraper avatar

Reddit Scraper

Pricing

from $2.00 / 1,000 result items

Go to Apify Store
Reddit Scraper

Reddit Scraper

Scrape Reddit posts and comments by direct URL. Returns full content, engagement metrics (score, upvote ratio, awards), and metadata.

Pricing

from $2.00 / 1,000 result items

Rating

0.0

(0)

Developer

Morph Coder

Morph Coder

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Reddit Scraper — Direct URL Post & Comment Scraper

Reddit Scraper is an easy-to-use tool designed to extract content, engagement metrics, and metadata from Reddit posts and comments using direct URLs.

Instead of searching or scraping whole subreddits, you provide specific post or comment links, and this tool extracts precisely those items.


🚀 Features

  • Direct Post Scraping: Extract post titles, bodies (text & HTML), authors, subreddits, dates, and full metadata.
  • Direct Comment Scraping: Extract specific comments by direct link—only the comment content, its author, and its unique engagement metrics are collected, without bloating your datasets with parent post details.
  • Reach & Engagement Metrics: Scrapes scores, upvote ratios, awards (counts), gilded status, and comment controversiality.
  • Comment Trees Support: Optionally crawl first-level comments under a post (up to a custom limit).

⚙️ How It Works

The scraper uses headless browser automation powered by Puppeteer to load Reddit pages, wait for content to render, and extract the post or comment data directly. It uses a combination of page-context API calls and DOM fallbacks to ensure robust extraction and bypass blocking.


💳 Pricing Policy

This actor uses the Pay-Per-Result model, charging per successfully scraped item (via the reddit-scrape-item event).

  • Platform Resource Costs: Platform compute resource usage (CPU, RAM, network) is billed directly to your Apify account. Note: We will monitor resource usage over the first month to potentially include compute costs directly in the event price in future updates.
  • Discount Plans:
    • Free Plan: Baseline price per 1,000 results.
    • Paid Subscription: Discounted price per 1,000 results. (Refer to the Pricing tab on the Actor page for the current active rates.)

📥 Input Parameters

The actor accepts the following parameters (defined in input_schema.json):

FieldTypeDefaultDescription
urlsArray(Required)List of direct Reddit post or comment URLs to scrape.
includeCommentsBooleanfalseWhether to scrape comments for post URLs.
maxCommentsInteger100Maximum number of first-level comments to scrape per post.
requestDelayMsInteger1000Base delay between crawler requests (to prevent rate limits).
maxConcurrencyInteger4Maximum concurrent requests.
debugModeBooleanfalseEnable detailed debugging logs.

Input Example

{
"urls": [
"https://www.reddit.com/r/programming/comments/1fjsg57/writing_code_is_easy_reading_code_is_hard/",
"https://www.reddit.com/r/Gonewildpale/comments/1fjsg57/_/lnq8dkj/"
],
"includeComments": true,
"maxComments": 5
}

💻 API Integration

You can easily trigger this actor from your applications or scripts via Apify's API.

Run via cURL

curl --request POST \
--url "https://api.apify.com/v2/acts/morph_coder~reddit-scraper/runs?token=YOUR_API_TOKEN" \
--header 'content-type: application/json' \
--data '{
"urls": [
"https://www.reddit.com/r/programming/comments/1fjsg57/writing_code_is_easy_reading_code_is_hard/"
],
"includeComments": true,
"maxComments": 10
}'

Run via Apify Python SDK

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
# Start the actor and wait for it to finish
run = client.actor("morph_coder/reddit-scraper").call(
run_input={
"urls": ["https://www.reddit.com/r/programming/comments/1fjsg57/writing_code_is_easy_reading_code_is_hard/"],
"includeComments": True,
"maxComments": 10,
}
)
# Fetch results from the run's dataset
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Run via Apify JavaScript SDK

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
// Start the actor and wait for it to finish
const run = await client.actor('morph_coder/reddit-scraper').call({
urls: ['https://www.reddit.com/r/programming/comments/1fjsg57/writing_code_is_easy_reading_code_is_hard/'],
includeComments: true,
maxComments: 10,
});
// Fetch results
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

⚖️ Disclaimer & Non-Affiliation

  • Public Data Only: This actor extracts only publicly available information that is accessible without authentication. It does not access private messages, personal account settings, or bypass age/consent gates.
  • Non-Affiliation: This tool is an independent software project. It is not affiliated with, sponsored by, authorized by, or in any way officially connected with Reddit, Inc., or any of its subsidiaries or affiliates. Reddit is a registered trademark of Reddit, Inc.