100 free credits. No credit card required.Start building
Logo
Reddit logoReddit API

Scrape public Reddit data with one API

Fetch public Reddit data as structured JSON with one SocialCrawl API key. Same Post, Comment, and Author schema as every other platform. Reads are priced in credits.

Reddit logo
/v1/reddit

8 active endpoints. 1 VoC composite.

  • GET /v1/reddit/subreddit
  • GET /v1/reddit/subreddit/details
  • GET /v1/reddit/search
  • GET /v1/reddit/subreddit/search
  • GET /v1/reddit/post
  • GET /v1/reddit/post/comments
  • GET /v1/reddit/post/transcript
  • GET /v1/reddit/omni-search

What Reddit endpoints does SocialCrawl ship?

Eight live read endpoints for public Reddit data. Community cards, feeds, search, post bodies, nested comment trees, video captions when published, and one metered omni-search. Data API only. No voting, mod tools, or private subreddits.

/v1/reddit/subreddit

Posts from a community: title, score, upvote ratio, comments, author, flair, permalink. Sort best, hot, new, top, or rising.

subreddit, sort, timeframe, after

/v1/reddit/subreddit/details

Community card: subscribers, active users, description, rules, icon. Name is case-sensitive (AskReddit, not askreddit).

subreddit or url

Site search

1 credit
/v1/reddit/search

Keyword search across Reddit. Titles, scores, comment counts, subreddits, permalinks. Paginate with after.

query, sort, timeframe, after

/v1/reddit/subreddit/search

Search inside one subreddit. Same post list shape as site search, scoped to the community.

subreddit, query, sort, timeframe

Post body

1 credit
/v1/reddit/post

One post by full URL, including selftext. content.text is title plus body; ext.title and ext.selftext split them. Link posts return null selftext.

url

Comment tree

5 credits
/v1/reddit/post/comments

Full nested comment tree in one call. Server expands load-more branches. Truncation surfaces as data.truncated and ext.replies_cursor.

url, cursor, trim

/v1/reddit/post/transcript

VTT captions when Reddit exposes them on a video or v.redd.it URL. Not speech-to-text. Empty captions refund (no charge).

url, language

Omni search

metered, min 5 credits
/v1/reddit/omni-search

One keyword in: search pages, top threads with comments expanded, subreddit volume and tone rollup. Sync JSON or SSE. 1 credit per search page plus 1 per expanded thread, minimum 5. Honest latency: about 10-12s.

Legs: site search, expand top threads (1-8), comments inline, subreddit volume and tone. Failed threads are not billed. SSE when Accept is text/event-stream.

Reddit API8 endpoints supported
View docs

Returns posts from a subreddit, each with title, score, upvote ratio, comment count, author, flair, permalink, and creation timestamp.

Use it to read a community's feed, noting timeframe works only with sort=top, which is auto-selected when you omit sort; subreddit/search filters that same community by keyword.

1 credit

GET/v1/reddit/subreddit?subreddit=technology

subreddit · Subreddit name without the r/ prefix

$ curl https://www.socialcrawl.dev/v1/reddit/subreddit?subreddit=technology \
    -H "x-api-key: sc_YOUR_API_KEY"
idle
// Running this live needs your own API key. Hit "Try it" to see an example response

How the Reddit API works

Reddit is a normal SocialCrawl social surface. You call GET /v1/reddit/… with an API key, spend credits on live misses, and get a single JSON envelope back. No Reddit OAuth. No second SDK.

Authenticate every call

Send your key in the x-api-key header. No Reddit OAuth app, no PRAW secrets. The same key works for TikTok, Instagram, Truth Social, and the rest of the catalog.

GET with query params

All Reddit routes are GET. Pass subreddit, query, url, sort, timeframe, after, or cursor as query strings. We validate formats before charging.

Pay in credits, not seats

Standard reads cost 1 credit. Comment trees cost 5. Transcripts cost 10 when captions exist. Omni-search is metered with a 5-credit floor. Cache hits cost 0. Empty or hard failures refund.

Read one JSON envelope

Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached. Lists also carry pagination (after, cursor, has_more, truncated).

The usual integration chain

Most products do not call every endpoint on every tick. They resolve a community, poll the feed, then deepen only when a post matters.

01Community
GET /v1/reddit/subreddit/details?subreddit=…

Author-shaped community: subscribers, activity, rules, icon

Resolve the subreddit once. Canonical casing matters here.

02Feed
GET /v1/reddit/subreddit?subreddit=…&sort=top&timeframe=week

PostList: items[] with title, score, comments, post.url

Page with after. Optional trim for a smaller payload.

03Post body
GET /v1/reddit/post?url=…

Full Post including selftext on text posts

Search and feed titles are not enough when you need the body.

04Comments
GET /v1/reddit/post/comments?url=…

CommentList with recursive replies[]

One advanced call expands the tree instead of you chasing load-more.

request
GET /v1/reddit/subreddit
  ?subreddit=technology
  &sort=top
  &timeframe=week
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here

# deepen a post from the feed
GET /v1/reddit/post?url=https://www.reddit.com/r/…/comments/…
GET /v1/reddit/post/comments?url=…
response envelope
{
  "success": true,
  "data": {
    "items": [
      {
        "post": {
          "id": "1abc234",
          "url": "https://www.reddit.com/r/technology/comments/…",
          "content": { "text": "Example title" },
          "engagement": { "likes": 4200, "comments": 318 },
          "ext": {
            "subreddit": "technology",
            "upvote_ratio": 0.94
          }
        }
      }
    ]
  },
  "credits_used": 1,
  "credits_remaining": 9999,
  "request_id": "req_…",
  "cached": false
}

What lands in data

Field names match the rest of SocialCrawl. If you already parse TikTok or X posts, you parse Reddit the same way.

Authorsubreddit/details

id, username (subreddit name), display_name, avatar_url, bio, followers (subscribers), url, ext (rules, active users)

PostList / Postsubreddit, search, post

items[].post with id, url, content.text, engagement (likes/score, comments), author, published_at, ext (subreddit, upvote_ratio, flair, selftext)

CommentListpost/comments

items[] with author, content.text, engagement, published_at, replies[], ext.replies_cursor; data.truncated when more remains

Transcript / Analyticstranscript, omni-search

transcript + raw_vtt, or omni rollup: threads, nested comments, subreddit volume and tone

Inside the gateway

Same request lifecycle as every other /v1 platform endpoint. Reddit is not a sidecar.

  1. 01

    Edge receives the call

    Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit (600/min) and concurrency (50 in flight per key).

  2. 02

    Validate, then debit

    Registry lookup finds reddit/subreddit (or search, post, comments). Required params and URL/subreddit format checks run first. Invalid input returns 400 with no charge. Valid calls debit the tier cost atomically before upstream work.

  3. 03

    Cache or fetch

    A deterministic cache key is built from platform + resource + params. Hit: return immediately, credits_used = 0. Miss: the read runs live against Reddit's public surface. Retries on 5xx/network with a circuit breaker if the source is unhealthy.

  4. 04

    Normalize and return

    Upstream JSON is mapped to Author / Post / PostList / CommentList / Transcript, IDs stripped of t1_/t3_ prefixes where needed, validated against the canonical Zod schema, then wrapped in the success envelope and logged for billing audit.

Billing rules that matter in production

  • Standard live miss: 1 credit
  • Comment tree: 5 credits flat
  • Transcript: 10 credits if captions exist
  • Omni-search: metered, min 5
  • Cache hit: 0 credits
  • Empty / hard fail: auto-refund
  • Bad params: 400, never charged
  • No credits: 402, never charged
  • Disabled ads routes: 503, never charged

How we get the data

Reddit is public-read social data. We normalize it into the SocialCrawl schema so your code does not learn Reddit thing kinds or a second OAuth flow.

What Reddit is for this API

Public communities, posts, and threaded comments. Read-only surface for research, monitoring, and product jobs. No vote, mod, or private subreddit access.

How SocialCrawl reaches it

Feeds, search, comments, post detail, transcripts, and omni legs are read live on request and normalized at our edge before they reach you. How a lane is sourced can change without notice; your call signature and the envelope do not.

What leaves our edge

A unified JSON envelope: success, data, credits_used, request_id, cached. Subreddits become Author objects. Posts and comments share the same leaves as TikTok or X records where the archetypes align.

What we do not ship live

No write endpoints. No user-profile or user-posts routes. Ads (ad, ads/search) stay registered but disabled after upstream failures. Transcripts only when Reddit publishes VTT captions.

field map sketch
subreddit / communityauthor.*name, subscribers, description, rules, icon
submission title + selftextpost.content.text + ext.*score, upvote_ratio, comments, flair, subreddit
comment tree / more childrenCommentList + replies[]server expands load-more; truncated when budget ends

What this API is used for

The jobs this API is most often used for.

8active Reddit endpoints in the registry
1 / 5 / 10credit ladder for standard, comments, transcript

Community monitoring and voice-of-customer sweeps

Callers concentrate on subreddit feeds, keyword search, and post to comments chains. Omni-search shows up when one keyword needs threads across many communities. Full comment trees at a flat 5 credits, post body by URL, and a metered VoC composite. No Reddit OAuth app.

Feed and detail calls are typically a few seconds on live miss. Reddit search and omni-search are the slowest social-read paths on the API (often 10-12s).

Use case examples

Common ways teams put this data to work, and the stack each one tends to run.

Community monitors

Python, cron, Slack bots

Poll hot or top on a fixed set of subreddits. subreddit plus optional details. Alerts when score or comment velocity jumps.

Voice-of-customer teams

Node, notebooks, BI loads

Keyword search or omni-search across Reddit, then expand post body and comment trees for brand, product, and competitor language.

Backend product jobs

Go, workers, Explorer

Wire community to feed to post to comments into pipelines. Cache hits keep recurring runs cheap. Same key as the rest of SocialCrawl.

Call it in two lines

Standard tier is one credit per live call. Cache hits are free. Comment trees and transcripts use the higher rungs.

curl "https://www.socialcrawl.dev/v1/reddit/subreddit?subreddit=technology&sort=top&timeframe=week" \
  -H "x-api-key: sc_your_api_key_here"
curl "https://www.socialcrawl.dev/v1/reddit/search?query=social+media+api&sort=relevance&timeframe=month" \
  -H "x-api-key: sc_your_api_key_here"
Reddit logoReddit on SocialCrawl

Same key as the rest of the catalog

Endpoints

What data does the Reddit API return?

Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.

Comparison

How does SocialCrawl compare to Official Reddit API for Reddit data?

Same Reddit data, two very different paths. Auth, rate limits, schema, and cost, side by side.

Authentication

SocialCrawl
One x-api-key header
Official Reddit API
OAuth 2.0 with client ID and secret

Setup / approval

SocialCrawl
Sign up and call immediately
Official Reddit API
Developer app registration; commercial use needs Reddit approval

Rate limits

SocialCrawl
Credit-based, pay per request
Official Reddit API
Tight per-client quotas; paid commercial tiers since 2023

Response schema

SocialCrawl
Unified JSON shared across 51 platforms
Official Reddit API
Reddit 'thing' objects with kind prefixes you parse yourself

Pricing

SocialCrawl
1 credit per request (5 for comment threads, 10 for video transcripts); 100 free credits
Official Reddit API
Free for low volume; 2023 commercial pricing broke most third-party apps

Data coverage

SocialCrawl
Subreddits, search, comments, transcripts: read-only public data
Official Reddit API
Full read/write including posting, voting, and mod tools

Maintenance

SocialCrawl
Schema stays stable when Reddit changes internals
Official Reddit API
You maintain OAuth token refresh and policy compliance
FAQ

Have a question? We got answers

Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.

Contact us
How do I scrape Reddit data with an API?
SocialCrawl provides 8 Reddit API endpoints, including subreddit posts, subreddit details, site-wide search, post comments, in-subreddit search, and video post transcripts. Send a GET request with x-api-key. No Reddit developer app, no OAuth, no PRAW setup required.
What Reddit endpoints does SocialCrawl offer?
8 endpoints, including: list subreddit posts, fetch subreddit details (subscribers, rules, icon), search Reddit posts site-wide, list threaded post comments, search within a subreddit, pull the transcript of any Reddit video post, and run an AI omni-search across Reddit.
How much does the Reddit API cost?
Most Reddit endpoints cost 1 credit on the standard tier. Threaded post comments cost 5 credits because that call auto-expands the entire comment tree, and video post transcripts cost 10 credits on the premium tier because transcription runs heavier work. New accounts get 100 free credits with no credit card required, enough to test every endpoint at least once.
Do I need a Reddit developer app or OAuth token?
No. SocialCrawl works without a Reddit developer account, client ID, client secret, or OAuth refresh token. Pass your SocialCrawl x-api-key and the subreddit name or URL. The response comes back in a unified schema that matches every other platform.
Is this an alternative to the official Reddit API?
Yes. After Reddit's 2023 pricing changes broke most third-party tooling, SocialCrawl gives you a flat-rate, PRAW-style alternative for reading public Reddit data. No rate-limit negotiation, no OAuth dance, and the same schema on every call.
What is the best Reddit scraper API?
SocialCrawl is a practical pick for reading public Reddit data: 8 endpoints, including subreddit feeds, subreddit details, site-wide and in-subreddit search, threaded comments, and video transcripts. Most calls cost 1 credit, threaded comments cost 5, transcripts cost 10, and new accounts get 100 free credits, no OAuth app, client secret, or PRAW setup needed.
Is there a Reddit data API for reading public posts?
Yes. SocialCrawl is a Reddit data API that reads public Reddit without a developer app. The official Reddit API is solid for account actions and moderation, but since the 2023 pricing changes its commercial tiers and OAuth quotas make bulk public reads painful. SocialCrawl instead returns subreddit feeds, subreddit details, site-wide and in-subreddit search, threaded comments, and video transcripts as unified JSON, most calls at 1 credit, with 100 free credits on signup.
Is scraping Reddit data legal?
SocialCrawl returns publicly available Reddit data and does not access private or login-gated content. Whether scraping fits your project depends on your use case and jurisdiction. You are responsible for complying with Reddit's terms of service and applicable data-protection laws such as GDPR and CCPA. This is general information, not legal advice.

Ask AI about SocialCrawl

Read the Reddit API reference in the docs

🤖 AI agent or LLM? Read this page as markdown