Gumroad Post API
One creator post with its HTML body, date, recent posts and first comments page.
GET /v1/gumroad/post1 credit Failed requests are free
About this endpoint
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.
Gumroad Post API 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.
Other Gumroad endpoints
- ProductGET /v1/gumroad/product
- Product detailsGET /v1/gumroad/product/details
- ReviewsGET /v1/gumroad/product/reviews
- Related productsGET /v1/gumroad/product/related
- Call slotsGET /v1/gumroad/product/call-slots
- SearchGET /v1/gumroad/search
- SuggestionsGET /v1/gumroad/search/suggestions
- CategoriesGET /v1/gumroad/categories