Reddit API

Reddit User comments API

List a Reddit user's comments by username, sorted by new, top, hot, or controversial, with the parent post title and subreddit on every item and cursor pagination. Comment text may be truncated to a roughly 300-character preview, and this endpoint carries no per-comment permalink; use reddit.post_comments for full comment bodies and comment URLs on a given post.

$0.60/1k req, pay per request, no subscription.

What the API returnedcomments[0]
{
"id":ย "lq9m2f",
"author":ย "night_owl_reads",
"bodyPreview":ย "I felt the same way about the pacing in the third act, but I think that was intentional. The author slows everything down right before the reveal so the payoff hits harder. Worth pushing through if you were tempted to put it down.",
"score":ย 214,
"createdUtc":ย 1717502400,
"postId":ย "1gk8p3",
"postTitle":ย "Just finished Piranesi and I have questions",
"subreddit":ย "books"
}
Uptime
64.17%
30d ยท 3,090 calls
Requests
3,095
30d ยท weekly, last 12 wks
Response
1.3s
median ยท 30d

Pricing and providers

Reddit User comments API pricing: one API, 3 interchangeable providers

The cheapest provider serves first. If it fails, the next one takes over in the same call.

You pay
$6.00
$0.60/1k req, only for what you use. No monthly plan.
Your first 166 requests are free with the $0.10 starting balance.

Try it

Get Reddit user comments in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 12 of 13 fields. See every field

{
  "found": true,
  "data": {
    "comments": [
      {
        "id": "lq9m2f",
        "author": "night_owl_reads",
        "bodyPreview": "I felt the same way about the pacing in the third act, but I think that was intentional. The author slows everything down right before the reveal so the payoff hits harder. Worth pushing through if you were tempted to put it down.",
        "score": 214,
        "createdUtc": 1717502400,
        "postId": "1gk8p3",
        "postTitle": "Just finished Piranesi and I have questions",
        "subreddit": "books"
      },
      {
        "id": "lq7k1d",
        "author": "night_owl_reads",
        "bodyPreview": "Try the library hold system if your branch has Libby. I got through the whole trilogy on audiobook that way without spending anything, and the narrator for book two is genuinely one of the best I have heard.",
        "score": 58,
        "createdUtc": 1717480800,
        "postId": "1gk4j9",
        "postTitle": "Budget friendly ways to get into audiobooks?",
        "subreddit": "audiobooks"
      },
      {
        "id": "lq5f8a",
        "author": "night_owl_reads",
        "bodyPreview": "",
        "score": 9,
        "createdUtc": 1717462200,
        "postId": "1gk2m1",
        "postTitle": "Weekly what are you reading thread",
        "subreddit": "u_night_owl_reads"
      }
    ],
    "nextCursor": "t1_lq3d2z"
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-31 ยท uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • usernamestring

    night_owl_reads

    Reddit username, without the u/ prefix. Example: "spez".

  • cursorstring

    Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it back to fetch the next page.

  • limitinteger

    25

    Page size to ask for (up to 100, default 25). Some sources honor it; others always return their whole page of about 25 comments. A page is never trimmed after the call, so pass nextCursor back as cursor to continue exactly where this response ended.

  • sortenum

    new

    Sort order for the user's comments. Defaults to new (most recent first).

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each commentdata.comments[]

The user's comments in feed order (newest first by default). Each item carries the comment text, which may be truncated to a preview, plus the parent post it was made on; there is no per-comment permalink available from this endpoint. Populated whenever the provider has data for the entity.

  • authorstring

    night_owl_reads

    Commenter username, without the u/ prefix. Populated whenever the provider has data for the entity.

  • bodyPreviewstring

    I felt the same way about the pacing in the third act, but I think that was intentional. The author slows everything down right before the reveal so the payoff hits harder. Worth pushing through if you were tempted to put it down.

    The comment text. Depending on the source it is either the full comment body in Markdown or a plain-text preview truncated to roughly 300 characters, cut mid-word. It is empty on the occasional comment for which the upstream returns no text at all. For guaranteed full comment bodies and comment permalinks, use the reddit.post_comments SKU against the parent post.

  • createdUtcnumber

    1717502400

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • idstring

    lq9m2f

    Reddit comment ID (base-36, without the t1_ prefix). Populated whenever the provider has data for the entity.

  • postIdstring

    1gk8p3

    Reddit post ID of the thread the comment was made on (base-36, without the t3_ prefix). Pass it to reddit.post or reddit.post_comments for the full thread. Populated whenever the provider has data for the entity.

  • postTitlestring

    Just finished Piranesi and I have questions

    Title of the thread the comment was made on. Populated whenever the provider has data for the entity.

  • scoreinteger

    214

    Net score (upvotes minus downvotes) on the comment at fetch time.

  • subredditstring

    books

    Subreddit name of the parent thread, without the r/ prefix. Empty when the comment is on a post hosted on a user's own profile (r/u_<name>), which has no subreddit.

datadata

One page of the user's comments, or null when the user was not found.

  • nextCursorstring

    t1_lq3d2z

    Opaque cursor for the next page of this user's comments; pass it back as the `cursor` input to fetch the following page. Null when there are no more pages.

top level
  • foundboolean

    true

    Whether the user's comment history was returned.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the Reddit User comments API

The AnyAPI Reddit User comments API returns Reddit user comments data as normalized JSON from one POST call to /v1/run/reddit.user_comments. List a Reddit user's comments by username, sorted by new, top, hot, or controversial, with the parent post title and subreddit on every item and cursor pagination. Comment text may be truncated to a roughly 300-character preview, and this endpoint carries no per-comment permalink; use reddit.post_comments for full comment bodies and comment URLs on a given post. AnyAPI routes each request across 3 sources and falls back automatically when one fails. It costs from $0.60 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 64.2% of Reddit user comments calls through AnyAPI succeeded, with a median response time of 1.3 seconds across 3,090 measured calls.

It costs from $0.60 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

List a Reddit user's comments by username, sorted by new, top, hot, or controversial, with the parent post title and subreddit on every item and cursor pagination. Comment text may be truncated to a roughly 300-character preview, and this endpoint carries no per-comment permalink; use reddit.post_comments for full comment bodies and comment URLs on a given post. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 64.2% of Reddit user comments calls through AnyAPI succeeded, with a median response time of 1.3 seconds across 3,090 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers 166 Reddit User comments calls at $0.0006 each.

AnyAPI asks the next of its 3 sources in the same request, cheapest first, so one source going down does not fail your call.

Send a POST request to https://api.getanyapi.com/v1/run/reddit.user_comments with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.