Reddit User Comments API - Comment History
FetchLayer fetchlayer.dev Sign in

Comment history for any public user

Retrieve the public comment history for a Reddit user. Supports pagination.

POST /user-comments User
https://api.fetchlayer.dev/reddit/user-comments
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

username string required

Reddit username.

limit number optional

Maximum number of comments to return. (default: 25)

pages number optional

Maximum number of pages to scrape. (default: 1)

after string optional

Pagination cursor (after).

Response Fields

user-comments

Comment history for any public user

blocked boolean

Whether Reddit returned a block or verification page.

blockReason string | null

Machine-readable block reason when blocked is true; otherwise omitted.

blockedBodyText string | null

Diagnostic block-page text when blocked is true; otherwise omitted.

pageTitle string

Title of the scraped Reddit page.

requestedUrl string

Reddit URL requested by the scraper.

fetchUrl string

Normalized Reddit URL fetched by the scraper.

finalUrl string

Final URL after redirects.

responseStatus number | null

HTTP status returned by Reddit, or null when unavailable.

listingType string

Always user-comments for a successful response.

username string

Requested Reddit username.

items[].id string | null

Comment ID without the t1_ prefix.

items[].fullname string | null

Reddit comment fullname.

items[].subreddit string | null

Subreddit name without the r/ prefix.

items[].subredditPrefixed string | null

Subreddit name with the r/ prefix.

items[].author string | null

Comment author.

items[].parentPostTitle string | null

Parent post title.

items[].parentPostAuthor string | null

Parent post author.

items[].parentPostUrl string | null

Parent post URL.

items[].permalink string | null

Absolute comment permalink.

items[].contextUrl string | null

Comment URL including Reddit context.

items[].fullCommentsUrl string | null

URL of the full comments page.

items[].createdAt string | null

ISO 8601 creation timestamp.

items[].score number | null

Comment score.

items[].scoreText string | null

Score text as displayed by Reddit.

items[].replyCount number | null

Reply count when available.

items[].replyCountText string | null

Reply count text as displayed by Reddit.

items[].bodyText string

Plain-text comment body.

items[].bodyHtml string | null

HTML comment body when available.

items[].distinguished string | null

Moderator/admin distinction, or null.

items[].stickied boolean

Whether the comment is stickied.

listingTitle string | null

Display title of the listing, or null when unavailable.

itemCount number

Number of entries returned in items.

nextPageUrl string | null

Next-page URL when available, otherwise null.

prevPageUrl string | null

Previous-page URL when available, otherwise null.

pagesRequested number

Number of pages requested.

pagesScraped number

Number of pages successfully scraped.

scrapedAt string

ISO 8601 timestamp for the scrape.

transport string

Reddit page transport used for extraction.

Request

curl -X POST "https://api.fetchlayer.dev/reddit/user-comments" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"username":"spez","limit":10}'

Response

{
  "blocked": false,
  "listingType": "user-comments",
  "username": "spez",
  "items": [
    {
      "id": "xyz",
      "bodyText": "Thanks for the feedback!",
      "subreddit": "reddit",
      "score": 250,
      "parentPostTitle": "Announcing new features",
      "permalink": "https://www.reddit.com/r/reddit/comments/abc/comment/xyz/",
      "createdAt": "2026-08-13T03:00:00.000Z",
      "stickied": false
    }
  ],
  "itemCount": 1,
  "nextPageUrl": "https://old.reddit.com/user/spez/comments/?after=t1_xyz",
  "pagesRequested": 1,
  "pagesScraped": 1,
  "transport": "old-reddit-html"
}