Get Reddit Post Comments by Permalink
Fetch the full comment tree for a Reddit post by permalink, every top-level comment, nested reply, upvotes, and author metadata in one HTTP GET call.
/api/reddit/comments$0.002 / callFull comment tree for a post by permalink. Returns a clean wrapper with the post, native Reddit comment tree nodes, and a pagination cursor.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
permalink | string | Yes | Post permalink (e.g. /r/X/comments/abc/title/) |
Example
curl -H "Authorization: Bearer $TOKEN" \
"https://api.redditapis.com/api/reddit/comments?permalink=/r/ClaudeCode/comments/1sgjld3/"const response = await fetch(
"https://api.redditapis.com/api/reddit/comments?permalink=/r/ClaudeCode/comments/1sgjld3/",
{ headers: { Authorization: "Bearer TOKEN" } }
);import requests
response = requests.get(
"https://api.redditapis.com/api/reddit/comments",
params={"permalink": "/r/ClaudeCode/comments/1sgjld3/"},
headers={"Authorization": "Bearer TOKEN"},
)Response Shape
{
"post": { "...": "same post shape as /api/reddit/post/:id" },
"comments": [
{
"kind": "t1",
"data": { "id": "abc", "body": "...", "author": "user123" }
}
],
"after": null
}comments is Reddit's native comment tree, each node has kind: "t1" and data.replies containing child comments. post follows the posts field shape.
after is always empty here, and it means nothing
A comment thread is not a paged listing. Reddit gives no usable cursor for one,
so after comes back null on a four-comment thread and on a four-thousand
comment thread alike. If you read it the way you read a listing cursor, every
thread looks complete.
The response tells you what it actually knows, in two extra fields:
| Field | Values | Meaning |
|---|---|---|
listing_status | truncated | unknown | Never complete. Without a cursor to page, we will not claim you have the whole thread. |
exhausted_reason | comment_tree_more | comment_tree | comment_tree_more means Reddit marked a branch as cut short, so there are definitely comments you did not get. comment_tree means we saw no such marker, which is not proof the thread is whole. |
A cut-short branch appears in comments as a node with kind: "more", carrying
the ids of what was left out. See fetching by post id
for how to read those.
Fetch by post ID instead of permalink
If you already have the post ID and not the full permalink, call the ID form. It returns the exact same response shape at the same price, so you never have to build a permalink just to read a thread.
/api/reddit/comments/{postId}$0.002 / call| Parameter | Type | Required | Description |
|---|---|---|---|
postId | string | Yes | Reddit post id (e.g. 1sgjld3) |
curl -H "Authorization: Bearer $TOKEN" \
"https://api.redditapis.com/api/reddit/comments/1sgjld3"This is an alias of GET /api/reddit/post/{postId}/comments, both run the same
handler. All three of these return the same thing:
| URL shape | Use when |
|---|---|
GET /api/reddit/comments?permalink=/r/{sub}/comments/{postId}/ | You have the permalink |
GET /api/reddit/post/{postId}/comments | You have the post ID |
GET /api/reddit/comments/{postId} | You have the post ID |
Adding the ID form did not change the permalink form above; it still works exactly as documented, and existing integrations need no changes.
Independent third-party API for developers and researchers. Not affiliated with, endorsed by, or sponsored by Reddit, Inc.
Bulk posts by ID (up to 100)
Bulk-fetch posts by comma-separated t3_ fullnames, up to 100 per call. Hydrate post IDs you already have, or backfill fields, without one request per post.
Comment Tree by Post ID
Fetch a Reddit post together with its full comment tree using only the post id. No permalink to build, same response shape and same price as the permalink form.
