> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/gumroad/post-comments>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/gumroad/post-comments.mdx>

---

# Gumroad Post Comments API

A Gumroad post's comments with their replies, 20 top-level comments per page.

`GET /v1/gumroad/post/comments` takes a `postId` and the `creator` whose storefront served the post, plus `page` or a `cursor`. It answers `{ data, meta }` with `data.lookupStatus`, `data.postId`, `data.creator`, `data.comments` and `data.page`.

Each comment has `id`, `parentId`, `depth`, `body`, `bodyHtml`, `author` and `postedAt`. `author` carries the public display name and avatar. Replies are inline under their parent, and `depth` is 0 for a top-level comment and higher for a reply. The list is 20 top-level comments per page, so use `page.hasMore`, `page.nextCursor` and `page.totalItems`. `data.creator` is the username you sent, echoed, not checked against the post's real creator.

An unknown post answers `not_found`. A page past the last one is a valid empty page, and a post with comments turned off also returns an empty list. The route does not expose the numeric commenter id or the purchase id.

## Request

- **Endpoint:** `GET /v1/gumroad/post/comments`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by post id and creator
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/gumroad/post/comments/get)
- **Platform page:** [/platforms/gumroad](https://www.socialfetch.dev/platforms/gumroad)

## FAQ

### Where do I get the post id?

Read data.post.id from the post route, or id from data.posts[] on the creator posts route. It is an opaque id, not the slug.

### Are replies a separate call?

No. Replies are inline under their parent comment with a parentId and a depth, so one page carries the thread shape. The list pages on top-level comments, 20 per page.

### Is an empty page an error?

No. A page past the last one, or a post with no comments, returns found with an empty comments array. Check page.hasMore before making another call.

### Which identity fields are exposed?

Each comment has an id, public author display name and avatar, body, postedAt, parentId and depth. Numeric commenter and purchase ids are deliberately not exposed.

### How many credits does a comments page cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth. Each paginated page is a separate billed request.
