Reddit hub

Reddit comments API

Pass a public Reddit post URL and get the comment tree — text, authors, scores, nested replies — with cursor pagination in the shared Social Fetch envelope.

GET /v1/reddit/posts/comments

1 credit per successful request.

About this endpoint

Research and brand jobs often care more about the thread than the submission. A product launch post in r/SaaS, a complaint under a viral AskReddit thread, a vendor name buried three replies deep — that is the signal. You already have a permalink; you need structured comments without scraping old.reddit HTML or babysitting Reddit OAuth rate limits for a one-off pull.

`GET /v1/reddit/posts/comments` takes a required public post `url` and an optional opaque `cursor`. On a completed lookup, branch on `data.lookupStatus`, then read `data.post`, `data.comments`, and `data.page`. Each comment can include id, url, permalink, parentId, author, text, renderedHtml, score, upvotes, createdAt, createdUtc, depth, isSubmitter, stickied, locked, and distinguished. Nested replies live under `replies.items`, with their own `replies.page.nextCursor` / `hasMore` when the reply page continues. Top-level paging uses `data.page`; pass either cursor as the `cursor` query param on the next call. Bill from `meta.creditsCharged`.

This route is comment listing for one post. Post metadata alone is `GET /v1/reddit/posts`. A community feed is `GET /v1/reddit/subreddits/{subreddit}/posts`. Site-wide keyword search is `GET /v1/reddit/search`. Pricing is on the credit badge for this operation; bill from `meta.creditsCharged` on every response.

Reddit comments API FAQ

How do I list Reddit post comments via API?

Call GET /v1/reddit/posts/comments with your Social Fetch API key (x-api-key) and a public Reddit post url query param. Read data.lookupStatus, then data.post, data.comments, and data.page. Full parameters and examples are in the API docs.

How much does the Reddit comments endpoint 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.

How does pagination work on Reddit post comments?

Top-level pages expose data.page.nextCursor and data.page.hasMore. Nested replies expose replies.page on each comment. When hasMore is true, pass that nextCursor as the cursor query param on the next request. Cursors are opaque — do not invent or parse them.

What fields are in each Reddit comment?

Items can include id, url, permalink, parentId, author, text, renderedHtml, score, upvotes, createdAt (ISO-8601), createdUtc, depth, isSubmitter, stickied, locked, distinguished, and a replies object with items and page when Reddit returns nested replies.

What does data.post include on a comments response?

When lookupStatus is found, data.post can include id, title, url, permalink, subreddit, subredditNamePrefixed, author, score, upvoteRatio, commentCount, createdAt, createdUtc, over18, locked, and stickied. It is null on not_found.

Reddit comments vs post detail vs subreddit posts?

Use this route for the comment tree on one known post URL. Use GET /v1/reddit/posts for post detail without walking comments. Use GET /v1/reddit/subreddits/{subreddit}/posts for a community feed. They are separate operations on the Reddit hub.

Does a found lookup always return comments?

No. lookupStatus of found means the post resolved. data.comments can still be an empty array when there are no comments or none were returned for that page. You still pay the credit for a completed lookup. Missing or unresolved posts return not_found with an empty list.

Do I need Reddit OAuth to pull post comments?

No. You authenticate to Social Fetch with an API key. The route reads public post threads; it does not act on behalf of a logged-in Reddit user or open private subreddits.