Social & ForumsDifficulty: Moderate

Reddit Data Extraction

Extract publicly available data from Reddit at scale using AlterLab's API — JavaScript rendering, structured extraction, and automatic retries in one request.

Automatic renderingJavaScript supportStructured data extractionChallenge resolution

Website Compatibility Notes

Reddit serves different content based on user agent and rendering context. The new React-based UI (reddit.com) requires JavaScript rendering, while appending .json to most Reddit URLs returns structured data directly without rendering. The old UI (old.reddit.com) serves static HTML. IP-based rate limiting applies to all access patterns — spreading requests across time is recommended for large-scale collection.

Technical Context

Reddit's JSON API (appending .json to URLs) is the most efficient extraction path for post and comment data. The /r/{subreddit}/top.json, /r/{subreddit}/new.json, and /r/{subreddit}/hot.json endpoints return paginated data without JavaScript rendering. For the rendered UI with images and embedded content, JavaScript rendering is needed. Reddit's search requires JavaScript rendering regardless of output format.

Common Data Fields

Typical fields available when extracting data from Reddit:

Post title and body text
Subreddit name and description
Upvote count and upvote ratio
Comment count
Post flair
Author username
Awards received
External link URL (for link posts)
Post timestamp
Comment text and nesting structure
Crosspost count

Responsible Use

AlterLab is designed for extracting publicly available data. Always review the terms of service for any website you access, respect robots.txt directives, and ensure your use case complies with applicable laws in your jurisdiction. Do not use this service to access non-public, authenticated, or personally identifiable data without appropriate authorization.

Quick Start — Extract from Reddit

cURL
# Always verify the target site's robots.txt and terms of service before extracting data.
curl -X POST https://alterlab.io/api/v1/scrape \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.reddit.com/r/webdev/top/.json",
    "advanced": { "render_js": true }
  }'

Need an API key? — no credit card required.

Python Example

Python
import requests

# Always verify the target site's robots.txt and terms of service before extracting data.
response = requests.post(
    "https://alterlab.io/api/v1/scrape",
    headers={
        "X-API-Key": "YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "url": "https://www.reddit.com/r/webdev/top/.json",
        "advanced": {"render_js": True},
    },
)

data = response.json()
print(data["content"][:500])  # First 500 chars of extracted content

Frequently Asked Questions

How do I extract Reddit post data?

AlterLab can render Reddit's JavaScript-heavy interface and return full post content. Alternatively, append .json to Reddit URLs for structured JSON responses that include post titles, scores, comments, and metadata.

Can I extract Reddit comments and replies?

Yes. AlterLab renders the full comment tree including nested replies. For large threads, use the permalink URL of specific comment threads to extract targeted discussions.

What is the best approach for Reddit subreddit data?

Request subreddit listing pages with JavaScript rendering enabled. AlterLab returns the full rendered page with post titles, vote counts, comment counts, and timestamps for each listing.

Does Reddit's .json endpoint require JavaScript rendering?

No. Appending .json to Reddit URLs (e.g., reddit.com/r/python/top.json) returns structured data directly without rendering. This is significantly faster and more reliable for bulk collection.

Can I extract Reddit search results?

Yes. Reddit search at reddit.com/search requires JavaScript rendering to display results. Pass the search URL with your query parameters to AlterLab and receive the full results page including post titles, subreddits, and vote counts.

How do I track brand mentions across subreddits?

Use Reddit's search URL (reddit.com/search?q={brand}&sort=new) to find recent mentions across all subreddits. Schedule regular AlterLab requests to this URL to catch new mentions as they appear.

How do I extract Reddit post data?

AlterLab can render Reddit's JavaScript-heavy interface and return full post content. Alternatively, append .json to Reddit URLs for structured JSON responses that include post titles, scores, comments, and metadata.

Can I extract Reddit comments and replies?

Yes. AlterLab renders the full comment tree including nested replies. For large threads, use the permalink URL of specific comment threads to extract targeted discussions.

Related Use Cases

Reddit for a Specific Use Case

Business Data Guide

Your first scrape.
Sixty seconds.

$1 free credit — up to 5,000 scrapes. No credit card.Just a POST request.

terminal
curl -X POST https://api.alterlab.io/v1/scrape \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "formats": ["markdown"]}'

No credit card required · $1 free credit, up to 5,000 scrapes · Balance never expires