Reddit

Reddit Search API: how to search Reddit over HTTP (2026)

How to search Reddit programmatically — global keyword search, subreddit-scoped search, pagination, and how it compares to Reddit's own search.

Social FetchUpdated

Reddit is one of the few places people describe switching between products in their own words — "cancelled X because Y broke," "anyone got a cheaper alternative to Z." Search is how you find that text. This guide covers the mechanics: which endpoint to call, what the parameters do, how to paginate, and how a public-data search API differs from wiring Reddit's own Data API for the same job.

If you're setting up credentials first, see How to get a Reddit API key. If you're running a full research sprint — subreddit discovery, comment mining, sentiment scoring — see Reddit product research. This page is the narrower reference: how the search call itself works.

What "Reddit search API" means here

Two different things get called "the Reddit search API":

  1. Reddit's own Data API search — an OAuth-gated endpoint under Reddit's official developer terms, meant for Reddit-native clients and approved apps.
  2. A public-data API's Reddit search route — a third-party service (like Social Fetch) that reads Reddit's public posts and exposes them as a plain GET endpoint with its own key and billing model.

Both return posts matching a keyword. The difference is everything around the call: auth model, rate limits, response shape, and whether you're building a Reddit-native product or pulling public posts into a research or monitoring pipeline. This guide covers the second kind.

The two search endpoints

EndpointUse it for
GET /v1/reddit/searchGlobal keyword search across all of Reddit — competitor names, switching phrases, "best tool for X."
GET /v1/reddit/subreddits/searchFinding subreddits by topic before you know the exact name — query "project management" to surface r/productivity, r/SaaS.

Once you know the exact community, GET /v1/reddit/subreddits/{subreddit}/posts returns its feed directly (hot/top/new) without a keyword — useful when you want everything from a community, not a match.

A first request

Request
bash

The response returns matching posts (title, body, score, subreddit, permalink, createdAt) under data, with meta.requestId and meta.creditsCharged alongside — the same envelope every Social Fetch route uses, so a Reddit integration doesn't need its own error-handling branch next to your TikTok or Instagram code.

Parameters that matter

  • query — the keyword or phrase. Quote exact phrases the way you would in a browser search for tighter matches.
  • sortByrelevance, new, or top. relevance for exploratory search, top for backfills where you want the highest-signal posts first, new for monitoring what just got posted.
  • timeframeday through all. Bound a backfill (year) or a monitoring window (week) so you're not re-pulling the same old posts every run.

Paginating results

Every response carries data.page.nextCursor and data.page.hasMore. Loop until hasMore is false:

Request
bash

Each page is a separate billed lookup, so a wide backfill across many queries adds up — budget credits before you kick off a 12-month, multi-keyword pull rather than discovering the cost mid-run.

Reddit's own search API vs a public-data API

Reddit's official Data APISocial Fetch
AuthRegistered app + OAuthOne sfk_… API key
Setup timeApp registration, approval risk for commercial useMinutes
Rate limit~100 QPM per OAuth client on approved accessNo request quota — credits are the limit
BillingFree non-commercial tier + separate commercial contractPrepaid credits, one rate, no expiry
Response shapeReddit's native listing formatSame { data, meta } envelope as every other platform
ScopeFull Reddit access per your app's approved scopesPublic posts, comments, and search only

If you're building a Reddit-native client, mod tooling, or anything that needs scopes beyond public reads, Reddit's own API is the right — and only — path; see How to get a Reddit API key for that flow. If public search is enough, skip the OAuth setup.

Common patterns

Competitor mention tracking — cron sortBy=new&timeframe=week against your product and competitor names, diff against the last run, alert on volume spikes.

Launch backfillsortBy=top&timeframe=year on a category phrase ("alternative to Airtable") to find every high-signal thread before you start reading.

Subreddit discovery first — when you don't know where a conversation lives, run GET /v1/reddit/subreddits/search before the keyword search, then scope your queries to the communities that actually matter instead of wading through unrelated results.

Full multi-endpoint workflow — subreddit discovery, comment mining, sentiment scoring in your own stack: Reddit product research. Endpoint reference: Reddit platform hub. Try a query with no key first: free Reddit research tool.


Next steps: Reddit hub · How to get a Reddit API key · Reddit product research · Pricing