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

---

# Product Hunt Category API

One category with its subcategories and a paged product list.

`GET /v1/product-hunt/categories/{slug}` returns `data.category`, `data.products`, `data.productTotalCount` and `data.page`. The category has `id`, `name`, `slug`, `path`, `description`, `subCategories` (up to 100) and `subCategoriesTotalCount`. Each subcategory is a topic ref with `id`, `slug` and `name`, ordered by how many products it holds.

Products are ordered by highest rated and hold up to 20 per page. Each product row has `id`, `slug`, `name`, `tagline`, `reviewsRating`, `reviewsCount`, `followersCount`, `logoUuid`, `websiteUrl` and `isNoLongerOnline`. A slug with no public category returns `lookupStatus: not_found` and `category: null`; a category with no products is `found` with an empty list.

## Request

- **Endpoint:** `GET /v1/product-hunt/categories/{slug}`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by slug
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/product-hunt/categories/slug/get)
- **Platform page:** [/platforms/product-hunt](https://www.socialfetch.dev/platforms/product-hunt)

## FAQ

### Where do I find a category slug?

From the category path, for example `/categories/design-creative` has the slug `design-creative`. The `path` field on a found category repeats that path.

### What is in subCategories?

Each subcategory is a topic reference with `id`, `slug` and `name`, ordered by how many products it holds. `subCategoriesTotalCount` is the full count; the list holds up to 100.

### How do I page the category's products?

When `data.page.hasMore` is true, send `data.page.nextCursor` as `cursor` with the same category slug. Pages hold up to 20 products.

### Does an empty product list mean the category is missing?

No. Check `data.lookupStatus`. A found category with no products returns `found` with `products: []`. A slug with no public category returns `not_found`.

### How much does it 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.
