Reddit scraper API
Public subreddit metadata, posts, comments, search, and transcripts over REST — one API key, shared envelope.
Why teams use Social Fetch for Reddit
Social Fetch's Reddit tag is six REST routes. `GET /v1/reddit/subreddits` resolves community metadata. `GET /v1/reddit/subreddits/{subreddit}/posts` pages ranked feeds (`sort`: best, hot, new, top, rising; `timeframe`: day through all). `GET /v1/reddit/subreddits/search` searches inside one community. `GET /v1/reddit/search` is site-wide keyword search (required `query`, 1–512 chars).
`GET /v1/reddit/posts/comments` walks a comment tree with nested `replies.items` and independent cursors. `GET /v1/reddit/posts/transcript` returns `plainText` plus timed `segments` when Reddit exposes captions. Every route shares `x-api-key` and `{ data, meta }` — branch on `data.lookupStatus`, log `meta.requestId`, bill from `meta.creditsCharged`.
Public enrichment only: no posting, voting, DMs, or private/quarantined communities. For logged-in Reddit actions, use Reddit's Data API and OAuth.
What Reddit data can you get?
- Subreddit metadata by name or URL — description, rules, iconUrl/bannerUrl, subscribers, weeklyActiveUsers, weeklyContributions.
- Subreddit feed listing with sort (best/hot/new/top/rising) and timeframe (day–all), paged via data.page.nextCursor.
- In-community search — required subreddit, optional query, sort (relevance/hot/top/new/comments), timeframe.
- Site-wide keyword search across public posts — required query (1–512 chars), sortBy (relevance/new/top), timeframe.
- Comment trees for a known post URL — nested replies, depth, stickied/distinguished flags, independent top-level and reply cursors.
- Video post transcripts — plainText plus timed segments (startMs/endMs) when Reddit exposes a caption track.
- Shared Social Fetch envelope (lookupStatus, requestId, creditsCharged) so Reddit rows sit next to every other platform in one schema.
Reddit API endpoints
Routes from the live API catalog. Open an endpoint for parameters and examples — credit notes come from OpenAPI pricing extensions.
How to call the Reddit API
1. Create an API key
Sign up at Social Fetch and copy a key (`sfk_…`). New accounts get 100 free credits — enough to resolve a subreddit, page its feed, and pull one comment thread against live data.
2. Resolve, then page a feed
Start with `GET /v1/reddit/subreddits?subreddit={name}` for the community card, then `GET /v1/reddit/subreddits/{subreddit}/posts` for its ranked feed. Send `x-api-key` on every request; add `sort` and `timeframe` once the first page looks right.
3. Read the shared envelope
Branch on `data.lookupStatus` before you write a row. Log `meta.requestId` for support. Bill against `meta.creditsCharged` — that field is the source of truth for what each page actually cost.
How much does the Reddit API cost?
All six Reddit routes — subreddit lookup, subreddit posts, subreddit search, site-wide search, post comments, and post transcript — are priced as a flat 1 credit per successful request in the API registry; nothing on the Reddit tag currently uses a metered per-item formula. Paginated routes (subreddit posts, subreddit search, site-wide search, comments) bill each page separately, so a five-page pull is five billed calls, not one. `posts/transcript` still bills the credit when a post resolves but no caption track exists — `found` means the post was located, not that a transcript came back. Signup includes 100 free credits; always confirm against `meta.creditsCharged` on the response.
Social Fetch vs the official Reddit API
Reddit Data API is for apps that act as a Reddit user: OAuth, developer app, User-Agent, write access. High-volume commercial access got expensive in 2023. Social Fetch is read-only public enrichment behind a Social Fetch API key — no Reddit developer app, no OAuth.
Reddit API FAQ
Is there a Reddit API that doesn't need OAuth or a developer app?
Yes. Social Fetch's Reddit routes authenticate with a Social Fetch API key (x-api-key) only. You don't register a Reddit developer app, run Reddit's OAuth2 flow, or set a Reddit-compliant User-Agent — those are only required for Reddit's own Data API.
What Reddit data does Social Fetch cover?
Six routes: subreddit metadata (GET /v1/reddit/subreddits), a subreddit's feed (GET /v1/reddit/subreddits/{subreddit}/posts), search inside a subreddit (GET /v1/reddit/subreddits/search), site-wide post search (GET /v1/reddit/search), a post's comment tree (GET /v1/reddit/posts/comments), and a video post transcript (GET /v1/reddit/posts/transcript). Exact params and response fields are on each endpoint page linked from this hub.
How do I look up a subreddit by name?
Call GET /v1/reddit/subreddits with a subreddit query param (Reddit's exact casing, r/ prefix optional) or a url. Read data.lookupStatus, then data.subreddit (description, rules, iconUrl, bannerUrl, advertiserCategory) and data.metrics (subscribers, weeklyActiveUsers, weeklyContributions).
How do I list a subreddit's posts, and can I sort them?
Call GET /v1/reddit/subreddits/{subreddit}/posts with optional sort (best, hot, new, top, rising) and timeframe (day through all). Page with data.page.nextCursor while data.page.hasMore is true, keeping sort and timeframe stable across pages.
Subreddit search vs site-wide search vs the subreddit feed — what's the difference?
GET /v1/reddit/subreddits/search needs a known subreddit and an optional query, for when you're scoped to one community. GET /v1/reddit/search is site-wide keyword search (required query, 1–512 characters) for when a phrase could show up in any subreddit. GET /v1/reddit/subreddits/{subreddit}/posts is that community's ranked feed with no search query at all. Pick by whether you already know the community and whether you have a keyword.
Can I pull a Reddit post's comment thread?
Yes. GET /v1/reddit/posts/comments takes a public post url and returns data.post plus data.comments — text, author, score, depth, isSubmitter, stickied, distinguished, and nested replies.items. Top-level pages use data.page.nextCursor; each comment's replies.page paginates independently.
Can I get a transcript for a Reddit video post?
Yes, when Reddit exposes a caption track. GET /v1/reddit/posts/transcript takes a post permalink or hosted video url and an optional language (ISO 639-1). data.transcript is { plainText, language, segments } on a hit, or null when the post resolves but no captions exist — check data.lookupStatus before assuming text arrived.
How much does the Reddit API cost?
All six Reddit routes are flat 1 credit per successful request, per the API registry. Paginated routes (subreddit posts, subreddit search, site-wide search, comments) bill each page you fetch separately. Confirm every call against meta.creditsCharged; new accounts start with 100 free credits.
Reddit's official Data API vs Social Fetch — what's the actual difference?
Reddit Data API is for apps that act as a Reddit user: OAuth, developer app, User-Agent, write access. High-volume commercial access got expensive in 2023. Social Fetch is read-only public enrichment behind a Social Fetch API key — no Reddit developer account.
Can I access private subreddits, quarantined communities, or Reddit DMs?
No. Every Reddit route reads publicly visible subreddits, posts, and comments only. Private communities, quarantined subreddits you're not opted into, chat, and a user's own inbox are out of scope — there is no logged-in Reddit session behind any of these calls.
Start with Reddit data
Create an account, spend the 100 free credits on live Reddit routes, then buy a pack when the JSON fits your pipeline. Credits do not expire on pay-as-you-go packs.