Reddit research API
Keyword search, subreddit feeds, and comment trees over HTTP — JSON for scoring, clustering, or export.
What usually breaks first
Common failure modes after a DIY scraper or marketplace API hits production — schema drift, billing surprises, and pagination quirks.
Reddit holds switching stories and feature requests that surveys miss. Manual collection and Reddit's own API friction do not scale; DIY scrapers break on layout changes.
Social Fetch exposes public Reddit as GET endpoints — same billing and `data.page.nextCursor` pagination as other platforms. Each search page and comment page is a separate lookup; budget bursty research on prepaid credits.
See also: /platforms/reddit, /tools/reddit-research, /guides/reddit-search-api.
6 routes for this job
Routes used in live reddit research integrations (Reddit). Paths and params match OpenAPI; documented fields ship in responses.
GET /v1/reddit/searchGlobal keyword search — your starting point for "switching from X", "{competitor} vs {competitor}", or "best tool for {job}". Supports sortBy (relevance, new, top) and timeframe (day through all). Paginate with cursor until data.page.hasMore is false.
GET /v1/reddit/subreddits/searchFind communities before you know the exact subreddit name. Query "project management" to surface r/productivity, r/SaaS, r/Notion — then lock your watchlist. Subreddit names are case-sensitive everywhere (SaaS ≠ saas).
GET /v1/reddit/subredditsSubreddit metadata — subscriber count, description, NSFW flag. Useful when you're deciding whether r/smallbusiness is big enough to monitor weekly or noise.
GET /v1/reddit/subreddits/{subreddit}/postsPaginated feed for a named community. Pull hot/top/new from r/IndieHackers or r/marketing without crafting search queries. Pair with timeframe when you only want last month's launch posts.
GET /v1/reddit/posts/commentsFull comment tree for a post URL — where the real product feedback lives. That r/SaaS thread titled "What do you hate about your CRM?" is worthless without the replies. Paginate comments the same way you paginate search.
GET /v1/reddit/posts/transcriptText transcript for video posts in subreddits like r/youseeingthisshit or r/gadgets. Niche for research, handy when the complaint is spoken, not written.
How teams wire this
Typical order starts with “write the questions you actually need answered.” Adjust cadence, schema, and thresholds to your stack.
- 1
Write the questions you actually need answered
Skip vague "monitor Reddit." Write concrete queries: "alternative to Linear", "cancelled HubSpot because", "Notion too slow for". Each question maps to one or more search calls. If you're doing competitive intel, list 5–8 competitor names and the phrases people use when they're mad — not your marketing names.
- 2
Discover subreddits, don't guess them
Call /v1/reddit/subreddits/search with category terms ("B2B sales", "no code", "devops"). Validate with /v1/reddit/subreddits — check subscriber counts before you commit to weekly pulls. r/entrepreneur and r/startups overlap but the threads don't.
- 3
Run global search, then narrow
Start with /v1/reddit/search and sortBy=relevance or top + timeframe=year for backfills. When a community keeps appearing, switch to /v1/reddit/subreddits/{subreddit}/posts for cleaner signal. Searching inside r/SaaS alone beats wading through r/AskReddit noise.
- 4
Page until hasMore lies
Every response includes data.page.nextCursor. Loop until hasMore is false — don't infer end-of-results from empty items alone. Each page is one billed lookup. For a 12-month competitor mention study, budget credits upfront; 50 queries × 4 pages each adds up.
- 5
Rank threads before you read them
Store title, body, score, comment count, createdAt from search results. Sort by score or comment count before pulling full threads — you don't need comments on a 2-upvote post from 2019. This alone cuts comment lookups by 70% on most backfills.
- 6
Mine comment threads for the verbatim quotes
Hit /v1/reddit/posts/comments with the permalink URL. Product research lives in replies: feature requests, workarounds, "we switched to X because Y broke." Paginate comment pages on viral threads — a 400-comment launch post might be 3–4 lookups.
- 7
Score sentiment in your stack, not ours
We return text and metadata; you run classification. Regex for "switching from" and "cancelled" gets you surprisingly far. Pipe comment bodies into your LLM with the post title as context — store meta.requestId on anything that looks wrong so support can trace the lookup.
- 8
Validate launches and track mention spikes
After a release, cron /v1/reddit/search with your product name + sortBy=new + timeframe=week. Diff against last week's pull in your DB; alert when volume jumps. Same pipeline works for competitor launches — watch their name, not yours.
- 9
Ship battlecards, not CSVs
Aggregate by theme: pricing complaints, missing integrations, onboarding pain. Weight by upvote score. PMs want "17 threads in r/smallbusiness mention export limits" with links — your pipeline should output that, refreshed on a schedule you control.
Competitor mention pull: global search with sort + timeframe, then paginate. Swap the query for your category — "best CRM for startups", "leaving Intercom", whatever you're researching. Each response page costs one credit; stash meta.requestId if a row looks off.
Swap YOUR_API_KEY for a dashboard key. The playground pre-fills auth for the same path.
Why product researchers pick Social Fetch over DIY Reddit scraping
- No OAuth dance or Reddit app approval — one x-api-key header, same as every other platform we support.
- Subreddit names are case-sensitive and we won't silently fix SaaS → saas for you. Check the name in the URL bar before you bulk-query.
- Pagination: hasMore + nextCursor, not "here are 25 results, good luck guessing if there's a page 2."
- One credit balance for cross-platform studies — run Reddit sentiment alongside TikTok hashtag monitoring without a second vendor contract.
- Pay-as-you-go credits, no required subscription. Research sprints are bursty; your billing shouldn't assume steady state — optional monthly plans when volume is predictable.
- Completed lookups charge even when results are empty or not_found — the upstream ran. lookup_failed and 503 temporarily_unavailable do not charge.
- Public data only. You're responsible for lawful use; we don't help you evade platform rules or scrape private subreddits.
- Same JSON envelope as Instagram and X search — if you've already wired alerting on lookupStatus, Reddit drops in without a second parser.
Run a reddit research lookup on free credits
100 credits on signup — run the curl above, inspect lookupStatus and meta.creditsCharged, then buy a pack when ready. Balances do not expire.