Product Hunt Scraper - Daily Leaderboard, Pay Per Result
Pricing
from $6.00 / 1,000 launches
Product Hunt Scraper - Daily Leaderboard, Pay Per Result
Scrape the Product Hunt daily leaderboard for any date: launch name, tagline, daily, weekly and monthly rank, comment count, topics, thumbnail and launch page. Backfill any date range. No API token needed. No personal data: voters, makers and commenters are never collected.
Pricing
from $6.00 / 1,000 launches
Rating
0.0
(0)
Developer
Andrés Santiso
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Product Hunt Scraper - Daily Leaderboard Ranking by Date
Scrapes the Product Hunt daily leaderboard for any date or date range and returns one structured record per ranked launch: name, tagline, daily / weekly / monthly rank, comment count, topics, thumbnail and the Product Hunt page.
No API token. No headless browser. Runs finish in seconds.
What you get
One dataset item per ranked launch:
| Field | What it is |
|---|---|
date | The leaderboard day, YYYY-MM-DD |
dailyRank | Position on that day's leaderboard (1 = first) |
weeklyRank, monthlyRank | Position in the week and month rankings, when Product Hunt has computed them |
name, tagline | The launch name and its one-line pitch |
slug, productHuntUrl | Product Hunt identifier and page |
commentsCount | Comments on the launch |
launchDayScore, latestScore | Product Hunt's own scoring fields, when present |
topics | Topic names, e.g. ["Artificial Intelligence", "Developer Tools"] |
featuredAt, createdAt | Timestamps as Product Hunt reports them |
productState | Launch state, as reported |
thumbnailUrl | Thumbnail, built from the launch's image UUID on Product Hunt's file CDN |
postId | Numeric launch id |
scrapedAt | When this record was collected (UTC) |
What it does not collect - on purpose
No personal data. The page payload carries voters, makers and comment authors. This Actor never maps any of them. A launch is a product, not a person. Several scrapers in this category sell email enrichment and owner leads; this one does not, and that is a deliberate choice, not an omission.
Three honest limits, so the output never surprises you:
- Vote counts are not returned. Product Hunt hides
votesCountin the leaderboard payload (it comes backnull), so this Actor does not promise it. UsecommentsCount,launchDayScoreand the ranks instead. - A day returns the launches Product Hunt ranked on its daily leaderboard, typically between 10 and 17. That is the leaderboard, not every submission of that day.
- Today is never scraped. Its leaderboard is still filling up and would look truncated. "Recent days" walks back from yesterday.
Input
| Option | Default | Notes |
|---|---|---|
mode | recent | recent (walk back from yesterday), range (between two dates), dates (an explicit list) |
days | 3 | How many complete days to walk back, in recent mode |
startDate / endDate | - | YYYY-MM-DD, in range mode. Ranges longer than 120 days are trimmed to the most recent 120 |
dates | - | One YYYY-MM-DD per line, in dates mode |
maxLaunchesPerDay | 0 (all) | Keep only the top N of each day |
proxyConfiguration | Apify Proxy on | Required in practice, see below |
politeDelayMs | 1000 | One request per second |
Running with an empty input returns the last three complete days.
Why the proxy is on by default
Product Hunt sits behind Cloudflare, which rejects datacenter ranges on the very first request - HTTP 429 or 403 with a challenge page, regardless of headers. Through Apify Proxy the same run succeeds, so the Actor takes a fresh exit IP on every attempt: a rejection is treated as one bad IP, not as a dead source. Leaving the proxy off is allowed but will usually return nothing, and the log says so explicitly.
Pricing
Pay per event:
- Actor start - charged once per run (one event per GB of memory; this Actor runs on 256 MB).
- Launch - one event per launch returned. This is the price to compare.
Nothing is charged for a result that did not come back: a date that could not be fetched produces no items and therefore no charge.
How it works
Product Hunt's leaderboard is a Next.js App Router page that embeds its full GraphQL payload in the page itself. The Actor reads that payload directly over plain HTTP - no token, no headless browser - and balances braces to recover whole launch objects.
That embedded payload is an internal format and can change without notice. If it ever does, the Actor logs a clear warning instead of quietly returning empty data.