Reddit API
Updated
Read Reddit through one REST API or the hosted MCP server. Search posts and comments, export threads, research subreddits, look up accounts and find people asking for what you sell.
Overview
Base URL: https://api.chatterapi.com/v1. Every Reddit endpoint sits under /v1/reddit, and every call needs your key in the Authorization: Bearer header. See Authentication for how keys work.
- Read-only. You can't post, comment or vote on Reddit through this API.
- No Reddit developer account needed. Your one key covers Reddit and X.
- Same envelope on every call:
data,pageon list endpoints,credits,requestIdandcached. See Credits and Pagination. - Agents: each endpoint is also an MCP tool on the hosted server. Dots in the tool id become underscores, so
reddit.searchis thereddit_searchtool. - 18+ tools (
/v1/reddit/nsfw/...) only answer once the account owner turns on 18+ access in Settings. Until then they returnscope_denied.
curl "https://api.chatterapi.com/v1/reddit/search?q=best%20crm&time=month&limit=5" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Endpoints at a glance
The credits listed are the most a call can cost. We check your balance against that number before the call runs, and charge you only if the call succeeds.
| Endpoint | Method and path | Credits |
|---|---|---|
| Reddit Post Search | GET /v1/reddit/search | 1 credit |
| Reddit NSFW Post Search | GET /v1/reddit/nsfw/search | 2 credits (18+ setting) |
| Reddit Comment Search | GET /v1/reddit/comments/search | 2 credits |
| Reddit Media Search | GET /v1/reddit/media/search | 2 credits |
| Reddit Scraper | GET /v1/reddit/posts/{id} | 1 credit |
| Reddit Comment Exporter | GET /v1/reddit/threads/{id} | 3 credits |
| Subreddit Finder | GET /v1/reddit/subreddits/search | 2 credits |
| NSFW Subreddit Finder | GET /v1/reddit/nsfw/subreddits/search | 2 credits (18+ setting) |
| Subreddit Stats | GET /v1/reddit/subreddits/{name} | 2 credits |
| Subreddit Posts | GET /v1/reddit/subreddits/{name}/posts | 1 credit |
| Reddit User Lookup | GET /v1/reddit/users/{name} | up to 2 credits |
| Reddit Account Checker | GET /v1/reddit/users/{name}/status | 2 credits |
| Reddit Comment History | GET /v1/reddit/users/{name}/comments | 2 credits |
| Reddit Post History | GET /v1/reddit/users/{name}/posts | 1 credit |
| Reddit User Search | GET /v1/reddit/users/search | 2 credits |
| Reddit Lead Finder | GET /v1/reddit/leads | 3 credits |
How Reddit inputs work
| Input | What to pass | Examples |
|---|---|---|
| Post or thread id | The base36 id, the t3_ fullname or the full post URL | 1g2h3j4, t3_1g2h3j4, https://www.reddit.com/r/SaaS/comments/1g2h3j4/... |
| Subreddit | The name without r/ | SaaS, smallbusiness |
| Username | The name without u/ | spez |
Search query q | Reddit search syntax works | "exact phrase", crm OR hubspot, crm NOT salesforce, author:name |
Time filter time | Applies to search and top feeds | hour, day, week, month, year, all |
Comment trees
reddit.thread returns the post plus a flat list of comments. Rebuild the tree with each comment's parentId. A top-level comment's parent is the post. No Reddit source returns very large threads in full, so compare comments.length with reportedCommentCount and page with cursor for more.
Fields that can be null
Some fields can only be filled from our primary source. When the fallback source serves a call, those fields come back as null and the call still succeeds: subreddit rules and moderators, user bio and badges, and the full text of comments in a user's history (bodyTruncated: true marks a preview). A null means unknown, not empty.
Freshness and caching
Search results are cached for about 10 minutes and subreddit profiles for a day. A cached response says cached: true and costs the same as a fresh one, so repeated calls return the same answer without hitting Reddit again.
Endpoint reference
Every Reddit endpoint with its parameters and a request you can copy. The samples read your key from an environment variable.
Reddit Post Search
GET /v1/reddit/search · 1 credit · MCP tool reddit_search · returns RedditPost[]
Search Reddit posts by keyword across all of Reddit or inside one subreddit. Returns posts with title, body, author, subreddit, score, comment count and URL, newest data within minutes. Costs 1 credit per page of up to 25 posts. Tip: Reddit operators work inside q, e.g. "exact phrase", OR, NOT, author:name.
| Parameter | Notes |
|---|---|
q query, string, required | Search text. Reddit operators allowed. |
subreddit query, string | Limit to one subreddit, e.g. SaaS. |
sort query, enum | Result order. One of relevance, new, hot, top, comments. Default relevance. |
time query, enum | Time window. One of hour, day, week, month, year, all. Default all. |
nsfw query, boolean,string | Include adult posts. true needs the 18+ setting and is billed as reddit.nsfw_search. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/search?q=best+crm+for+small+business&time=year" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Post Search: response example, every field and the errors it can return.
Reddit NSFW Post Search
GET /v1/reddit/nsfw/search · 2 credits · MCP tool reddit_nsfw_search · returns RedditPost[] · needs the 18+ setting
Search Reddit posts including adult (NSFW) content. Only works when the account owner has turned on 18+ access in the dashboard; otherwise it returns scope_denied. Returns the same post objects as reddit.search. Costs 2 credits per page. Tip: set nsfwOnly=true to drop safe-for-work posts from the results.
| Parameter | Notes |
|---|---|
q query, string, required | Search text. Reddit operators allowed. |
subreddit query, string | Limit to one subreddit. |
sort query, enum | Result order. One of relevance, new, hot, top, comments. Default relevance. |
time query, enum | Time window. One of hour, day, week, month, year, all. Default all. |
nsfwOnly query, boolean,string | Return only posts marked NSFW. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/nsfw/search?q=photography&limit=10" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit NSFW Post Search: response example, every field and the errors it can return.
Reddit Comment Search
GET /v1/reddit/comments/search · 2 credits · MCP tool reddit_search_comments · returns RedditComment[]
Search Reddit comments by keyword, the place where people actually recommend and complain about tools. Returns comment text, author, score, subreddit, the parent post title and a link. Costs 2 credits per page. Tip: comments have no time filter upstream, so sort=new and stop paging once results get older than you need.
| Parameter | Notes |
|---|---|
q query, string, required | Search text. Reddit operators allowed. |
sort query, enum | Result order. Comments have no time filter, so use new to monitor. One of relevance, new, top. Default relevance. |
author query, string | Only comments by this username. |
nsfw query, boolean,string | Include comments from adult communities. true needs the 18+ setting. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/comments/search?q=gummysearch+alternative" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Comment Search: response example, every field and the errors it can return.
Reddit Media Search
GET /v1/reddit/media/search · 2 credits · MCP tool reddit_search_media · returns RedditPost[]
Find Reddit image, video and gallery posts by keyword. Returns posts with a media object holding direct image or video URLs. Costs 2 credits per page. Tip: set kind=image, video or gallery to narrow results; the body field is empty for media results.
| Parameter | Notes |
|---|---|
q query, string, required | Search text. Reddit operators allowed. |
kind query, enum | Media type to return. One of image, video, gallery, all. Default all. |
sort query, enum | Result order. One of relevance, new, hot, top, comments. Default relevance. |
time query, enum | Time window. One of hour, day, week, month, year, all. Default all. |
nsfw query, boolean,string | Include adult media. true needs the 18+ setting. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/media/search?q=saas+dashboard&limit=10" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Media Search: response example, every field and the errors it can return.
Reddit Scraper
GET /v1/reddit/posts/{id} · 1 credit · MCP tool reddit_scrape · returns RedditPost
Fetch one Reddit post by id or URL, with full body text, score, comment count, upvote ratio, flags and media. Costs 1 credit. Tip: to get the comments too, call reddit.thread instead (it includes the post).
| Parameter | Notes |
|---|---|
id path, string, required | Post id (1wdihhj), t3_ id, or any reddit.com / redd.it post URL. |
curl "https://chatterapi.com/v1/reddit/posts/1wdihhj" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Scraper: response example, every field and the errors it can return.
Reddit Comment Exporter
GET /v1/reddit/threads/{id} · 3 credits · MCP tool reddit_thread · returns RedditThread
Get a Reddit post together with its comments as a flat list (rebuild the tree with parentId). Returns the post, up to about 100 comments per page, and counts of replies Reddit did not load. Costs 3 credits per page. Tip: no thread API returns every comment on very large threads; compare comments.length with reportedCommentCount.
| Parameter | Notes |
|---|---|
id path, string, required | Post id or post URL. |
cursor query, string | Next page of comments. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/threads/1wdihhj" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Comment Exporter: response example, every field and the errors it can return.
Subreddit Finder
GET /v1/reddit/subreddits/search · 2 credits · MCP tool reddit_communities · returns Subreddit[]
Find subreddits about a topic. Returns each community's name, title, description, subscriber count, creation date and NSFW flag (rules and moderators are not included; call reddit.subreddit for those). Costs 2 credits per page. Tip: search the problem your customer has, not your product name.
| Parameter | Notes |
|---|---|
q query, string, required | Topic to find communities for. |
nsfw query, boolean,string | Include adult communities. true is billed as reddit.nsfw_communities and needs the 18+ setting. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/subreddits/search?q=saas+marketing" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Subreddit Finder: response example, every field and the errors it can return.
NSFW Subreddit Finder
GET /v1/reddit/nsfw/subreddits/search · 2 credits · MCP tool reddit_nsfw_communities · returns Subreddit[] · needs the 18+ setting
Find subreddits including adult (NSFW) communities. Requires the account's 18+ setting, otherwise returns scope_denied. Same fields as reddit.communities. Costs 2 credits per page. Tip: set nsfwOnly=true to list only communities flagged NSFW.
| Parameter | Notes |
|---|---|
q query, string, required | Topic to find communities for. |
nsfwOnly query, boolean,string | Return only communities flagged NSFW. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/nsfw/subreddits/search?q=photography&limit=10" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for NSFW Subreddit Finder: response example, every field and the errors it can return.
Subreddit Stats
GET /v1/reddit/subreddits/{name} · 2 credits · MCP tool reddit_subreddit · returns Subreddit
Get one subreddit's profile: title, description, subscriber count, creation date, NSFW flag, full rules, moderators and posting settings (which post types are allowed, whether posting is restricted). Costs 2 credits. Tip: read rules before drafting a post; if rules is null the data came from a fallback source that cannot see them, not because the subreddit has none.
| Parameter | Notes |
|---|---|
name path, string, required | Subreddit name, r/name or URL, e.g. SaaS. |
curl "https://chatterapi.com/v1/reddit/subreddits/SaaS" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Subreddit Stats: response example, every field and the errors it can return.
Subreddit Posts
GET /v1/reddit/subreddits/{name}/posts · 1 credit · MCP tool reddit_subreddit_posts · returns RedditPost[]
List a subreddit's posts by hot, new, top, rising, controversial or best. Returns post objects with score, comment count and link. Costs 1 credit per page. Tip: sort=top with time=week shows what that community rewards; sort=new is the freshest feed.
| Parameter | Notes |
|---|---|
name path, string, required | Subreddit name, r/name or URL, e.g. SaaS. |
sort query, enum | Feed order. One of hot, new, top, rising, controversial, best. Default hot. |
time query, enum | Used when sort is top or controversial. One of hour, day, week, month, year, all. Default week. |
nsfw query, boolean,string | When false, NSFW posts are removed. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/subreddits/SaaS/posts?sort=top&time=week" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Subreddit Posts: response example, every field and the errors it can return.
Reddit User Lookup
GET /v1/reddit/users/{name} · up to 2 credits (1 credit, 2 with detail=full) · MCP tool reddit_user · returns RedditUser
Look up a Reddit account by username: account age, total, post and comment karma, avatar, and when available bio and badges (verified, moderator, employee, premium). Costs 1 credit. Tip: set detail=full to always get bio and badges (2 credits); the default may return them as null.
| Parameter | Notes |
|---|---|
name path, string, required | Reddit username, with or without u/, or a profile URL. 3-20 characters. |
detail query, enum | full guarantees bio and badges and costs 2 credits. One of basic, full. Default basic. |
curl "https://chatterapi.com/v1/reddit/users/spez" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit User Lookup: response example, every field and the errors it can return.
Reddit Account Checker
GET /v1/reddit/users/{name}/status · 2 credits · MCP tool reddit_user_status · returns UserStatus
Check whether a Reddit account is active, suspended, or not visible (deleted, banned or shadowbanned). Returns a state, never an error, for accounts that don't exist. Costs 2 credits. Tip: run it on your own account; not_found_or_banned on an account you can log into means Reddit has shadowbanned it.
| Parameter | Notes |
|---|---|
name path, string, required | Reddit username, with or without u/, or a profile URL. 3-20 characters. |
curl "https://chatterapi.com/v1/reddit/users/spez/status" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Account Checker: response example, every field and the errors it can return.
Reddit Comment History
GET /v1/reddit/users/{name}/comments · 2 credits · MCP tool reddit_user_comments · returns RedditComment[]
List a Reddit user's recent comments with full text, subreddit, score, the post each one replies to, and a link. Costs 2 credits per page of up to 25. Tip: if bodyTruncated is true the data came from a fallback that only has previews; retry later for full text.
| Parameter | Notes |
|---|---|
name path, string, required | Reddit username, with or without u/, or a profile URL. 3-20 characters. |
sort query, enum | Order of the comment history. One of new, top, controversial. Default new. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/users/spez/comments" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Comment History: response example, every field and the errors it can return.
Reddit Post History
GET /v1/reddit/users/{name}/posts · 1 credit · MCP tool reddit_user_posts · returns RedditPost[]
List the posts a Reddit user has submitted, newest first by default, with subreddit, score, comment count and link. Costs 1 credit per page. Tip: combine with reddit.user_comments to see where an account is active before you reach out.
| Parameter | Notes |
|---|---|
name path, string, required | Reddit username, with or without u/, or a profile URL. 3-20 characters. |
sort query, enum | Order of the post history. One of new, top, hot, controversial. Default new. |
nsfw query, boolean,string | When false, NSFW posts are removed. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/users/spez/posts" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Post History: response example, every field and the errors it can return.
Reddit User Search
GET /v1/reddit/users/search · 2 credits · MCP tool reddit_user_search · returns RedditUser[]
Find Reddit accounts by keyword in their name or profile. Returns profiles with karma, age, bio and badges. Costs 2 credits per page. Tip: use it to find a company's or founder's official account before calling reddit.user_posts.
| Parameter | Notes |
|---|---|
q query, string, required | Keyword to match in usernames and profiles. |
nsfw query, boolean,string | Include adult accounts. true needs the 18+ setting. |
limit query, integer | Max rows to return (1-100). Reddit pages hold about 25 rows; larger values still return one page. Range 1 to 100. Default 25. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
curl "https://chatterapi.com/v1/reddit/users/search?q=hubspot&limit=10" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit User Search: response example, every field and the errors it can return.
Reddit Lead Finder
GET /v1/reddit/leads · 3 credits · MCP tool reddit_leads · returns Lead[]
Find Reddit posts and comments where people ask for a recommendation, compare tools, or complain about a tool in your category. Returns leads ranked by an intent score (0 to 1) with the matched phrases, so you can see why each one was picked. Costs 3 credits per page. Tip: pass competitors to catch people switching away from them.
| Parameter | Notes |
|---|---|
q query, string, required | Your product category or the problem it solves, e.g. crm or cold email. 1-60 characters. |
competitors query, string or array | Up to 5 tools people might switch away from, e.g. hubspot,pipedrive. |
exclude query, string or array | Up to 10 words that disqualify an item. |
time query, enum | How far back to look. One of day, week, month, year. Default month. |
minScore query, number | Minimum intent score from 0 to 1. Range 0 to 1. Default 0.3. |
intents query, string or array | Which intents to return. Default: all three. |
cursor query, string | Opaque cursor from the previous response's page.nextCursor. Length 1 to 2048. |
subreddit query, string | Limit the Reddit side to one subreddit. |
curl "https://chatterapi.com/v1/reddit/leads?q=crm" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Full reference for Reddit Lead Finder: response example, every field and the errors it can return.
Response objects
These are the objects inside data. List endpoints return arrays of them.
RedditPost
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string | no | Platform id. |
fullname | string | no | Reddit fullname (t3_ for posts, t1_ for comments). Dedupe on this. |
title | string | no | Title. |
body | string | no | Text body. Empty for link and media posts. |
author | string | yes | Author username, null when deleted. |
subreddit | string | no | Subreddit name without r/. |
permalink | string | no | Path on reddit.com. |
url | string | no | Full URL on the platform. |
externalUrl | string | yes | Link the post points to, when it is a link post. |
score | number | yes | Score (upvotes minus downvotes) as Reddit reports it. |
numComments | number | yes | Comment count. |
upvoteRatio | number | yes | Share of upvotes, 0 to 1. |
createdAt | string | no | ISO 8601 UTC timestamp. |
nsfw | boolean | no | Marked adult content. |
locked | boolean | yes | Comments are locked. |
media | object | yes | Images, video or gallery URLs, or null. |
RedditComment
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string | no | Platform id. |
fullname | string | no | Reddit fullname (t3_ for posts, t1_ for comments). Dedupe on this. |
parentId | string | yes | Fullname of the parent comment or post. |
postId | string | yes | Id of the post this comment belongs to. |
postTitle | string | yes | Title of that post. |
author | string | yes | Author username, null when deleted. |
body | string | no | Text body. Empty for link and media posts. |
bodyTruncated | boolean | no | True when the text is a preview from a fallback source. |
score | number | yes | Score (upvotes minus downvotes) as Reddit reports it. |
subreddit | string | yes | Subreddit name without r/. |
permalink | string | yes | Path on reddit.com. |
url | string | yes | Full URL on the platform. |
createdAt | string | no | ISO 8601 UTC timestamp. |
RedditThread
| Field | Type | Nullable | Description |
|---|---|---|---|
post | object | yes | The post, or null when it could not be loaded. |
comments | object[] | no | Flat list of comments; rebuild the tree with parentId. |
unloadedReplyStubs | number | no | Replies Reddit did not load in this page. |
reportedCommentCount | number | yes | Comment count Reddit reports for the post. |
Subreddit
| Field | Type | Nullable | Description |
|---|---|---|---|
name | string | no | Name. |
title | string | yes | Title. |
description | string | yes | Description. |
subscribers | number | yes | Subscriber count. |
createdAt | string | yes | ISO 8601 UTC timestamp. |
nsfw | boolean | yes | Marked adult content. |
url | string | no | Subreddit URL. |
rules | object[] | yes | Subreddit rules, or null when the source cannot see them. |
moderators | object[] | yes | Moderators and since when, or null. |
posting | object | yes | Posting settings, or null. |
RedditUser
| Field | Type | Nullable | Description |
|---|---|---|---|
username | string | no | Username without u/. |
id | string | yes | Platform id. |
createdAt | string | yes | ISO 8601 UTC timestamp. |
karma | object | no | Total, post and comment karma. |
bio | string | yes | Profile bio. |
avatarUrl | string | yes | Avatar image URL. |
badges | object | yes | Verified, employee, moderator and premium flags, or null. |
UserStatus
| Field | Type | Nullable | Description |
|---|---|---|---|
username | string | no | Username without u/. |
state | enum | no | active, suspended, not_found_or_banned or unknown. |
exists | boolean | yes | Whether the account exists, null when unknown. |
Lead
| Field | Type | Nullable | Description |
|---|---|---|---|
platform | enum | no | reddit or x. |
kind | enum | no | post, comment or tweet. |
id | string | no | Platform id. |
url | string | no | Full URL on the platform. |
text | string | no | Text. |
author | string | yes | Author username, null when deleted. |
authorUrl | string | yes | Author profile URL. |
community | string | yes | Subreddit for Reddit items, null for X. |
score | number | yes | Score (upvotes minus downvotes) as Reddit reports it. |
createdAt | string | yes | ISO 8601 UTC timestamp. |
intent | enum | no | asking_for_recommendation, comparing_tools, complaining_about_tool or other. |
intentScore | number | no | Intent score from 0 to 1. |
matchedTerms | string[] | no | Phrases that made this a lead. |
Recipes
Find people asking for a tool like yours
Call /v1/reddit/leads with your category in two or three words and up to five competitors. Results are ranked by intentScore from 0 to 1, and matchedTerms shows the phrases that triggered each one. One page costs 3 credits.
curl "https://api.chatterapi.com/v1/reddit/leads?q=email%20marketing%20tool&competitors=mailchimp,convertkit" \
-H "Authorization: Bearer $CHATTERAPI_KEY"Check an account for a shadowban
Call /v1/reddit/users/{name}/status on your own account. If you can log into it but the state is not_found_or_banned, Reddit has hidden it from everyone else. It costs 2 credits, and an account that doesn't exist returns a state rather than an error.
Read a community before posting
Call /v1/reddit/subreddits/{name} for its rules and posting settings, then /v1/reddit/subreddits/{name}/posts?sort=top&time=month to see what the community rewards.
Export a whole thread
Call /v1/reddit/threads/{id} with the post URL and keep passing page.nextCursor as cursor until page.hasMore is false. The Comment Exporter free tool shows the result without code.
Errors you'll see
| Code | When | What to do |
|---|---|---|
not_found | The post, subreddit or user doesn't exist, or the subreddit is private or banned. | Check the id or name. Don't retry. |
scope_denied | An 18+ endpoint while 18+ access is off. | Turn it on in Settings. |
invalid_input | A parameter failed validation. The message names the field. | Fix the request. |
upstream_error | Reddit or both of our sources failed. | Retry with backoff. You weren't charged. |
insufficient_credits | Your balance is below the call's maximum cost. | Top up or wait for your monthly credits. |
Every code, with response bodies and what an agent should tell the user, is on Errors.