Product Hunt Scraper — Daily Launches, Votes & Dataset
Pricing
from $2.00 / 1,000 launch scrapeds
Product Hunt Scraper — Daily Launches, Votes & Dataset
Product Hunt dataset of daily leaderboards: launch rank, votes, topics and taglines, with product ratings and first launch dates.
Pricing
from $2.00 / 1,000 launch scrapeds
Rating
0.0
(0)
Developer
Kaan Salgır
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
This Product Hunt scraper builds a Product Hunt dataset from the daily leaderboards: every launch with its rank, vote count, topics and tagline, plus each product's rating, review count and first launch date.
No account, no API key, no rate-limited token. If you came looking for the Product Hunt API and found the quota too small, this is the alternative.
Product Hunt API alternative: pull a date range, not a feed
Most Product Hunt scrapers hand you the current homepage. This one is built around the daily leaderboard, so you can pull a date range and see how launches actually performed:
{"dateFrom": "2026-09-01","dateTo": "2026-09-22","topics": ["artificial-intelligence"],"minVotes": 100,"includeProductDetails": true}
That gives you every AI launch that cleared 100 votes across three weeks, each with the rank it finished at. Rank and vote count together tell you whether a category is getting more competitive or less.
The same product launching twice appears once per day, so you can follow a relaunch.
Rank is not vote order. Product Hunt ranks by its own score, so a #1 finish regularly has fewer raw votes than the #2 below it. Both numbers are returned separately, and the gap between them is worth watching: it is where the ranking algorithm shows itself.
Product Hunt data: what you get
Per launch: leaderboardDate · rank · name · tagline · votes · topics (slug and name) · topicSlugs · url · slug
Per product, with Include product details on: rating · ratingCount · description · datePublished (first ever launch) · dateModified · operatingSystem · imageUrl · screenshotUrl · websiteUrl
datePublished against leaderboardDate is how you tell a first launch from a relaunch.
Export as JSON, CSV, Excel or XML.
How to use this Product Hunt scraper
Three ways to choose what to scrape, and they combine:
- Date range —
dateFromanddateTo, up to 60 days per run. - Specific dates — a list of
YYYY-MM-DDdays. - Product slugs — scrape products directly, skipping the leaderboards.
With nothing set, it returns yesterday's leaderboard. Today's is deliberately not the default: it is still moving, and a rank read at noon is not the rank the day ends on.
Filter by topics and minVotes.
FAQ
Do I need a Product Hunt API key? No. This reads public leaderboard and product pages, so there is no token to obtain and no API quota to run out of.
How far back can I go? Leaderboards exist for every day Product Hunt has run. The scraper caps a single run at 60 days; chain runs for longer histories.
Can it scrape makers, hunters or their emails?
No. Product Hunt's robots.txt disallows /@* — the member profile space — and this scraper requests none of it. Products, votes, topics and ratings only.
Why do some products have no rating?
A product only carries an aggregateRating once it has reviews. New launches usually have none on day one, so rating and ratingCount come back null rather than zero.
Can I track one product over time?
Yes. Pass its slug in productSlugs and schedule the run; ratingCount moving is the signal.
Does it scrape topic pages?
No. The topics input filters leaderboard results by topic instead, which is more reliable and costs no extra requests.
Is scraping Product Hunt legal? It reads publicly published pages, honours robots.txt, and collects no personal data. How you use the output is your responsibility.
Pricing
Pay per event: one charge per launch row and one per product row. Nothing is charged for compute time or failed requests.
Development
npm installnpm test # offline regression tests against saved pagesnpm start # local run; put an INPUT.json in storage/key_value_stores/default/