YepAPI
Reddit API

Reddit User Comments API

Reddit User Comments API — list the comments a Reddit account has posted, sorted by new, hot, or top, with the post each one replies to. JSON, $0.01 per call.

POST/v1/reddit/user-comments
$0.01/call

The Reddit User Comments API returns the comments a Reddit account has made, newest first by default. Switch sort to hot or top (with a time window) to find the account's most popular comments. Profile details are on the Reddit User API.

Usage

const res = await fetch('https://api.yepapi.com/v1/reddit/user-comments', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"username": "spez"}),
});
const { data } = await res.json();
console.log(data);
curl -X POST https://api.yepapi.com/v1/reddit/user-comments \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "spez"}'
import requests

res = requests.post(
    "https://api.yepapi.com/v1/reddit/user-comments",
    headers={"x-api-key": "YOUR_API_KEY"},
    json={"username": "spez"},
)
print(res.json()["data"])

Request Body

ParameterTypeRequiredDescriptionDefault
usernamestringYesReddit username — spez, u/spez, or a reddit.com/user/spez URL (3–20 characters)—
sortstringNoOne of: new, hot, topnew
timestringNoTime window, only used with sort: "top". One of: hour, day, week, month, year, allday
cursorstringNocursor from the previous response, to fetch the next page—

Response

{
  "ok": true,
  "data": {
    "comments": [
      {
        "author": "spez",
        "body": "Pretty simple. For people who are already coming to Reddit every week, we have to give them a reason to come back everyday. If you come for sports and entertainment, or food and fashion, or new and tr…",
        "created_at": "2026-10-29T22:42:06+00:00",
        "created_utc": 1793313726,
        "edited": false,
        "id": "19ruo33ofgh8i",
        "is_submitter": false,
        "name": "t1_19ruo33ofgh8i",
        "parent_id": "t1_19rui7whi24p1",
        "permalink": "https://www.reddit.com/r/RDDT/comments/1xiupuc/reddit_announces_q326_earnings_plus_ama/19ruo33ofgh8i/",
        "post_id": "t3_1xiupuc",
        "post_title": "Reddit Announces Q3’26 Earnings (plus AMA!)",
        "post_url": "https://www.reddit.com/r/RDDT/comments/1xiupuc/reddit_announces_q326_earnings_plus_ama/",
        "score": -6,
        "stickied": false,
        "subreddit": "RDDT"
      },
      {
        "author": "spez",
        "body": "At a high level, however people want to communicate on the internet, they should be able to do so on Reddit.\n\nWe’ve continually evolved over the years, from just links to text to images (becoming a ho…",
        "created_at": "2026-10-29T22:41:37+00:00",
        "created_utc": 1793313697,
        "edited": false,
        "id": "19ruo2bw7d6ps",
        "is_submitter": false,
        "name": "t1_19ruo2bw7d6ps",
        "parent_id": "t1_19ruhds72jakk",
        "permalink": "https://www.reddit.com/r/RDDT/comments/1xiupuc/reddit_announces_q326_earnings_plus_ama/19ruo2bw7d6ps/",
        "post_id": "t3_1xiupuc",
        "post_title": "Reddit Announces Q3’26 Earnings (plus AMA!)",
        "post_url": "https://www.reddit.com/r/RDDT/comments/1xiupuc/reddit_announces_q326_earnings_plus_ama/",
        "score": -13,
        "stickied": false,
        "subreddit": "RDDT"
      }
    ],
    "cursor": "t1_optfyql"
  }
}

Response Fields

FieldTypeDescription
okbooleanWhether the request succeeded
data.commentsobject[]The account's comments
data.comments[].idstringComment ID
data.comments[].namestringFullname, t1_ + ID
data.comments[].authorstringAuthor username
data.comments[].bodystringComment text in Markdown
data.comments[].scorenumberNet upvotes
data.comments[].subredditstringSubreddit name
data.comments[].permalinkstringFull URL of the comment
data.comments[].parent_idstringFullname of the parent (t1_ comment or t3_ post)
data.comments[].post_idstringFullname of the post the comment is on
data.comments[].post_titlestringTitle of that post
data.comments[].post_urlstringURL of that post
data.comments[].created_utcnumberUnix timestamp (seconds)
data.comments[].created_atstringISO 8601 timestamp
data.comments[].editedbooleanComment was edited
data.comments[].stickiedbooleanPinned by moderators
data.comments[].is_submitterbooleanAuthor is the post's author (OP)
data.cursorstring | nullCursor for the next page

Pagination

Each response includes a cursor. Send the same request again with that value in cursor to get the next page. When cursor is null, there are no more results. A query with no matches returns 200 with an empty list and cursor: null. Every page is a separate $0.01 call.

Caching

Responses are cached for 15 minutes.

Errors

StatusCodeWhen
400VALIDATION_ERRORusername is invalid, or sort / time is not an allowed value
429RATE_LIMITED_UPSTREAMToo many requests in a short burst — retry after a few seconds
502UPSTREAM_ERRORTemporary problem fetching data from Reddit — retry

Failed calls are not charged.

An account that doesn't exist or has no comments returns 200 with an empty comments list. Use /v1/reddit/user to check whether an account exists.

On this page