RedditapisRedditapis

The maintained Pushshift alternative

Pushshift lost public access and the free community mirrors are unmaintained and rate-limited. Redditapis is the replacement that stays up: REST historical and live search of posts, comments, and users, billed per call.

Written by Emma, developer relations at Redditapis. We bill historical and live search at a flat $0.0015 per read (source: our published pricing), with none of the rate-limit throttling the free mirrors hit under load. The same key reaches all 74 of our endpoints, per our published API reference.

What is the best Pushshift alternative in 2026?

The best Pushshift alternative in 2026 is a maintained REST Reddit data API like Redditapis. Pushshift was cut off from public and self-serve access, and the free mirrors that replaced it (PullPush, Arctic Shift, archive dumps) are unmaintained, rate-limited, or stale. Redditapis is actively run: it covers both historical and live search of posts, comments, and users over plain HTTPS, needs no Reddit developer-app approval, and bills a flat rate per call from $0.0015 a read.

The short answer

If you need historical and live Reddit data today, reach for a maintained REST API rather than a free Pushshift mirror. PullPush and Arctic Shift still run, but they are volunteer projects with no SLA, hard rate limits, and gaps under load, so they suit one-off research rather than a production pipeline. Redditapis covers the same search of posts, comments, and users over plain HTTPS, needs no Reddit app approval, and bills a flat $0.0015 per read, so the cost tracks your volume instead of a contract.

What happened

Pushshift went dark, and the mirrors are shaky.

For years Pushshift was how developers and researchers pulled historical Reddit data at scale. After Reddit's 2023 API changes, Pushshift lost its public, self-serve access and Reddit restricted public and free-tier access to its data API. The community filled the gap, but every free option that replaced Pushshift has a catch.

Cut off

Pushshift (public)

Public and self-serve access ended after Reddit's 2023 API changes. The open Pushshift endpoints researchers relied on for years are no longer available to the general public.

Rate-limited

PullPush.io

A community mirror that fills the gap, but it is volunteer-run, throttled, and frequently returns timeouts or gaps under load. No SLA, no support, no guarantee it stays up.

Dump-based

Arctic Shift

A community effort that rebuilds dumps and offers some search. Useful for archival work, but the live coverage lags and ingestion is best-effort, not a production data path.

Static

Academic dumps / torrents

Monthly archive dumps distributed as torrents. Fine for a one-time research corpus, but they are huge, stale by weeks, and give you nothing for live or recent data.

What you get instead.

One maintained REST API that does the Pushshift job and the live job, without the approval gate.

Historical search

Query past posts and comments by subreddit, author, keyword, and time window over a plain REST endpoint, the way Pushshift used to work. Reddit caps any single feed at roughly 1,000 items, so this reaches back through what Reddit still serves rather than a full archive.

Live search

Search current posts, comments, communities, and users as they happen. One API covers both past and live search.

No app approval

No Reddit developer-app review, no OAuth dance, no app-review wait. Sign up, get a bearer token, make your first call in minutes.

Flat per-call pricing

Pay per request from $0.0015 a read. No annual contract, no monthly minimum, costs that track exactly with your volume.

Coverage and rate limits, source by source.

Pushshift, PullPush, Arctic Shift, academic dumps, the official Reddit Data API, and RedditAPI compared by coverage window, rate limit, and cost
SourceCoverage windowRate limit / accessCost
Pushshift (public)2005 to May 2, 2023 (public access revoked)None; Reddit cut off public API access on May 2, 2023N/A, no longer public
PullPush.io2005 to 2023 (inherited archive) plus ongoing collection15 req/min soft cap, 30 req/min hard cap, ≈1,000 req/hour ceilingFree, volunteer-run
Arctic ShiftDecember 2005 to the current month, monthly releases≈120,000 requests/hour sustained ceilingFree, torrent + API
Academic dumps / torrentsMonthly snapshots, staticBulk download only, no live queryFree
Official Reddit Data APILive only, no historical backfill100 QPM per OAuth client on free access; more needs a separate agreement$0.24 per 1K calls, by negotiated agreement (commercial)
RedditAPIHistorical and live search, one REST APINo fixed per-minute quota on Reddit data calls; deep search runs 2 at once per accountFrom $0.0015 per call, no contract

Reddit revoked Pushshift's public API access on May 2, 2023. PullPush and Arctic Shift figures per their own published rate-limit and coverage docs; official Reddit Data API pricing per Reddit's 2023 commercial API pricing announcement. Community-run figures can change without notice; validate current numbers before relying on them for production. If PullPush is the mirror you are leaning on, see the PullPush alternative page for its rate limits and maintenance pattern in detail.

Which should you use?

Pick by the job in front of you, not by which option is free. A static academic dump fits a one-time research corpus where weeks of staleness is fine and you can process gigabytes locally. A community mirror such as PullPush fits a hobby query you can retry when it times out. A maintained REST API fits anything you have to depend on: live and recent data, a predictable rate limit, and a bill you can plan around to the call.

  • A historical corpus you process offline, at no cost. Academic dumps or Arctic Shift torrents, accepting weeks of lag.
  • Occasional lookups with no uptime requirement. PullPush, with retry logic for the timeouts and rate-limit walls.
  • A production data path for live plus recent data at a predictable cost. A maintained REST API like Redditapis, billed per call from $0.0015.

How it works

Swap a mirror call for one REST request.

If you were hitting a Pushshift-style endpoint, the migration is a URL and a bearer token. Search one subreddit by keyword, newest first, over plain HTTPS:

cURL
curl "https://api.redditapis.com/api/reddit/search?subreddit=python&q=async&sort=new&limit=100" \
  -H "Authorization: Bearer YOUR_API_KEY"

The response is JSON over HTTPS, so it drops into any language. Endpoint paths and parameters live in the API docs. Run the numbers for your volume with the cost calculator, or see the full per-endpoint rates on the pricing page.

Migration guide

Pushshift parameters, mapped to Redditapis calls

Most Pushshift code leaned on a handful of query parameters: ids, subreddit, sort, sort_type and size. Each one has a direct counterpart here, but a few behave differently, and those differences are where a port breaks quietly. This section walks through the four lookups that cover nearly every Pushshift script, with the exact call that replaces each.

Getting comments based on id

Pushshift let you pass a list of comment ids and get those comments back. Reddit itself organises comments under the post they belong to, so the dependable way to read them is by the post: request the post's comment tree by its id and the thread comes back in one response: up to 500 comments, each with its replies, optionally cut to 1 to 10 levels with depth, in the same sort orders the Reddit site uses (confidence, top, new, controversial, old and qa).

GET /api/reddit/post/{postId}/comments?sort=top&limit=500&depth=10

If you stored post ids rather than comment ids, hydrate up to 100 posts in a single call with their t3_ fullnames, comma separated. An unknown id is left out of the result instead of failing the whole request, so a batch with a few deleted posts still returns the rest.

GET /api/reddit/by_id/t3_abc123,t3_def456
GET /api/reddit/comment/t1_ghi789

A stored t1_ comment id still reads back on its own: fetch it with the single-comment endpoint, one call per comment. When you need many comments from the same thread, one comment-tree call per post is usually far fewer calls than one per comment, so store the parent post id beside each comment id and choose per job.

Using the subreddit parameter

On Pushshift, subreddit filtered any search. Here it filters post search: pass subreddit with your query and results stay inside that community. Comment search works across all of Reddit and returns the posts whose discussion matches, so a subreddit value on that endpoint is not applied. To read a community's comments as they arrive, use its comment stream instead, paged with the after cursor.

GET /api/reddit/search?subreddit=python&q=async&sort=new&limit=100
GET /api/reddit/sub/python/comments?limit=100

The practical rule for a port: keep subreddit on post searches, and move any per-community comment collection to the stream. Filtering a site-wide comment search afterwards by subreddit works too, but you pay for the rows you throw away.

Using the sort and size parameters

Pushshift's size set how many rows came back, and sort with sort_type ordered them by score, comment count or creation time. Here the row count is limit, from 1 to 100 per call (25 if you leave it out), and you page beyond 100 by passing back the after value from the previous response exactly as you received it. When after comes back empty, check listing_status: it tells the true end of the listing apart from Reddit's own cap of about 1,000 items.

Post search takes Reddit's own orders (relevance, new, hot, top and comments) plus a time window with t (hour, day, week, month, year or all). If your script depended on Pushshift's sort_type, the same name is accepted on post search: score, num_comments or created re-sorts each returned page in descending order, which keeps most ported loops working without edits.

GET /api/reddit/search?q=rust&subreddit=programming&sort=top&t=month&limit=100&sort_type=num_comments

One difference to plan for: sort_type orders the page you received, not the whole result set, so a top-100 by comment count across a month means paging through the window and ranking the rows you collected. Each page is one billed call, which makes the cost of a backfill easy to estimate before you run it.

Replacing the after and before date filters

Pushshift took epoch timestamps in after and before, so a script could ask for exactly one week in 2021. Live Reddit search does not take an arbitrary date range. It takes a time window with t (hour, day, week, month, year or all) and returns results inside it, newest or most relevant first. Note that after means something different here: it is the paging cursor from the previous response, not a timestamp, so a ported script must stop writing dates into it.

For recent windows, which is what most monitoring and research jobs actually read, the window covers it: t=day or t=week with sort=new, paged until the created_utc of the rows passes your cut-off, then stop. Every row carries created_utc, so trimming to an exact start and end time happens on your side in one line of code. For a fixed window years in the past, an archive dump is still the right tool, and the comparison above says where each one fits.

GET /api/reddit/search?q=llm&subreddit=MachineLearning&sort=new&t=week&limit=100
# keep paging with after=<cursor> until created_utc < your start time

Fields that carry over, and the ones that change

Most fields Pushshift code read keep their names and units on each post: id, author, subreddit, title, permalink and created_utc. Two are renamed: score is upvotes and num_comments is comments, so a ported parser maps those two and leaves the rest alone. (score and num_comments stay valid as sort_type values on post search.) Ids follow Reddit's own convention, a short id plus a t3_ prefix for the fullname when an endpoint asks for one, which is what the bulk by-id call expects.

The difference is freshness. Pushshift stored a snapshot taken when it first ingested a post, so score and comment counts were frozen early and edits or removals often never showed up. Here every read is current at the moment of the call: scores move, and deleted or removed content shows Reddit's own [deleted] and [removed] markers. If your analysis depended on the original text of later-deleted posts, keep your own copy at read time; if it depended on accurate counts, the live values are the better source.

What a ported script usually looks like

A typical Pushshift job polled a subreddit for new comments, pulled matching posts for a keyword, and occasionally re-read a thread to capture late replies. On this API that becomes three calls in a loop: the subreddit comment stream for new comments, post search with subreddit and sort=new for keyword matches, and the comment tree by post id for the re-read. Keep the last after cursor between runs so each poll starts where the previous one stopped, and store post ids with every comment so a later re-read never has to search again.

A short checklist before you switch the old job off. First, replace the base URL and add the Authorization header with your key; nothing else about the HTTP call changes. Second, rename size to limit and cap it at 100, and turn any after or before timestamps into a t window plus a created_utc filter in your own code. Third, move per-subreddit comment collection from search to the subreddit comment stream. Fourth, store the after cursor and the post id for every row you keep. Fifth, run the new job beside the old one for a day and compare row counts for the same subreddit and keyword: the live counts will be a little higher, because Pushshift often missed late comments and edits. When the two agree on what they both cover, the old job can go.

Comparing every option, not just the Pushshift mirrors? The full breakdown of scrapers, the official Reddit Data API, and pay-per-call providers lives on the alternatives page.

See all Reddit API alternatives

Frequently asked questions

Not for the public. Pushshift's open, self-serve access was cut off after Reddit's 2023 API changes, and Reddit restricted public and free-tier access to its data API around the same time. The endpoints researchers and developers depended on are no longer available, which is why community mirrors like PullPush appeared.

A maintained REST Reddit data API like Redditapis. Unlike PullPush, Arctic Shift, or static dumps, it is actively run with flat per-call pricing, needs no Reddit app approval, and covers both historical and live search of posts, comments, and users over plain HTTPS.

PullPush is a useful community mirror, but it is volunteer-run and rate-limited. Under load it returns timeouts and data gaps, and it carries no SLA or support. For a hobby query it is fine. For anything production, an unmaintained free mirror is a risk you cannot plan around.

No. There is no Reddit developer-app review, no OAuth client registration, and no approval wait. You create an account, get a bearer token, and call the REST endpoints directly. That removes the app-review gate the official Reddit Data API puts in front of commercial projects.

Yes, within the window Reddit still serves. Redditapis exposes search of past posts and comments by subreddit, author, keyword, and time range, the core job people used Pushshift for, plus live search of current data, over one REST API. One limit to plan around: Reddit caps any single feed at roughly 1,000 items, measured at 983 on our API against 940 on Reddit's own logged-in web client, so this is not a full archive back to 2005 and it does not return posts or comments that have since been deleted or removed.

Pricing is flat and per-call, from $0.0015 per read, with no annual contract and no monthly minimum. Votes, writes, and DMs are priced separately. See the per-endpoint breakdown and quick monthly totals on the pricing page to estimate your spend.

What is the best Pushshift alternative in 2026?

The best Pushshift alternative in 2026 is Redditapis, a maintained REST API for historical and live search of Reddit posts, comments, and users after Pushshift lost public access and the free community mirrors went unmaintained. It is billed at a flat $0.0015 per read with none of the rate-limit throttling the free mirrors hit under load.

By the numbers

Reddit API pricing and access, by the numbers

Every Redditapis figure resolves to our published per-call rates; every external figure is a primary US source.

  • Redditapis bills reads at $0.0015 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 333 reads before any charge. (Redditapis, 2026)

  • Reddit's own commercial Data API was reported 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 access is limited to 100 queries per minute per OAuth client, and traffic without OAuth is blocked. (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)

Keep reading.

Continue exploring related pages.

Reddit API documentation

The complete 2026 reference: auth, all 74 endpoints, and code.

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 MCP hub

Install tabs for every client, the full tool table, pricing and fixes.

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.0015 / 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.0015 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: no proxies to manage, 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.0015, 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.

PullPush alternative

PullPush is free but volunteer-run and goes offline for reindexing; a maintained REST API that stays up.

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.0015 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.

Replace the mirror with a maintained API.

$0.50 in free credits, no card required. Search historical and live Reddit data over REST, billed per call from $0.0015 a read.