> **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>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/gumroad/post.mdx>

---

# Gumroad Post API

One creator post with its HTML body, date, recent posts and first comments page.

`GET /v1/gumroad/post` takes a post `url`, or `creator` plus `slug`. It answers `{ data, meta }` with `data.lookupStatus` and `data.post`. On `found`, `data.post` has `id`, `slug`, `title`, `bodyHtml`, `publishedAt`, `creator`, `recentPosts`, `commentsEnabled`, `comments` and `commentsPage`.

`bodyHtml` is the post body as HTML, and `publishedAt` is the publish time. `creator` has the id, username, name and storefront URL. `recentPosts` is a short list of the creator's other posts with id, name, slug, date and Gumroad's `truncatedDescription` excerpt. `commentsEnabled` is true when the post has a comments section, false when the creator turned comments off, and null when Gumroad does not say. `comments` is the first page of comments, already nested with their replies. `commentsPage` reports `totalItems`; `hasMore` is true when more comment pages exist on the comments route, and in that case `nextCursor` is null and `moreVia` (`gumroad.post.comments.list`) names the route that pages the rest. Use the post comments route with the post `id` to page them.

A post with comments turned off has `commentsEnabled: false`, an empty `comments` list and a null `commentsPage.totalItems`, so it is not confused with a post that has no comments yet. An unknown post answers `not_found` with `data.post` null. A slug is one path segment, so a URL that encodes a slash is rejected as bad input before any lookup.

## Request

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

## FAQ

### How do I name the post?

Give the public post URL, or creator plus slug. A slug is one path segment, such as some-post, and cannot contain a slash.

### Is the body HTML or plain text?

bodyHtml is HTML. The contract does not expose a separate plain-text field on this route, so strip the markup yourself if you need plain text.

### Are all comments included?

No. comments is the first page of top-level comments with their replies inline. commentsPage.totalItems says how many there are and commentsPage.moreVia names the route that pages them; commentsPage.hasMore says whether more pages exist there. The post route itself cannot hand out a cursor. Use the post comments route with data.post.id for the remaining pages.

### What does commentsEnabled mean?

True means the post has a comments section. False means the creator turned comments off, so an empty comments list is expected. Null means Gumroad does not say.

### What is recentPosts?

A short list of the creator's other posts, each with id, name, slug and publishedAt. It is for navigation, not a full archive; the creator posts route returns the archive the profile lists.

### How many credits does a post lookup 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.
