Dedicated ScrapersReddit Scraper API
Dedicated Reddit API

Reddit Scraper API — Extract Posts, Comments & Subreddit Data

The fastest way to scrape Reddit at scale. Our Reddit API returns structured JSON for posts, full comment trees, subreddit metadata, and user profiles — no Reddit API key required.

22Endpoints
4Data categories
1–3sAvg response
From $0.11Per 1K requests

No credit card required · PAYG credits never expire

Search Reddit Posts
// Search Reddit for AI posts, top of the week
import ScrapeBadger from 'scrapebadger'

const client = new ScrapeBadger({
  apiKey: 'sb_live_...'
})

const results = awaitclient.reddit.search.posts({
  q: 'artificial intelligence',
  sort: 'top',
  t: 'week',
  limit: 25
})
200 OK1.4s · 2 credits
{
  "posts": [{
    "id": "1a2b3c4",
    "title": "GPT-5 launches with multimodal reasoning",
    "author": "techreporter42",
    "subreddit": "r/artificial",
    "score": 12847,
    "num_comments": 934,
    "created_utc": "2026-05-20T14:23:11Z"
  }],
  "pagination": { "after": "t3_1a2b3c4" }
}
API Reference

Reddit API — 22 Dedicated Endpoints

Structured JSON responses covering posts, comments, subreddits, and users. No HTML parsing. No Reddit API registration needed.

GET
/v1/reddit/search/posts
Search Reddit posts by keyword, subreddit, author, and time range
2 cr / req
GET
/v1/reddit/search/subreddits
Find subreddits by name or topic keyword
2 cr / req
GET
/v1/reddit/search/users
Search Reddit user accounts by username query
2 cr / req
GET
/v1/reddit/domains/{domain}/posts
Get posts linking to a specific domain across Reddit
2 cr / req
GET
/v1/reddit/posts/trending
Retrieve currently trending posts across Reddit
1 cr / req
GET
/v1/reddit/posts/{post_id}
Fetch full post data including title, body, score, flair, and metadata
2 cr / req
GET
/v1/reddit/posts/{post_id}/comments
Retrieve full comment tree for a post including nested replies
3 cr / req
GET
/v1/reddit/posts/{post_id}/duplicates
Find cross-posts and duplicate submissions of the same link
3 cr / req
GET
/v1/reddit/subreddits/{subreddit}
Fetch subreddit info — title, description, rules
2 cr / req
GET
/v1/reddit/subreddits/{subreddit}/posts
Get hot, new, top, or rising posts from a subreddit
2 cr / req
GET
/v1/reddit/subreddits/{subreddit}/rules
Retrieve moderation rules and guidelines for a subreddit
1 cr / req
GET
/v1/reddit/subreddits/{subreddit}/wiki
List all wiki page slugs available in a subreddit
1 cr / req
GET
/v1/reddit/subreddits/{subreddit}/wiki/{page}
Fetch full markdown content of a subreddit wiki page
3 cr / req
GET
/v1/reddit/subreddits/popular
Get a list of the most popular subreddits on Reddit
1 cr / req
GET
/v1/reddit/subreddits/new
Discover newly created subreddits
1 cr / req
GET
/v1/reddit/users/{username}
Fetch Reddit user profile — karma, account age, premium status
2 cr / req
GET
/v1/reddit/users/{username}/posts
Retrieve a user's submitted posts with full post metadata
2 cr / req
GET
/v1/reddit/users/{username}/comments
Retrieve a user's comment history across all subreddits
2 cr / req
GET
/v1/reddit/users/{username}/moderated
Get subreddits where a user holds moderator status
3 cr / req
GET
/v1/reddit/users/{username}/trophies
List Reddit achievement trophies awarded to a user account
1 cr / req
Response Schema

Every Field You Need, Ready to Use

We return the full set of content datapoints Reddit exposes — 75+ fields across posts, comments, subreddits, and users. Every field is typed native JSON — integers, booleans, floats, and ISO 8601 datetimes. No string coercion required. A representative subset is shown below.

Post Object

idstringReddit post ID (base36)
titlestringPost title as submitted by author
authorstringUsername of the post author
subredditstringSubreddit the post belongs to
subreddit_subscribersintegerSubscriber count of the host subreddit
scoreintegerNet upvote score (upvotes minus downvotes)
upsintegerUpvote count
downsintegerDownvote count
upvote_ratiofloatFraction of votes that are upvotes (0–1)
num_commentsintegerTotal number of comments on the post
total_awards_receivedintegerNumber of awards the post has received
urlstringLink URL if link post, or permalink if text post
selftextstringBody text for self posts (markdown)
created_utcdatetimePost creation time (UTC, ISO 8601)
editedboolean|floatFalse, or edit timestamp if the post was edited
is_selfbooleanTrue for text posts, false for link posts
is_videobooleanWhether the post is a native Reddit video
is_nsfwbooleanNSFW flag set by author or moderators
lockedbooleanWhether comments are locked on the post
archivedbooleanWhether the post is archived (read-only)
distinguishedstringDistinguished status (moderator, admin) if any
link_flair_textstringPost flair text if set by author or moderator
author_premiumbooleanWhether the author has Reddit Premium
thumbnailstringThumbnail image URL for the post
mediaobjectEmbedded media metadata (video, oEmbed, etc.)

Comment Object

idstringReddit comment ID (base36)
authorstringUsername of the comment author
bodystringComment text (markdown)
body_htmlstringRendered HTML of the comment body
scoreintegerNet upvote score of the comment
upsintegerUpvote count
controversialityintegerReddit controversiality flag (0 or 1)
total_awards_receivedintegerNumber of awards on the comment
depthintegerNesting depth within the comment tree
created_utcdatetimeComment creation time (UTC, ISO 8601)
editedboolean|floatFalse, or edit timestamp if edited
is_submitterbooleanWhether the commenter is the original poster
distinguishedstringModerator/admin distinguished status if any
repliesarrayNested child comments (recursive tree)

Subreddit Object

namestringSubreddit display name
titlestringSubreddit title
public_descriptionstringShort public-facing description
descriptionstringFull sidebar description (markdown)
subscribersintegerTotal subscriber count
created_utcdatetimeSubreddit creation date (UTC, ISO 8601)
subreddit_typestringpublic, private, restricted, etc.
over18booleanWhether the subreddit is marked NSFW
langstringPrimary language of the subreddit
community_iconstringCommunity icon image URL
banner_background_imagestringBanner image URL
primary_colorstringBrand primary color (hex)

User Profile

idstringReddit account ID (base36)
namestringReddit username
display_name_prefixedstringUsername with u/ prefix
link_karmaintegerKarma accumulated from post submissions
comment_karmaintegerKarma accumulated from comments
awardee_karmaintegerKarma earned from awards received
awarder_karmaintegerKarma earned from awards given
total_karmaintegerCombined karma across all sources
created_utcdatetimeAccount creation date (UTC, ISO 8601)
is_goldbooleanWhether the account has Reddit Premium / Gold
is_employeebooleanWhether the account is a Reddit employee
is_modbooleanWhether the account moderates any subreddit
verifiedbooleanAccount verified status
has_verified_emailbooleanWhether the account has a verified email
icon_imgstringProfile avatar image URL
How it works

From API call to clean JSON in under 3 seconds

No Reddit app registration. No OAuth flow. No rate limit management.

1

Send a request

Call any Reddit endpoint with your ScrapeBadger API key and parameters — search query, subreddit name, post ID, or username. REST or SDK.

2

We handle Reddit

ScrapeBadger manages Reddit sessions, resolves collapsed comment threads, and handles rate limiting automatically. No Reddit developer account needed.

3

Get structured JSON

Receive typed JSON with native integers, booleans, and ISO 8601 timestamps. No HTML to parse, no brittle selectors, no "load more" pagination to resolve manually.

Use Cases

What Developers Build with Reddit Data

Reddit is the internet's largest collection of unfiltered human opinions. Our API makes that data accessible for research, monitoring, and AI applications.

Brand monitoring

Track mentions of your brand, product, or competitors across all of Reddit. Monitor sentiment trends, identify key subreddits where your audience is active, and catch emerging issues before they escalate.

Market research

Extract authentic consumer opinions, feature requests, and pain points directly from Reddit discussions. Reddit data gives unfiltered voice-of-customer insights unavailable in surveys or review sites.

Trend detection

Identify rising topics and viral posts early using score velocity and comment count signals. Monitor r/trending, domain posts, and hot listings across topic subreddits in real time.

Community analysis

Map subreddit growth, moderator networks, and cross-community migration patterns. Understand community dynamics, identify influential users, and discover niche communities around specific topics.

AI training datasets

Collect rich structured text data — long-form posts, comment threads, technical discussions — for training LLMs, sentiment classifiers, topic models, and question-answering systems.

Competitive intelligence

Monitor competitor mentions, product feedback threads, and AMA discussions. Track which subreddits discuss competing products and what pain points users highlight versus your offering.

Pricing

Pay Per Request. Credits Never Expire.

You only pay for successful responses — failed requests are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.

EndpointCredits / requestPAYGSubscription
Search Posts /v1/reddit/search/posts2 credits
Search Subreddits /v1/reddit/search/subreddits2 credits
Search Users /v1/reddit/search/users2 credits
Domain Posts /v1/reddit/domains/{domain}/posts2 credits
Trending Posts /v1/reddit/posts/trending1 credit
Get Post /v1/reddit/posts/{post_id}2 credits
Post Comments /v1/reddit/posts/{post_id}/comments3 credits
Post Duplicates /v1/reddit/posts/{post_id}/duplicates3 credits
Get Subreddit /v1/reddit/subreddits/{subreddit}2 credits
Subreddit Posts /v1/reddit/subreddits/{subreddit}/posts2 credits
Subreddit Rules /v1/reddit/subreddits/{subreddit}/rules1 credit
Wiki Pages /v1/reddit/subreddits/{subreddit}/wiki1 credit
Wiki Page Content /v1/reddit/subreddits/{subreddit}/wiki/{page}3 credits
Popular Subreddits /v1/reddit/subreddits/popular1 credit
New Subreddits /v1/reddit/subreddits/new1 credit
Get User /v1/reddit/users/{username}2 credits
User Posts /v1/reddit/users/{username}/posts2 credits
User Comments /v1/reddit/users/{username}/comments2 credits
User Moderated /v1/reddit/users/{username}/moderated3 credits
User Trophies /v1/reddit/users/{username}/trophies1 credit

See the full plan comparison on the pricing page — subscription tiers step down per-credit cost beyond the cheapest column shown above.

Free trial
1,000 credits free
= 500 search requests
Credits expire
Never
Buy once, use anytime
Failed requests
Always free
Pay for success only
Live cost estimator
Credits per request2
Total credits needed2,000
Loading plans…
Why ScrapeBadger

Built for Reliability at Scale

ScrapeBadger's Reddit API handles the hard parts of Reddit data extraction — session management, comment tree resolution, and rate limiting — so your pipeline keeps running.

No Reddit API key required

You do not need to register a Reddit app or manage OAuth tokens. ScrapeBadger handles all Reddit authentication transparently — your only credential is your ScrapeBadger API key.

Full comment tree traversal

Reddit collapses deep comment threads behind "load more" barriers. Our Post Comments endpoint resolves all collapsed threads and returns the complete nested comment tree in a single response.

Real-time data

Responses reflect current Reddit state — live vote counts, current comment totals, active flair, and up-to-date user karma. No cache lag from stale snapshots.

Cross-post detection

The Post Duplicates endpoint finds all cross-posts and reposts of the same URL across Reddit, including original source subreddits and engagement metrics per submission.

Structured JSON, no parsing

All responses return typed, normalized JSON. Scores, karma, timestamps, and booleans are native types — no string coercion, no HTML to parse, no brittle CSS selectors.

SDKs for 12 Languages

Official SDKs in 12 languages. In Python/Node call reddit.search.posts(), reddit.posts.comments(), or reddit.users.profile() directly — same surface in Go, Rust, PHP, C#, Java, Kotlin, Ruby, Swift, Dart and C++, or use the REST API.

Code Examples

Simple Integration. Any Language.

Get started in minutes with Node.js, Python, or plain HTTP requests.

The scrapebadger Node.js library wraps the Reddit API with typed methods. Install with npm install scrapebadger, then start extracting Reddit data in a few lines of code.

Node.js: Search + Comments
import ScrapeBadger from 'scrapebadger'

const client = new ScrapeBadger({
  apiKey: 'sb_live_...'
})

// Search top posts about AI this week
const posts = await client.reddit.search.posts({
  q: 'artificial intelligence',
  sort: 'top',
  t: 'week',
  limit: 10
})

// Fetch full comment tree for first post
const comments = await client.reddit.posts.comments({
  postId: posts.posts[0].id
})

console.log(`${comments.tree.length} top-level comments`)
Python: Subreddit Posts
from scrapebadger import ScrapeBadger

client = ScrapeBadger("sb_live_...")

# Get top posts from r/MachineLearning
posts = client.reddit.subreddits.posts(
    subreddit="MachineLearning",
    sort="top",
    t="month",
    limit=25
)

# Print titles and scores
for post in posts.posts:
    print(f"{post.score:>6}  {post.title[:60]}")
FAQ

Frequently Asked Questions

Common questions about scraping Reddit with the API — Python, Node.js, or REST.

Does the Reddit Scraper API require a Reddit API key?

No. You do not need to register a Reddit application, obtain OAuth tokens, or manage Reddit rate limits. ScrapeBadger handles all Reddit authentication and session management on your behalf. Your only credential is your ScrapeBadger API key, which you include as a Bearer token in your requests.

How fresh is the Reddit data returned by the API?

Responses reflect near-real-time Reddit state. Vote scores, comment counts, flair, and user karma are fetched live on each request with no intermediate caching. Post creation timestamps and comment timestamps are the original Reddit UTC values in ISO 8601 format.

Can I filter out NSFW content?

Yes. Every post object includes an is_nsfw boolean field that reflects the NSFW flag set by authors and moderators. You can filter NSFW content client-side using this field, or pass an nsfw=false query parameter on search and subreddit listing endpoints to exclude NSFW results at the API level.

What Reddit search syntax is supported?

The Search Posts endpoint supports the full Reddit Lucene-style search syntax including field operators (title:keyword, author:username, subreddit:name), boolean operators (AND, OR, NOT), and phrase matching with quotes. The sort parameter accepts relevance, hot, top, new, and comments. The t parameter sets the time range: hour, day, week, month, year, or all.

How does comment tree retrieval work?

Reddit natively collapses deep threads behind paginated "load more" stubs. The Post Comments endpoint automatically resolves all collapsed comment stubs and returns the full nested comment tree in a single API call. Comments are returned as a recursive tree structure with reply arrays, preserving Reddit's threading hierarchy. Deep threads with hundreds of nested replies are fully resolved.

What are the rate limits for the Reddit Scraper API?

Rate limits depend on your ScrapeBadger subscription plan. All plans support burst requests. Unlike the official Reddit API (which caps at 100 requests per minute and requires OAuth), ScrapeBadger has no per-account rate limits from Reddit — our infrastructure distributes requests across multiple sessions to avoid throttling.

Plans & subscriptions

Bigger volume? Save up to 64%

Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All Reddit endpoints — search, posts, comments, subreddits, users — included on every plan.

Get started

Start Scraping Reddit Today

1,000 free credits. No credit card. Get your API key in under a minute.

PAYG credits never expire · Pay only for successful requests · Global Reddit coverage