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

---

# Gumroad Creator Products API

A creator's catalog across their profile sections, paged with a cursor.

`GET /v1/gumroad/creator/products` takes `creator` and optionally `sectionId`, `sort`, `page`, `limit` or a `cursor`. Without `sectionId` it walks the creator's product sections in tab order. A sorted walk stays sorted and does not skip products. A product listed in several sections appears once per section. It answers `{ data, meta }` with `data.lookupStatus`, `data.creator`, `data.sectionId`, `data.sections`, `data.products`, `data.facets`, `data.page` and `data.sort`.

`data.sections` lists each section's `id`, `header` and `total`, which tells you whether to ask for one section or walk them all. The order is Gumroad's for the requested `sort` (its default order when omitted), not the creator's saved page-layout order. The product rows are the same reference shape as search: `id`, `permalink`, `name`, `type`, `url`, `thumbnailUrl`, `coverUrl`, `summary`, `creator`, `ratings`, `price`, `saleLabel`, `stock` and `subscription`. `data.page` has `from`, `size`, `hasMore`, `nextCursor`, `truncated`, `sectionId` and `sectionHeader`. `page.sectionId` and `page.sectionHeader` name the section whose rows that page holds, including on a merged walk, so a client can dedupe by `id` when it wants each product once.

A creator can have one landing page instead of profile sections. That landing answer still returns `found`; its product rows have no ratings and can have a null id. The catalog stops at 10,000 products, so a request whose first row would pass the cap is refused before it is sent.

## Request

- **Endpoint:** `GET /v1/gumroad/creator/products`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by username, optionally one section
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/gumroad/creator/products/get)
- **Platform page:** [/platforms/gumroad](https://www.socialfetch.dev/platforms/gumroad)

## FAQ

### How do I get one section only?

Pass sectionId from data.sections[].id. Without it, the route walks the creator's product sections in tab order and names the section each page came from in data.page.sectionId and data.page.sectionHeader.

### How does paging work?

Keep the filters and the same creator, then send page.nextCursor while page.hasMore is true. A cursor that was issued for different filters is refused before a request. You can also use page and limit, up to the 10,000-product depth cap. A product that sits in two sections appears once in each; page.sectionId tells the rows apart and its id lets you dedupe.

### What are the facets?

data.facets has the same tags, file types and category attributes as search, so you can show counts beside a creator's own filter controls.

### Why would a product have no rating or id?

A landing-layout creator's products can lack those fields. The contract allows a null id and null ratings on that branch, so guard for both.

### How many credits does a creator-products 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.
