Reddit API documentation: the complete 2026 guide
Last updated August 2026 Our platform serves 59 REST endpoints, per our published API reference, and this guide walks all of them.
What is the Reddit API and how do you access it?
The Reddit API is the programmatic interface for reading and writing Reddit data such as posts, comments, users, and subreddits. There are five ways to access it: the official Reddit Data API over OAuth (free for non-commercial use at about 100 queries per minute, or $0.24 per 1,000 calls commercially behind an app-review queue), PRAW (a Python client for that same OAuth API), the public .json endpoints on reddit.com, third-party scrapers, and hosted per-call APIs like Redditapis that use a single bearer token, charge reads from $0.002, and need no app approval. Redditapis exposes 59 REST endpoints and starts you with $0.50 in free credits at signup, no credit card.
Every way to access the Reddit API
There is no single Reddit API. There are five practical routes to Reddit data, and they differ on authentication, rate limits, price, and whether they allow writes. The table lays them side by side so you can pick the one that fits your project before you write a line of code.
| Access method | Auth | Limits and price | Best for |
|---|---|---|---|
| Official Reddit Data API (free) | OAuth 2.0 + app registration | About 100 queries/min, non-commercial use only | Personal bots and scripts inside Reddit's terms |
| Official Reddit Data API (commercial) | OAuth 2.0 + manual app review | $0.24 per 1,000 calls, approval queue before keys go live | Funded products that need first-party OAuth scopes |
| PRAW | OAuth 2.0 (wraps the official API) | Same rate limits as the official Data API | Python developers who want an ergonomic client |
| Public .json endpoints | None to light | Unauthenticated, aggressively throttled, read-only, unofficial | Quick one-off reads with no writes |
| Third-party scrapers | Vendor key | HTML-parse fragility and terms-of-service risk | Ad-hoc bulk pulls when nothing else fits |
| Hosted per-call API (Redditapis) | Single bearer token | Reads $0.002, votes $0.005, writes $0.012, DMs $0.025, no approval | Shipping fast without OAuth or a contract |
PRAW, the .json endpoints, and third-party scrapers all inherit Reddit's OAuth limits or its terms of service, and Pushshift, the historical archive many teams relied on, is now restricted to Reddit moderators. If you need a drop-in that skips the OAuth handshake, the app-review queue, and the per-minute cap, a hosted per-call API is the shortest path. For a deeper look at each route, see the PRAW alternative, the Pushshift alternative, the Reddit scraper API, and the cheapest Reddit API breakdowns. Curious what teams build once they have access? The use-cases page walks through trend spotting, brand monitoring, and product research.
Choosing between those five routes is easier with the numbers side by side. There is a latency, uptime and cost benchmark across providers, a head-to-head with Scrapingdog, a look at where no-code automation tools stop being enough, and a walkthrough of Arctic Shift as an archive source for AI agents. Before any of them goes into production, the commercial-use and licensing rules decide what you are allowed to do with the data at all, which is the question that most often gets asked last and should be asked first.
Quick reference
| Base URL | https://api.redditapis.com |
| Auth | Bearer token in the Authorization header |
| Response format | JSON on every endpoint |
| Endpoints | 59 across six tiers |
| Read price | $0.002 per call |
| Free to start | $0.50 in credits, no credit card |
Authentication
Every request carries your key in one header. There is no OAuth token exchange, no refresh cycle, and no app-review step. Generate a key on the Reddit API key page, then send it as a bearer token:
Authorization: Bearer YOUR_REDDITAPIS_KEYThe same token works for reads, votes, writes, and direct messages, so there is a single credential to manage. For the exact header and a working request, see how to authenticate the Reddit API.
Your first request
The most common call reads a subreddit feed. Here is the same request in three languages, each returning clean JSON you can parse immediately.
curl
curl -X GET \
-H "Authorization: Bearer $REDDITAPIS_KEY" \
"https://api.redditapis.com/api/reddit/posts?subreddit=programming&sort=new&limit=25"Python
import os, requests
res = requests.get(
"https://api.redditapis.com/api/reddit/posts",
params={"subreddit": "programming", "sort": "new", "limit": 25},
headers={"Authorization": f"Bearer {os.getenv('REDDITAPIS_KEY')}"},
)
posts = res.json()Node.js
const url = "https://api.redditapis.com/api/reddit/posts?subreddit=programming&sort=new&limit=25";
const res = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.REDDITAPIS_KEY}` },
});
const posts = await res.json();Full language walkthroughs live in the Python and Node.js answers. If your stack is neither, there are runnable clients for Go using nothing but net/http, and for Bun on its native fetch.
The endpoint catalog
Redditapis exposes 59 endpoints. The read tier holds 31 routes; the eleven listed below are the ones most projects call, and the tier also covers single comment lookups, the full comment tree under a post, and a batch comment-verify route. Reads are $0.002 each.
| Method | Path | What it returns |
|---|---|---|
| GET | /api/reddit/posts | Listing feed for a subreddit, with sort and limit. |
| GET | /api/reddit/search | Keyword search across posts. |
| GET | /api/reddit/sub/:name/top | Top posts in a subreddit over a time window. |
| GET | /api/reddit/post/:id | A single post by its id. |
| GET | /api/reddit/comments | The comment tree under a post. |
| GET | /api/reddit/user/:name | A user profile. |
| GET | /api/reddit/user/:name/comments | A user's comment history. |
| GET | /api/reddit/search/communities | Find subreddits by keyword. |
| GET | /api/reddit/search/comments | Search comments by keyword. |
| GET | /api/reddit/search/media | Search image and video posts. |
| GET | /api/reddit/search/users | Find users by name. |
Several of these routes have a walkthrough of their own, with the response shape and the edge cases the table has no room for: user profiles, karma and history, images, videos and galleries, posting rules as JSON, moderators and the wiki, and hydrating many posts in one call instead of one request each.
The remaining tiers cover deep comment search, voting, writes, and direct messages. Prices rise with the action, since a write costs Reddit more than a read. Deep comment search is the one worth reading before you budget for it, since it is the route people reach for after Pushshift, and Reddit's own DM caps bound the messaging tier regardless of what you are willing to spend.
| Method | Path | Price | What it does |
|---|---|---|---|
| GET | /api/reddit/search/comments/deep | $0.02 | Deep comment search that fans out into a search plus several comment-tree reads. |
| POST | /api/reddit/vote | $0.005 | Upvote or downvote a post or comment. |
| POST | /api/reddit/login | $0.012 | Authenticate an account for write actions. |
| POST | /api/reddit/comment | $0.012 | Post a comment or reply. |
| POST | /api/reddit/v2/comment | $0.012 | Post a comment through the v2 write path. |
| POST | /api/reddit/profile/description | $0.012 | Update the profile description. |
| POST | /api/reddit/profile/display-name | $0.012 | Update the profile display name. |
| POST | /api/reddit/profile/avatar | $0.012 | Update the profile avatar. |
| POST | /api/reddit/dm | $0.025 | Send a direct message. |
| POST | /api/reddit/dm/threads | $0.025 | List direct-message threads. |
| POST | /api/reddit/dm/messages | $0.025 | Read messages inside a thread. |
2 free account reads, 3 free feedback endpoints and10 plan-billed monitoring endpoints round out the 59: your own account details and payment history, a bug or feature report to the team and its status, and keyword monitors. For the count and the reasoning behind it, see how many Reddit API endpoints there are.
Pagination
Listing endpoints return results in pages. Each response includes an after token; pass it as a query parameter on the next request to pull the following page, and stop when the token comes back empty. That loop is how you pull a whole subreddit or a full comment history without hitting a single oversized response.
Rate limits
Redditapis meters by spend rather than by a strict per-minute cap, so throughput scales with your plan instead of a hard queue. If you send faster than the plan allows you get a 429, and the fix is to back off and retry. The official Reddit Data API, by contrast, caps the free OAuth tier near 100 queries per minute. The full breakdown, including how to avoid PRAW throttling, is on the rate limits answer. Two failure modes are worth recognising on sight because neither is really a rate limit: the "your request has been rate limited" page Reddit serves to logged-out traffic, and a job that works locally and dies in GitHub Actions, which is a datacentre-IP block wearing a 429's clothes.
Status codes and error handling
| Code | What it means |
|---|---|
| 200 | Success. The JSON body holds the data you asked for. |
| 401 | Missing or invalid bearer token. Check the Authorization header. |
| 402 | Out of credits. Add funds or spend down your $0.50 signup balance. |
| 404 | The subreddit, post, or user does not exist or is private. |
| 429 | You are sending faster than your plan allows. Back off and retry. |
Pricing per call
Billing is usage-based, so you pay per call rather than for a monthly seat. A project that mostly reads posts and comments pays cents for thousands of calls, and the $0.50 in signup credits covers about 250 reads.
| Tier | Price | Notes |
|---|---|---|
| Reads (31 endpoints) | $0.002 per call | Posts, search, comments, users, communities. |
| Deep comment search (1) | $0.02 per call | One call fans out into a search plus comment-tree reads. |
| Vote (1) | $0.005 per call | Upvote or downvote a post or comment. |
| Writes (7) | $0.012 per call | Login, comment, and profile updates. |
| Direct messages (3) | $0.025 per call | Send a DM, list threads, read messages. |
| Account reads (15) | Free | Your own account details and payment history. |
Run your own volume on the cost calculator, or read the full breakdown on the pricing page.
How this differs from the official Reddit API docs
Reddit maintains its own documentation at developers.reddit.com for the OAuth Data API. That path is free for personal, non-commercial use, but commercial access is sold by negotiated agreement at a reported $0.24 per 1,000 calls, which is $0.00024 per call, behind an app-review queue. The $12,000 figure widely quoted since 2023 is that same rate at 50 million requests, not a separate annual fee. Redditapis is a REST wrapper: one bearer token, no review, and flat per-call pricing from $0.002. Commercial keys on the official path also wait on manual app review before they go live, whereas a Redditapis key works the moment you generate it. Use the official docs when you need first-party OAuth scopes; use this guide when you want data in minutes without a contract. The side-by-side comparison is on the Redditapis versus official Reddit API page, and the official reference is at developers.reddit.com.
By the numbers
Reddit API access and pricing, by the numbers
Every Redditapis figure resolves to our published per-call rates; every external figure is a primary source.
Redditapis bills reads at $0.002 per call, votes at $0.005, writes at $0.012, and DMs at $0.025, one flat rate for every account with no minimum spend. (Redditapis pricing, 2026)
Every new account starts with $0.50 in free credits and no card on file, enough for roughly 250 reads before any charge. (Redditapis, 2026)
Reddit's own commercial Data API is priced at $0.24 per 1,000 API calls, the rate that ended third-party apps like Apollo in 2023. (The Verge, 2023)
Reddit's free Data API tier is capped at 100 queries per minute per OAuth client, and 10 queries per minute without OAuth. (Reddit Data API Wiki, 2026)
Reddit signed a reported $60 million-a-year deal to license its data for AI training, a sign of how valuable structured Reddit data has become. (Reuters, 2024)
Frequently asked
Where is the Reddit API documentation?
Reddit publishes official documentation at developers.reddit.com, which covers the OAuth Data API. This page documents Redditapis, a REST wrapper that exposes 59 endpoints at api.redditapis.com behind a single bearer token, with no OAuth flow and per-call pricing from $0.002.
How do I authenticate the Reddit API?
Send your key in the Authorization header as "Bearer YOUR_KEY" on every request. There is no OAuth token exchange and no refresh step on Redditapis, so one header authenticates a read, a vote, or a write.
How many Reddit API endpoints are there?
Redditapis serves 59 REST endpoints: 31 reads, 1 deep comment search, 1 vote, 7 writes, 3 direct-message endpoints, and 15 free account reads.
Do I need PRAW to use the Reddit API?
No. PRAW is a Python client for the official OAuth API. On Redditapis you call plain HTTPS endpoints with any client, so curl, fetch, and the requests library all work without PRAW.
How much does the Reddit API cost?
Reads are $0.002 per call, votes $0.005, writes $0.012, and direct messages $0.025. There is no subscription and no minimum, and you begin with $0.50 in free credits at signup, about 250 reads, with no credit card.
How do I read a Reddit account's DM inbox and message history via the API?
Two endpoints cover it. POST /api/reddit/dm/threads lists every conversation, the same view as the Reddit chat sidebar, with the other party's username, latest message preview, and unread count. POST /api/reddit/dm/messages takes a thread's room_id and returns the full paginated message history inside it. Both cost $0.025 per call, the same tier as sending a DM with POST /api/reddit/dm.
How do I paginate Reddit API results?
Listing endpoints return an after token. Pass it back on the next request to fetch the following page, and repeat until the token is empty. The pagination guide walks through the loop with code.
Is the Reddit API free?
The official Reddit Data API is free for non-commercial use at roughly 100 queries per minute. Commercial access runs $0.24 per 1,000 calls behind an app-review queue. Redditapis gives you $0.50 in free credits at signup, about 250 reads, with no credit card and no approval step.
What are the alternatives to the official Reddit API?
The main routes are PRAW (a Python wrapper for the same OAuth API), the public .json endpoints on reddit.com, third-party scrapers, and hosted per-call APIs like Redditapis. Pushshift, the historical archive many teams relied on, is now restricted to Reddit moderators.
Start with $0.50 in free credits
No credit card, no app approval. Generate a key and make your first Reddit API call in minutes.
Get your Reddit API keyKeep reading.
Continue exploring related pages.
Get a Reddit API key
Instant bearer token, no waitlist and no enterprise contract.
Reddit Responsible Builder Policy
Why Reddit denies API applications, and the managed REST bypass.
Reddit API use cases
14 use cases from AI training to brand monitoring and DMs.
Reddit Search API
Search posts, comments, users, and communities over one REST endpoint.
Reddit MCP server
Wrap the REST API as MCP tools for Claude, Cursor, and any MCP client.
Reddit API for AI agents
Live Reddit context for tool calls, MCP servers, and RAG pipelines.
Redditapis pricing
Endpoint-level costs and quick monthly totals - reads from $0.002 / call.
Reddit API cost calculator
Estimate monthly spend using your request volume.
Reddit API guides and tutorials
Tutorials, walkthroughs, and API deep-dives for developers.
Reddit API alternatives
Evaluate alternatives by cost model, limits, and integration fit.
Cheap Reddit API
The cheapest way to get Reddit data: $0.002 per call, no contract, no minimum.
Official Reddit API vs Redditapis
Access, setup, rate limits, and pricing, side by side.
PRAW alternative
A hosted Reddit REST API for any language, no app registration or OAuth.
Reddapi alternative
A maintained Reddit REST API with published pricing and write endpoints.
Reddit comment scraper alternative
The raw comment API: search and filter comments, historical and live, clean JSON.
Reddit scraper API
Hosted scraper API vs building your own: managed proxies, clean JSON.
RapidAPI Reddit alternative
A direct, maintained Reddit API with published pricing and write endpoints.
Bright Data Reddit alternative
A purpose-built Reddit API vs a general scraping platform: structured JSON, plus writes.
ScraperAPI Reddit alternative
A Reddit-native API vs a generic HTML fetcher: auth and pagination handled, typed JSON.
TikHub alternative
TikHub's Reddit surface is read-only; get comment, vote, and DM endpoints too.
EnsembleData alternative
No $100/month floor: pay per call from $0.002, plus write, vote, and DM endpoints.
Scrape Creators alternative
7 read-only Reddit endpoints vs a dedicated API with real write, vote, and DM paths.
FetchLayer alternative
Posts, comments, and search only; add vote, comment, and DM over the same REST auth.
Reddit monitoring API
Build your own keyword and brand-mention monitor: search, comment search, and subreddit streams over REST.
F5Bot vs Redditapis
F5Bot's Slack and Discord delivery needs its $49.99/mo Gold tier; Redditapis includes it from $19/mo.
Syften vs Redditapis
Syften caps you at 100 to 500 results a day; Redditapis allows 10,000 a day per monitor at the entry plan.
Octolens vs Redditapis
Octolens meters by mention with overage fees; Redditapis is flat-priced by subreddit slot from $19/mo.
Affiliate program
Earn 20% lifetime commissions - capped at $5,000/yr.
Reddit Vote API tutorial
Upvote and downvote a post programmatically via the REST API.
Reddit Data API: REST, no PRAW
REST endpoints for Reddit data with no PRAW and no OAuth dance.
Reddit scraping benchmarks
Real throughput, error rates, and cost benchmarks for Reddit scraping.
Reddit API answers
Direct answers on cost, access, rate limits, endpoints, and auth.
How much the Reddit API costs
Per-call pricing from $0.002 a read, with $0.50 in free credits.
Reddit API in Python
One requests call with a bearer token, no PRAW and no OAuth flow.
Reddit shadowban checker
Check if a Reddit account is shadowbanned in seconds, free and no login.
Subreddit stats checker
See any subreddit's live subscriber count, active users, and age, free and no login.
