Reddit subreddit search API
Search public posts inside one community — subreddit required, optional keyword, structured rows in the shared Social Fetch envelope.
GET /v1/reddit/subreddits/search1 credit per successful request.
About this endpoint
A lot of Reddit research is scoped: complaints in r/SaaS, form tips in r/Fitness, launch threads in a niche product sub. Site-wide keyword search dumps noise from unrelated communities. You already know the subreddit; you need matching posts from that community as JSON.
`GET /v1/reddit/subreddits/search` takes a required `subreddit` query param (case-sensitive; `r/` prefix and subreddit URLs are accepted) and an optional `query` string. Optional `sort` (`relevance`, `hot`, `top`, `new`, `comments`) and `timeframe` (`hour` through `all`) narrow the page. Read `data.posts` and `data.page`. When `data.page.hasMore` is true, pass `data.page.nextCursor` as `cursor` on the next call — do not treat `data.totalResults` as an end-of-list signal. Bill from `meta.creditsCharged`.
This route is keyword (or browse) search inside one community. Site-wide post search is `GET /v1/reddit/search`. The chronological or ranked feed for a known sub is `GET /v1/reddit/subreddits/{subreddit}/posts`. All of them share one Social Fetch API key.
Reddit subreddit search API FAQ
How do I search posts inside a Reddit subreddit via API?
Call GET /v1/reddit/subreddits/search with x-api-key, a required subreddit query param, and an optional query string. Optionally add sort, timeframe, and cursor. Read data.posts and data.page. Full parameters and examples are in the API docs.
What does each subreddit search result include?
Each post can include id, postId, title, url, permalink, nsfw, spoiler, crosspost, createdAt, thumbnailUrl, thumbnailBlurred, position, relativePosition, metrics (votes, comments), and nested subreddit metadata (id, name, nsfw, quarantined, iconUrl, bannerUrl, description, weeklyVisitors, weeklyContributions) when available.
How much does Reddit subreddit search cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
Subreddit search vs global Reddit search vs subreddit posts?
Use this route when you already know the community and want posts that match a query (or a sorted page) inside it. Use GET /v1/reddit/search for site-wide post keyword search. Use GET /v1/reddit/subreddits/{subreddit}/posts for that community's feed without a search query. They are separate operations on the Reddit hub.
Is the subreddit name case-sensitive?
Yes. Pass the community name as documented (Fitness, not fitness) unless you rely on normalization helpers that strip r/ or a subreddit URL. Wrong casing can miss the community you meant.
Can I omit the query and still call subreddit search?
Yes. subreddit is required; query is optional. Without query you still get a page of public posts for that community shaped by sort and timeframe. Keep those filters stable when you paginate with cursor.
How does pagination work on subreddit search?
When data.page.hasMore is true, pass data.page.nextCursor as the cursor query param on the next request. Keep the same subreddit, query, sort, and timeframe across pages. Do not infer completion from data.totalResults alone — that field counts rows on the current page.
Do I need Reddit OAuth to search inside a subreddit?
No. You authenticate to Social Fetch with an API key. The route reads public subreddit search results; it does not act on behalf of a logged-in Reddit user or open private subreddits.