Product Hunt hub

Product Hunt Category API

One category with its subcategories and a paged product list.

GET /v1/product-hunt/categories/{slug}

1 credit Failed requests are free

About this endpoint

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.

Product Hunt Category API 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.