Product Hunt Scraper — Launches, Upvotes & Makers
Pricing
from $2.34 / 1,000 result storeds
Product Hunt Scraper — Launches, Upvotes & Makers
Scrape Product Hunt's current ranked or newest server-rendered listings. Returns product names, taglines, URLs, upvotes, makers, topics, and dates. Optionally filter the visible listing by name, tagline, or topic.
Pricing
from $2.34 / 1,000 result storeds
Rating
0.0
(0)
Developer
North Glass Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
2 hours ago
Last modified
Categories
Share
Product Hunt Scraper — Launches, Upvotes, Makers & Topics
Scrape Product Hunt's current server-rendered listings with structured metadata: product name, tagline, URL, upvote count, makers, topic tags, and launch dates. Pull the current ranked or newest listing and optionally filter those visible launches by keyword. Export clean data for market research, lead generation, and competitive analysis.
What it does
The Product Hunt Scraper actor extracts structured data from Product Hunt's current ranked or newest server-rendered listings. Leave the filter empty to return the visible launches, or provide a keyword to filter those launches by product name, tagline, or topic. It does not claim to search Product Hunt's entire historical catalog, whose dedicated search page is currently client-rendered.
Each launch returned includes the product name, one-line tagline, direct Product Hunt URL, upvote count (a key signal of market traction), the makers behind the product with links to their Product Hunt profiles, topical category tags (e.g. "Artificial Intelligence", "Productivity"), and the launch date. The actor parses both listing pages and individual product pages, using JSON-LD structured data as the primary source and falling back to HTML element parsing for robustness.
This makes the actor ideal for market intelligence, startup research, lead generation (discover makers for outreach), competitive monitoring (track upvotes and launch timing), and content curation (build newsletters and roundups of trending products).
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | No | "" | Optional local filter applied to the current listing's product names, taglines, and topics. Leave empty to return all visible launches. |
maxResults | integer | No | 50 | Maximum number of launches to scrape (1–500). |
sortBy | string | No | popular | Sort order for results. One of: newest, popular, top. |
Output fields
Each result item pushed to the dataset contains:
| Field | Type | Description |
|---|---|---|
name | string | Product name as shown on Product Hunt |
tagline | string | null | One-line product description / tagline |
url | string | Direct URL to the product page on producthunt.com |
upvotes | integer | Upvote count the launch has received |
makers | array of objects | List of makers, each with name (string) and profile (Product Hunt profile URL) |
topics | array of strings | Topic / category tags (e.g. ["Artificial Intelligence", "Productivity"]) |
launchDate | string | null | Launch date (ISO-8601 or human-readable, depending on source) |
Use cases
- Market research — track current launches and emerging themes in the ranked or newest listings
- Lead generation — discover product makers and their profiles for sales outreach or recruiting
- Competitive analysis — monitor competitor upvotes, launch timing, and market reception
- Investment scouting — discover promising startups early, before they appear on mainstream radars
- Content curation — build newsletters, blog roundups, and social media posts featuring top launches
- Trend tracking — identify which product categories are gaining the most traction over time
How it works
The actor uses httpx (an async HTTP client) and BeautifulSoup4 (an HTML parser) to scrape Product Hunt. The process works in two stages:
-
Discovery — The actor fetches Product Hunt's server-rendered ranked homepage or newest listing. It parses modern listing cards for launch URLs, names, upvotes, taglines, and topics. If
searchQueryis supplied, the Actor applies it locally to those fields. JSON-LD is used as a supplementary source, and review sub-pages are excluded. -
Detail enrichment — For each matching launch (up to
maxResults), the actor visits the individual product page and extracts additional metadata when available: structured product data, dates, maker profile links, and topic links. Listing-level and page-level data are merged.
A polite 1-second delay is applied between launch-page requests to respect Product Hunt's servers. Browser-like User-Agent headers reduce the likelihood of interstitials.
Example usage
Example input
{"searchQuery": "AI tools","maxResults": 25,"sortBy": "newest"}
Example output
{"name": "AI Photo Enhancer Pro","tagline": "Upscale and restore photos with AI in seconds","url": "https://www.producthunt.com/posts/ai-photo-enhancer-pro","upvotes": 234,"makers": [{ "name": "Jane Doe", "profile": "https://www.producthunt.com/@janedoe" }],"topics": ["Artificial Intelligence", "Photography", "Productivity"],"launchDate": "2025-06-15"}
Pricing
This actor uses the pay-per-event (PPE) pricing model on Apify. You are charged a small fee for each successful actor run. Because this actor scrapes individual product pages sequentially (with a polite 1-second delay between requests), runs take longer than pure API-based actors — a typical 50-launch scrape takes about 1 minute. The cost scales with the number of pages fetched, so maxResults directly impacts run time and price. Check the actor's Apify Store page for the current per-run pricing.
Tips
- Use the optional filter narrowly —
searchQueryfilters the products currently visible in the ranked or newest listing; it is not a full-catalog Product Hunt search. - Choose the listing —
newestuses Product Hunt's newest page.popularandtopcurrently use the server-rendered ranked homepage because Product Hunt does not expose a separate server-rendered all-time view. - Keep
maxResultsreasonable for speed — each launch requires a separate page fetch with a 1-second delay. AmaxResultsof 50 takes about 1 minute; 500 takes about 8 minutes. Start small and scale up as needed.