Product Hunt Launch Enrichment Monitor
Pricing
Pay per usage
Product Hunt Launch Enrichment Monitor
Monitors Product Hunt launches and enriches each visible launch with public website, pricing, contact, social, and outreach signal data.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Brian Keefe
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Production-ready Apify Actor for startup scouts, agencies, VC analysts, recruiters, and B2B vendors who want structured launch rows from public Product Hunt pages plus light website enrichment from the launched product's own public site.
The actor uses only public HTML pages:
- Product Hunt public pages when available
- The product website homepage and common pricing/contact/about/team pages
- No login
- No private APIs
- No anti-bot bypass behavior
What It Produces
One dataset row per launch with visible product and company signals:
nametaglinetopicswebsitepricingUrlcontactLinkssocialLinkslaunchUrllaunchDateupvotesVisiblecommentsVisiblemakerspitchTriggerswarnings
If Product Hunt blocks requests or its HTML changes, the actor returns warning rows instead of crashing.
Input
Use either:
datestartDate+endDateproductUrls
Optional filters:
categoryquery
Example:
{"date": "2026-06-30","category": "Sales","query": "signal","productUrls": [{ "url": "https://www.producthunt.com/posts/signalpad" }],"maxLaunches": 10,"enrichWebsite": true,"requestTimeoutSecs": 20}
See examples/sample-input.json.
Output Example
[{"name": "SignalPad","tagline": "AI buyer signal tracking for GTM teams","topics": ["Sales", "Analytics"],"website": "https://signalpad.test/","pricingUrl": "https://signalpad.test/pricing","contactLinks": ["mailto:founders@signalpad.test","https://signalpad.test/contact"],"socialLinks": {"linkedin": ["https://www.linkedin.com/company/signalpad"],"x": ["https://x.com/signalpad"],"twitter": [],"facebook": [],"instagram": [],"youtube": [],"tiktok": [],"github": []},"launchUrl": "https://www.producthunt.com/posts/signalpad","launchDate": null,"upvotesVisible": 412,"commentsVisible": 38,"makers": ["Alex Kim", "Priya Shah"],"pitchTriggers": ["Pricing page is public for packaging and competitor analysis","Direct email contact was exposed publicly"],"warnings": []}]
See examples/sample-output.json.
Commercial Use Cases
- Track launches in a category and identify companies with accessible pricing and contact paths
- Build founder/vendor prospecting lists from recent launches
- Support VC scouting with structured launch, topic, maker, and website signals
- Prepare outbound campaigns using public contact and social evidence only
Extraction Approach
- Parses Product Hunt leaderboard/day pages for launch URLs
- Parses Product Hunt product pages for visible title, tagline, topics, makers, website, and visible engagement counters
- Optionally enriches the product website for public pricing/contact/social links
- Generates
pitchTriggersfrom public commercial signals
Limitations
- Product Hunt HTML can change without notice
- Some launches may not expose a website or visible maker names
- JavaScript-heavy sites may hide links from simple HTML fetches
upvotesVisibleandcommentsVisibleare extracted only when visible in fetched HTML- This actor intentionally avoids private APIs, login flows, and bypass behavior
Local Development
Install:
$npm install
Run tests:
$npm test
Run deterministic smoke:
$npm run smoke
Run locally with Apify storage:
$npm start
Apify Commands
Run through Apify CLI:
$npx --yes apify-cli run
Push after authentication:
export APIFY_TOKEN=<your Apify API token>npx --yes apify-cli push
Deterministic Validation
Tests and smoke do not depend on live Product Hunt. They use local HTML fixtures and mocked fetch responses stored under tests/fixtures.