Product Hunt Scraper
Pricing
from $3.90 / 1,000 product scrapeds
Product Hunt Scraper
Scrape Product Hunt launches, upvotes, and comments. Get product name, tagline, URL, upvotes, makers, topics, launch date. Browse daily/weekly/monthly or search. GraphQL API with browser fallback.
Pricing
from $3.90 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
junipr
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Extract product launches from Product Hunt without an API key. Scrape daily, weekly, and monthly leaderboards, search results, and topic pages. For each product you get upvotes, makers, topics, descriptions, launch dates, thumbnails, and optional comments — all exported as structured JSON ready for analysis, monitoring, or lead generation pipelines.
Product Hunt is a React single-page application that requires a JavaScript-capable browser to render content. This actor uses Playwright with Chromium to load pages fully before extracting data, ensuring accurate upvote counts, maker profiles, and topic tags even as Product Hunt's frontend evolves.
Why Use This Actor
Product Hunt does not expose a public API. The closest alternative is their GraphQL API, which requires OAuth tokens, has strict rate limits (60 requests per hour on the free tier), and does not support leaderboard browsing. This actor bypasses those limitations entirely.
| Feature | This Actor | PH GraphQL API | Manual Export |
|---|---|---|---|
| API key required | No | Yes (OAuth) | No |
| Leaderboard access | Daily, weekly, monthly | Limited | Manual only |
| Topic browsing | Yes | Partial | No |
| Search | Yes | Yes | No |
| Comments | Yes (optional) | Yes | No |
| Scheduled runs | Yes (Apify) | Build yourself | No |
| Cost | Pay per product | Free (rate-limited) | Time cost |
How to Use
Zero-config — scrape today's top products:
{"mode": "today"}
Search for AI products:
{"mode": "search","searchQuery": "AI writing assistant","maxProducts": 30}
Browse a topic page:
{"mode": "topic","topic": "developer-tools","maxProducts": 100}
Monthly leaderboard with comments:
{"mode": "month","maxProducts": 50,"includeComments": true}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | "today" | What to scrape: today, week, month, search, or topic |
searchQuery | string | "" | Search terms — required when mode is "search" |
topic | string | "artificial-intelligence" | Topic slug — used when mode is "topic" |
maxProducts | integer | 50 | Maximum number of products to return (1–1000) |
includeComments | boolean | false | Fetch comments for each product (increases run time) |
requestTimeout | integer | 60000 | Page load timeout in milliseconds (5000–300000) |
proxyConfiguration | object | Apify residential | Proxy settings. Defaults to Apify residential proxy. See Proxy Requirements. |
Topic Slug Examples
Use the slug from Product Hunt topic URLs (/topics/<slug>):
artificial-intelligencedeveloper-toolsproductivitydesign-toolsmarketingno-codesaas
Proxy Requirements
This actor requires residential proxies because Product Hunt uses Cloudflare protection that blocks datacenter IP addresses.
- Paid Apify plan users: Works automatically with the default residential proxy configuration. No changes needed.
- Free plan users: Provide your own residential proxy URL in the Proxy Configuration input field. The Apify free plan only includes datacenter proxies, which Product Hunt blocks.
- Without a residential proxy, the actor will exit with a clear error message explaining how to fix the issue.
If you see a "Blocked by Cloudflare" or "Residential proxy required" error, it means the actor could not access Product Hunt through the available proxy. Either upgrade your Apify plan or provide a residential proxy URL.
Output Format
Each record in the dataset represents one product launch:
{"name": "Notion AI","tagline": "The AI workspace that works for you","description": "Notion AI helps you write, edit, summarize...","url": "https://notion.so","productHuntUrl": "https://www.producthunt.com/posts/notion-ai","upvotes": 4200,"commentsCount": 312,"topics": ["AI", "Productivity", "Writing"],"makers": [{ "name": "Ivan Zhao", "url": "https://www.producthunt.com/@ivanzhao" }],"thumbnail": "https://ph-files.imgix.net/abc123.png","launchDate": "2024-01-15","isFeatured": true,"rating": null,"comments": null,"extractedAt": "2026-03-11T12:00:00.000Z"}
When includeComments is true, the comments field contains an array of comment objects with author, body, upvotes, createdAt, and nested replies.
Use Cases
Competitive intelligence — Monitor when competitors or adjacent products launch on Product Hunt. Schedule daily runs to catch new launches as they happen and alert your team via Apify webhooks to Slack or email.
Lead generation — Makers listed on product pages are founders and early-stage entrepreneurs. Extract maker profiles to build targeted outreach lists for developer tools, SaaS, or B2B offerings.
Market research — Analyze which categories of products attract the most upvotes over time. Run monthly leaderboard scrapes and aggregate the data to spot emerging trends before they go mainstream.
Content monitoring — Track how products in your space are described and positioned. Extract taglines and descriptions to analyze messaging patterns and gaps in the market.
Investor deal flow — Product Hunt is a consistent signal for early-stage product traction. Scrape weekly and monthly leaderboards to surface high-upvote products that may be raising.
Related Actors
- Hacker News Scraper — Scrape HN stories, comments, and user profiles
- Reddit Scraper — Scrape Reddit posts and comments from any subreddit
- RAG Web Extractor — Extract clean markdown from any URL for LLM pipelines
Pricing
This actor uses Pay-Per-Event (PPE) pricing: $3.90 per 1,000 products scraped ($0.0039 per event).
Pricing includes all platform compute costs — no hidden fees.
FAQ
How current is the data?
The actor scrapes Product Hunt live each time it runs. Data is as current as the moment the actor executes. For daily leaderboards, run the actor once per day (after 12:01 AM Pacific) to get the previous day's final rankings.
Does this work without a proxy?
Product Hunt uses Cloudflare protection, so a residential proxy is strongly recommended. The actor defaults to Apify's residential proxy group, which requires a paid Apify plan ($49+/month). Free-plan users can provide their own residential proxy URL in the Proxy Configuration input. Without a residential proxy, scraping may be blocked by Cloudflare and the actor will exit with an actionable error message.
Why does including comments make runs slower?
Comments require a separate DOM interaction on each product page — scrolling down and waiting for the comment section to render. Each product page with comments adds 3–5 seconds to the run. For 50 products with comments enabled, expect 5–8 minutes total run time.
What happens if Product Hunt updates their frontend?
Product Hunt uses React with CSS module class names that can change. This actor uses multiple fallback selectors for each data field and gracefully degrades when a selector stops working — returning null for optional fields rather than failing. If a significant layout change breaks extraction, the actor will be updated.
Can I scrape historical leaderboards?
Yes. The daily leaderboard URL format is /leaderboard/daily/YYYY/MM/DD. While the actor defaults to today's date, you can pass any historical date in that format by running custom mode logic — or request this feature if you need it frequently.