RedditapisRedditapis
Posts

Get a Single Reddit Comment by ID

Fetch one Reddit comment by its id, with body, author, score, and the ids of its parent and post. No need to walk a whole thread to read one comment.

GET/api/reddit/comment/{id}$0.002 / call

One comment, by id.

Reach for this when you already know which comment you want. Reading it through /api/reddit/post/{id}/comments means pulling a whole thread and searching it, and a deep or busy thread may not even include the comment you are after in the first 100 nodes. This resolves the comment directly through Reddit's /api/info lookup on its t1_ fullname.

If you need to check many comments at once, do not loop this route. Batch verify takes up to 100 ids in one call at the same flat $0.002, so 100 comments cost one charge here instead of 100.

Path Parameters

ParameterTypeRequiredDescription
idstringYesReddit comment id (e.g. ox8s0jv)

Send the bare id, not the fullname. The t1_ prefix is added for you before the upstream lookup, so t1_ox8s0jv fails validation and returns a 400: the underscore is not a legal character in the id shape. This differs from batch verify, which does accept both forms and even a mix of them. If you are moving code from one route to the other, strip the prefix.

Uppercase is accepted and lowercased for you, so an id pasted out of a URL bar works.

Example

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.redditapis.com/api/reddit/comment/ox8s0jv"
const response = await fetch(
  "https://api.redditapis.com/api/reddit/comment/ox8s0jv",
  { headers: { Authorization: "Bearer TOKEN" } }
);
import requests

response = requests.get(
    "https://api.redditapis.com/api/reddit/comment/ox8s0jv",
    headers={"Authorization": "Bearer TOKEN"},
)

Response Shape

{
  "comment": {
    "kind": "t1",
    "data": {
      "id": "ox8s0jv",
      "body": "...",
      "author": "beagle-ears",
      "subreddit": "ClaudeCode",
      "ups": 1185,
      "link_id": "t3_1uv6ns4",
      "parent_id": "t3_1uv6ns4",
      "replies": "",
      "created_utc": 1775736000
    }
  }
}

comment is a single node in Reddit's native comment format, the same shape the tree endpoints return for a kind: "t1" node, so the fields are unchanged from what you would find by walking a thread.

Two fields are worth knowing. link_id is the fullname of the post the comment sits on, so stripping the t3_ gives you a post id you can pass straight to /api/reddit/post/{id}/comments. parent_id is what the comment replies to: a t3_ fullname means it is top-level, a t1_ fullname means it replies to another comment.

replies behaves as it does in the tree endpoints. It is an empty string "" when there are no replies, and a nested Listing object when there are.

Fetching what a more node hides

The comment tree endpoints cap out at 100 comments and represent the rest as a more node carrying a children array of ids. Those ids resolve here. Take an id out of children, request it, and you get the full comment back, which is how you reach past the 100-comment ceiling on a busy thread one comment at a time.

For more than a handful, batch verify is the cheaper path.

Errors

StatusMeaning
400id is not a valid Reddit id (letters and digits, 1-16 characters, no t1_ prefix)
401Missing Bearer token
403Invalid Bearer token
404No comment resolves to that id, whether it never existed or was purged
500Unexpected server error

Independent third-party API for developers and researchers. Not affiliated with, endorsed by, or sponsored by Reddit, Inc.

On this page