Developer communities
Product Hunt API
Read Product Hunt launches and leaderboards, products with reviews, alternatives and makers, launch and forum comment threads, topics, categories, search, profiles and stories.
Track daily to yearly leaderboards and the live launch feed, then read products, launches, reviews, alternatives, makers, comments, forums, topics, categories, profiles and stories, preserving fields, nulls, pagination and coverage.
API availability: Available
http://localhost:3043Public API: https://api.scrapeatlas.com.Endpoints
/v1/producthunt/launchesList Product Hunt launches and leaderboards
List Product Hunt launches. view=feed (default) reads the public launch feed, newest first, with name, tagline, product URL, hunter and published/updated times; filter it by topic slug or display name and narrow it with a case-insensitive text match. view=leaderboard ranks a daily, weekly, monthly or yearly leaderboard by rank or votes, with votes, comments, ranks, hunter, product and topics, paged with cursor. An unknown topic returns not_found instead of the unfiltered feed.
Reference/v1/producthunt/productGet a Product Hunt product
Retrieve a Product Hunt product. view=overview (default) returns the product page: tagline, description, website and social links, rating, review, follower, launch, maker and alternative counts, categories, first and latest launch, media, pros-and-cons tags, Golden Kitty badges and its forum. view=launches lists every launch; view=reviews lists written reviews with aspect ratings, filterable by reviewer type and star rating; view=alternatives lists the alternatives shown for it; view=makers lists its makers. List views page with cursor.
Reference/v1/producthunt/postGet a Product Hunt launch
Retrieve one Product Hunt launch: tagline, description, votes, score, comments, daily/weekly/monthly ranks, launch number, pricing, hunter, makers, topics, gallery media, links, the product and its day and Golden Kitty badges.
Reference/v1/producthunt/commentsList Product Hunt comments
List Product Hunt comment threads. Pass post for a launch's comments, forum and discussion for a forum discussion's comments (each top-level comment with its HTML body, votes, author and up to five direct replies, sorted by score, votes or date), or comment for the direct replies to one comment, oldest first. Page with cursor.
Reference/v1/producthunt/searchSearch Product Hunt
Search Product Hunt by keyword across products, launches, users, topics, discussions, categories and stories, or restrict results to one type. Each result carries a type and that record's fields. Page with cursor.
Reference/v1/producthunt/topicsList or get Product Hunt topics
List Product Hunt topics alphabetically, optionally matching a name, with description, follower count and image. Pass slug to retrieve one topic with its parent and sub-topics and list the products in it by followers, recent launches, rating or launch count. Page with cursor.
Reference/v1/producthunt/categoriesList or get Product Hunt categories
List Product Hunt's product categories with name, slug, description and page URL. Pass slug to retrieve one category with its parent and sub-categories and list its live products by rating, followers, recency, recent launches, top free or trending. Page with cursor.
Reference/v1/producthunt/forumGet a Product Hunt forum or discussion
List the threads in a Product Hunt forum: the community forums such as general, or a product's own forum by its slug, each with title, preview, votes, comments, author and featured or pinned flags, sorted by trending, new, popular or featured and paged with cursor. Pass discussion to retrieve one discussion instead: title, full HTML body, votes, comments, page views, status, flags, author and forum.
Reference/v1/producthunt/profileGet a Product Hunt profile
Retrieve a public Product Hunt profile. view=overview (default) returns name, headline, bio, avatar, join date, follower and following counts, verification, X (Twitter) and LinkedIn links, website links, and counts of launches made, hunted and upvoted. view=launches lists the launches the user made or hunted, with votes, comments, ranks, hunter, product and topics, paged with cursor.
Reference/v1/producthunt/storiesList Product Hunt stories
List Product Hunt's editorial stories, newest first, optionally matching a title query, with reading time, publication time, header image and author. Page with cursor.
ReferenceQuick start
Create an API key on your account page, then call the public API. Values below are placeholders.
curl "https://api.scrapeatlas.com/v1/producthunt/launches?topic=developer-tools" \
-H "x-api-key: YOUR_API_KEY"Coverage & limits
- Independent, stateless worker: four concurrent operations; 20-second total deadline; at most three upstream HTTP attempts per operation (one source read plus one shared transient retry; launches with a topic reads the topic first). No automatic retry for challenges or HTTP 429.
- One fixed public HTTPS origin, www.producthunt.com: its public web GraphQL endpoint with worker-owned query documents, and the public Atom feed for launches. No login, cookies, browser, proxy, outbound link visits, media downloads or result storage. The service API key is never forwarded.
- At most 4 MiB decoded response, depth 64 and 200,000 nodes per source response. Oversize or malformed responses fail explicitly.
- Lists return one source page of 1–20 records (the source's page ceiling) with an opaque nextCursor; callers page explicitly. Comment threads carry up to five direct replies each, the rest through comment replies.
- Leaderboards use Product Hunt's Pacific-time day and ISO-8601 weeks. Launches younger than a few hours have hidden vote counts, returned as null with votes_hidden partial coverage.
- The launch feed holds Product Hunt's latest 50 launches; the text filter applies to that feed only.
- Source caching and live counters can affect freshness.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable data with votes_hidden warnings. |
| 400 | invalid_request | Missing, duplicate, malformed or unsupported parameters, including incomplete or impossible leaderboard dates. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 404 | not_found | The product, launch, comment, topic, category, forum, discussion or user does not exist. |
| 429 | upstream_rate_limited | Source throttling; no automatic retry. |
| 502 | upstream_challenged | Source rejected or challenged the unauthenticated request. |
| 502 | unsupported_page | Malformed, mismatched or non-JSON source data, or a GraphQL error. |
| 502 | response_too_large payload_too_complex | Response exceeded byte or parsing limits. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded source retrieval could not complete. |
| 503 | busy | All worker slots are occupied. |
| 504 | timeout | Total request deadline expired. |