# List the comments on a Reddit post

Returns the comments on a Reddit post, with author, score and replies in thread order. Use it to read how a community reacts to a post.

Tool `reddit.post.comments` on Reddit. Contract version 1, released 2026-10-30.

## Example call

Over REST, send the input in the body. Over MCP, pass the same input to `call_tool`.

cURL:

```bash
curl https://api.voxoria.ai/v1/tools/reddit.post.comments/calls \
  -H "Authorization: Bearer $VOXORIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"url":"https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/"}}'
```

Python:

```python
import os

import httpx

response = httpx.post(
    "https://api.voxoria.ai/v1/tools/reddit.post.comments/calls",
    headers={"Authorization": f"Bearer {os.environ['VOXORIA_API_KEY']}"},
    json={
        "input": {
            "url": "https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/",
        },
    },
    timeout=60,
)
print(response.json())
```

TypeScript:

```ts
const response = await fetch("https://api.voxoria.ai/v1/tools/reddit.post.comments/calls", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VOXORIA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "input": {
      "url": "https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/",
    },
  }),
});
console.log(await response.json());
```

MCP (`tools/call` params):

```json
{
  "name": "call_tool",
  "arguments": {
    "tool": "reddit.post.comments",
    "input": {
      "url": "https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/"
    }
  }
}
```

Both return [the full response](/docs/call-response.md): the call's ID, status and cost, with this tool's result in `output`.

## Input

| Input | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `url` | string | Yes |  | Address of the post, https://www.reddit.com/r/<subreddit>/comments/<post id>/, as the url of a post from reddit.search.posts. reddit.com, old.reddit.com and new.reddit.com work too, over http or https, with or without the title slug, trailing slash, query string or fragment. A redd.it short link does not. Format `uri`. Matches `^https?://(?:(?:www\|old\|new)\.)?reddit\.com/r/([A-Za-z0-9_]{2,21})/comments/([a-z0-9]{1,20})(?:/[A-Za-z0-9_-]*)?/?(?:[?#]\S*)?$`. |
| `sort` | string | No |  | Order of the comments: best (Reddit's ranking), top (highest score), new, controversial or old. Left out, the order the post's subreddit suggests. One of `best`, `top`, `new`, `controversial`, `old`. |
| `include_replies` | boolean | No | `true` | Whether replies come too, each after the comment it answers. False returns top-level comments only. Either way, Reddit leaves out the branches it collapses on a large thread. |
| `next_page_token` | string | No |  | Fetches the next page. Take it from pagination.next_page_token of the previous page, and send the same url, sort and include_replies. |

## Output

A successful call returns these blocks in its `output`. A field not marked required can be `null`.

### comments

A list of rows. Always present, possibly empty. The post's comments in thread order.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | Yes | Reddit's full name of the comment, t1_ followed by its id. |
| `url` | string | No | Address of the comment on www.reddit.com. Format `uri`. |
| `text` | string | No | What the comment says, in Markdown. |
| `html` | string | No | What the comment says, as HTML. |
| `published_at` | string | No | When the comment was posted, in ISO 8601. |
| `author_id` | string | No | Reddit's full name of the author's account, t2_ followed by its id. |
| `author_username` | string | No | The author's username, without u/. |
| `score` | integer | No | Upvotes minus downvotes, as Reddit shows it. Reddit fuzzes it slightly. |
| `depth` | integer | No | 0 for a comment on the post, 1 for a reply to one, and so on. |
| `parent_id` | string | No | Full name of the comment this one replies to. Null for a top-level comment. |

### pagination

One object. Can be `null`. How to fetch the next page. Null on the last page.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `next_page_token` | string | Yes | Send as next_page_token to fetch the next page. |

## Example output

The `output` of a real call, each list cut to 3 items.

```json
{
  "comments": [
    {
      "id": "t1_19rfr1194cckj",
      "url": "https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/19rfr1194cckj/",
      "text": "litellm again....!",
      "html": "<!-- SC_OFF --><div class=\"md\"><p>litellm again....!</p> </div><!-- SC_ON -->",
      "published_at": null,
      "author_id": null,
      "author_username": "Nice_Mix_1021",
      "score": null,
      "depth": null,
      "parent_id": null
    },
    {
      "id": "t1_19rfs64yjyzdx",
      "url": "https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/19rfs64yjyzdx/",
      "text": "Litellm is a vibe code piece of shit btw",
      "html": "<!-- SC_OFF --><div class=\"md\"><p>Litellm is a vibe code piece of shit btw </p> </div><!-- SC_ON -->",
      "published_at": null,
      "author_id": null,
      "author_username": "Jmc_da_boss",
      "score": null,
      "depth": null,
      "parent_id": null
    },
    {
      "id": "t1_19rfwew7ohacg",
      "url": "https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/19rfwew7ohacg/",
      "text": "I contributed to it once and holy shit their git flow was confusing, no idea how a human could even follow what is happening there",
      "html": "<!-- SC_OFF --><div class=\"md\"><p>I contributed to it once and holy shit their git flow was confusing, no idea how a human could even follow what is happening there</p> </div><!-- SC_ON -->",
      "published_at": null,
      "author_id": null,
      "author_username": "JoNike",
      "score": null,
      "depth": null,
      "parent_id": null
    }
  ],
  "pagination": null
}
```
