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.
/v1/reddit/user-commentsThe 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
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
username | string | Yes | Reddit username — spez, u/spez, or a reddit.com/user/spez URL (3–20 characters) | — |
sort | string | No | One of: new, hot, top | new |
time | string | No | Time window, only used with sort: "top". One of: hour, day, week, month, year, all | day |
cursor | string | No | cursor 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
| Field | Type | Description |
|---|---|---|
ok | boolean | Whether the request succeeded |
data.comments | object[] | The account's comments |
data.comments[].id | string | Comment ID |
data.comments[].name | string | Fullname, t1_ + ID |
data.comments[].author | string | Author username |
data.comments[].body | string | Comment text in Markdown |
data.comments[].score | number | Net upvotes |
data.comments[].subreddit | string | Subreddit name |
data.comments[].permalink | string | Full URL of the comment |
data.comments[].parent_id | string | Fullname of the parent (t1_ comment or t3_ post) |
data.comments[].post_id | string | Fullname of the post the comment is on |
data.comments[].post_title | string | Title of that post |
data.comments[].post_url | string | URL of that post |
data.comments[].created_utc | number | Unix timestamp (seconds) |
data.comments[].created_at | string | ISO 8601 timestamp |
data.comments[].edited | boolean | Comment was edited |
data.comments[].stickied | boolean | Pinned by moderators |
data.comments[].is_submitter | boolean | Author is the post's author (OP) |
data.cursor | string | null | Cursor 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
| Status | Code | When |
|---|---|---|
400 | VALIDATION_ERROR | username is invalid, or sort / time is not an allowed value |
429 | RATE_LIMITED_UPSTREAM | Too many requests in a short burst — retry after a few seconds |
502 | UPSTREAM_ERROR | Temporary 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.
Related Endpoints
- Reddit User API — profile and karma
- Reddit User Posts API — the account's posts
- Reddit Post API — the post a comment belongs to
Reddit User Posts API
Reddit User Posts API — list every post a Reddit account has submitted, sorted by new, hot, or top. JSON with scores, comment counts, and media for $0.01 per call.
Reddit Popular Posts API
Reddit Popular Posts API — get the posts trending on r/popular, worldwide or for one country, sorted by hot, new, top, or rising. JSON, $0.01 per call.