Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.scrapebadger.com/llms.txt

Use this file to discover all available pages before exploring further.

Reddit Scraper API

Search posts, fetch comment trees, explore subreddits, and retrieve user profiles from Reddit. The API handles TLS fingerprinting, proxy rotation, and anti-bot bypass automatically — no Reddit API key or OAuth setup needed.

Key Features

22 Endpoints

Search, posts, comments, subreddits, users, wiki, trending, and cross-post detection.

No Reddit API Key

We handle all authentication and rate limiting. Just use your ScrapeBadger API key.

Comment Trees

Full nested comment threads with configurable depth control (0-10 levels).

Search Syntax

Full Reddit search operators: title:, author:, subreddit:, flair:, AND/OR/NOT.

Anti-Bot Bypass

Automatic TLS fingerprint rotation and residential proxy routing.

SDK Support

First-class support via the ScrapeBadger Node.js and Python SDKs.

Quick Start

import ScrapeBadger from 'scrapebadger';

const client = new ScrapeBadger({ apiKey: 'YOUR_API_KEY' });

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

console.log(results.posts);

Endpoints

EndpointCreditsDescription
GET /v1/reddit/search/posts2Search posts globally or within a subreddit
GET /v1/reddit/search/subreddits2Search for subreddits by keyword
GET /v1/reddit/search/users2Search for Reddit users
GET /v1/reddit/domains/{domain}/posts2Get posts linking to a specific domain

Posts

EndpointCreditsDescription
GET /v1/reddit/posts/trending1Trending posts from Reddit’s front page
GET /v1/reddit/posts/{post_id}2Get post details by ID
GET /v1/reddit/posts/{post_id}/comments3Comment tree with depth control
GET /v1/reddit/posts/{post_id}/duplicates3Cross-posts and duplicates

Subreddits

EndpointCreditsDescription
GET /v1/reddit/subreddits/{subreddit}2Subreddit metadata
GET /v1/reddit/subreddits/{subreddit}/posts2Subreddit posts (hot/new/top/rising)
GET /v1/reddit/subreddits/{subreddit}/rules1Subreddit rules
GET /v1/reddit/subreddits/{subreddit}/wiki1List wiki pages
GET /v1/reddit/subreddits/{subreddit}/wiki/{page}3Wiki page content
GET /v1/reddit/subreddits/popular1Popular subreddits
GET /v1/reddit/subreddits/new1New subreddits

Users

EndpointCreditsDescription
GET /v1/reddit/users/{username}2User profile and karma
GET /v1/reddit/users/{username}/posts2User’s submitted posts
GET /v1/reddit/users/{username}/comments2User’s comment history
GET /v1/reddit/users/{username}/moderated3Subreddits user moderates
GET /v1/reddit/users/{username}/trophies1User’s trophy case

Pagination

All listing endpoints use cursor-based pagination with after and before parameters.
{
  "posts": [...],
  "pagination": {
    "after": "t3_abc123",
    "before": null,
    "count": 25,
    "limit": 25
  }
}
Pass the after value as a query parameter to get the next page of results. The maximum limit per request is 100.

Search Syntax

The search endpoints support Reddit’s full query syntax:
OperatorExampleDescription
title:title:pythonSearch in post titles
author:author:spezFilter by author
subreddit:subreddit:programmingFilter by subreddit
flair:flair:DiscussionFilter by flair
site:site:github.comFilter by link domain
nsfw:yesnsfw:yesInclude NSFW posts
self:yesself:yesOnly text posts
AND / OR / NOTpython AND tutorialBoolean operators

Response Fields

Post Object

FieldTypeDescription
idstringReddit post ID (e.g. 1obwkbb)
fullnamestringReddit fullname with t3_ prefix
titlestringPost title
selftextstringPlain-text body (empty for link posts)
selftext_htmlstring | nullHTML-rendered body
urlstringFinal URL (link target or self-post URL)
permalinkstringFull Reddit permalink
domainstringLink domain (e.g. github.com, self.python)
authorstringAuthor username
author_fullnamestring | nullAuthor fullname (t2_...)
author_flair_textstring | nullAuthor’s flair on this subreddit
subredditstringSubreddit name (no prefix)
subreddit_name_prefixedstringSubreddit with prefix (e.g. r/python)
subreddit_idstringSubreddit fullname (t5_...)
subreddit_subscribersnumberSubscriber count at time of fetch
scorenumberNet score (ups − downs)
upsnumberUpvote count
upvote_rationumberRatio of upvotes (0.0–1.0)
num_commentsnumberTotal comment count
num_crosspostsnumberNumber of cross-posts
created_utcnumberUnix timestamp
created_atstringISO 8601 UTC timestamp (e.g. 2025-10-20T22:56:45Z)
editednumber | booleanFalse or edit Unix timestamp
edited_atstring | nullISO 8601 UTC if edited
is_selfbooleanTrue for text posts
is_videobooleanTrue for native Reddit video
is_gallerybooleanTrue for image galleries
is_nsfwbooleanNSFW flag
is_spoilerbooleanSpoiler flag
is_lockedbooleanLocked from new comments
is_stickiedbooleanPinned to top of subreddit
is_archivedbooleanOlder than 6 months (no new comments)
is_original_contentbooleanOC tag
is_robot_indexablebooleanWhether search engines can index
is_crosspostablebooleanAllowed to be cross-posted
send_repliesbooleanAuthor receives inbox replies
link_flair_textstring | nullPost flair text
link_flair_background_colorstring | nullFlair background hex
link_flair_text_colorstring | nulllight or dark
link_flair_template_idstring | nullReddit’s flair template UUID
distinguishedstring | nullmoderator, admin, or null
thumbnailstring | nullThumbnail URL
preview_imagesarrayPreview images with url, width, height
mediaobject | nullEmbedded media (video, oEmbed)
gallery_dataarray | nullGallery item metadata
total_awardsnumberTotal awards received
awardsarrayAward objects (id, name, count, icon_url)
gildednumberNumber of times gilded
removed_by_categorystring | nullRemoval reason category

Comment Object

FieldTypeDescription
id, fullnamestringComment ID and t1_* fullname
body, body_htmlstringComment text (plain & rendered)
author, author_fullnamestringAuthor info
subreddit, subreddit_name_prefixedstringSubreddit context
post_id, post_titlestringParent post
parent_idstringParent thing fullname
score, ups, controversialitynumberEngagement
depthnumberNesting level (0 = top-level)
created_utc, created_atnumber, stringUnix + ISO 8601
edited, edited_atnumber/bool, stringEdit timestamps
is_submitterbooleanTrue if author is post author (OP)
is_stickied, is_lockedbooleanModeration state
distinguishedstring | nullMod/admin badge
repliesarrayNested comments (recursive)

Subreddit Object

FieldTypeDescription
id, fullname, namestringIdentifiers
display_name_prefixedstringE.g. r/python
title, header_titlestringDisplay names
description, description_htmlstringLong description (sidebar)
public_description, public_description_htmlstringShort description
subscribers, active_usersnumberMember counts
created_utc, created_atnumber, stringWhen created
typestringpublic, private, restricted
submission_typestringany, link, self
advertiser_categorystring | nullAd category
is_nsfw, is_quarantinedbooleanContent flags
icon_url, banner_url, header_urlstringImages
primary_color, key_color, banner_background_colorstringTheme
wiki_enabled, allow_images, allow_videos, allow_galleries, allow_pollsbooleanContent permissions
spoilers_enabled, emojis_enabled, free_form_reportsbooleanFeatures
comment_score_hide_minsnumberMinutes before scores show
should_archive_postsbooleanAuto-archive after 6mo
allowed_media_in_commentsarrayE.g. ["video"]

User Object

FieldTypeDescription
id, fullname, namestringIdentifiers
display_name_prefixedstringE.g. u/spez
description, profile_titlestringBio
icon_url, snoovatar_url, banner_urlstringImages
profile_urlstringProfile page URL
link_karma, comment_karma, awardee_karma, awarder_karma, total_karmanumberKarma breakdown
created_utc, created_atnumber, stringAccount age
verified, has_verified_email, is_employee, is_mod, is_gold, is_suspendedbooleanAccount flags
accepts_followers, has_subscribedbooleanSettings
is_nsfwbooleanNSFW profile

Rate Limits

Reddit Scraper API requests are subject to the same rate limits as all ScrapeBadger endpoints. See Rate Limits for details.