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

---

# Gumroad Categories API

The Gumroad Discover category tree, with ids, slugs, parents and the paths search accepts.

`GET /v1/gumroad/categories` takes no input and answers `{ data, meta }` with `data.lookupStatus`, `data.categories`, `data.roots` and `data.total`.

Each category has `id`, `name`, `slug`, `parentId` and `path`. `path` is the slug path from a root, such as `3d/3d-modeling`, and it is exactly the value the search route takes as `category`. `roots` is the subset with no parent, and `total` is the number of categories in the answer.

The tree is a single snapshot, so there is no cursor. Categories change rarely; one call gives you the full list to cache or to validate a search filter before sending it.

## Request

- **Endpoint:** `GET /v1/gumroad/categories`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by the Discover tree
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/gumroad/categories/get)
- **Platform page:** [/platforms/gumroad](https://www.socialfetch.dev/platforms/gumroad)

## FAQ

### What can I do with the category path?

Pass it as category to the search route. For example, the category whose path is 3d/3d-modeling is searched with category=3d/3d-modeling. A path the marketplace does not know yet is passed through, and the filter is then ignored, so use this tree to pick a path that exists.

### What is the difference between categories and roots?

categories is the full tree in Gumroad's order, including children. roots is only the categories whose parentId is null. Use roots for a top-level menu and categories for a full picker or lookup.

### Does this route page?

No. It returns the whole taxonomy in one response. Cache it and refresh when you need to pick up a new category.

### Can lookupStatus be not_found here?

lookupStatus is found when the taxonomy is returned. A not_found answer carries empty categories and roots with total 0, so check total before assuming the tree is present.

### How many credits does a categories request 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.
