Product Hunt Scraper
Pricing
from $0.08 / 1,000 product row (cached)s
Product Hunt Scraper
Export Product Hunt launches by daily, weekly, monthly, or yearly leaderboard, date, topic, category, and product URL, with optional makers, votes, comments, reviews, launch history, media, built-with data, and website metadata.
Pricing
from $0.08 / 1,000 product row (cached)s
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Export Product Hunt launches from the latest feed, archived leaderboards, or explicit product URLs, with optional makers, rankings, comments, reviews, media, launch history, technology, and website metadata.
Use this Actor to collect startup launch data for market scans, lead lists, competitive research, newsletter research, product discovery, and daily launch dashboards. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.
At a glance
- Launch discovery: Export recent Product Hunt launches by date or Product Hunt URL.
- Startup data rows: Collect product names, taglines, launch dates, Product Hunt links, outbound links, and cache status.
- Freshness control: Use cache TTL and
forceFreshsettings to balance freshness and cost. - Lead research: Build startup, maker, product, and category research lists from public launch pages.
- API export: Send launch rows to spreadsheets, CRMs, BI tools, research workflows, or AI agents.
Ready-to-run examples
Use these saved Store examples as starting points. Open any example to prefill the Actor input, then adjust URLs, keywords, limits, or filters for your own run.
- Product Hunt Small Smoke Test
- Product Hunt Startup Newsletter Source
- Product Hunt AI Tools Discovery Feed
- Daily Product Hunt Market Scan
- Product Hunt Launches Without Redirect URLs
- Fresh Product Hunt Launches No Cache
- View all ready-to-run examples (8 examples)
What can it do?
Product Hunt Scraper exports public Product Hunt launch records and saves one dataset row per product.
- Collect launch rows: Save product names, taglines, Product Hunt URLs, launch dates, and outbound links.
- Use date input: Pull launches for a specific public launch date when available.
- Reuse URLs: Paste Product Hunt URLs when you already know target launches.
- Control freshness: Choose cache-aware runs or force fresh reads.
- Export repeatable datasets: Use Apify downloads, API calls, schedules, webhooks, and integrations.
Common workflows
- Startup lead lists: Build lists of recently launched products and companies.
- Market research: Track launches in a category, trend, or competitor space.
- Growth dashboards: Feed daily Product Hunt launch rows into spreadsheets or BI tools.
- Newsletter research: Collect new product examples for editorial workflows.
- Competitive monitoring: Watch launch dates, taglines, and outbound links over time.
- AI enrichment: Send product rows into classification, summary, or lead-scoring workflows.
What data can you extract?
The Actor returns one dataset row per public Product Hunt product launch.
| Field | Description |
|---|---|
title | Product name |
tagline | Product tagline or short description |
launchDate | Product Hunt launch date when available |
productUrl | Public Product Hunt product URL |
outboundUrl | Outbound product website URL when enabled and available |
source | Feed, leaderboard, or product page used for the row |
discoveryWindow | Latest, daily, weekly, monthly, or yearly discovery mode |
cacheStatus | Whether the row came from cache or a fresh read |
scrapedAt | Timestamp when the row was saved |
Pricing
This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.
| Event | What is charged | Price |
|---|---|---|
actor-start | Small one-time charge when the run starts. | $0.00005 |
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
product-cached | One Product Hunt product row saved from a still-fresh cache entry. | $0.14375 / 1,000 | $0.125 / 1,000 | $0.0975 / 1,000 | $0.075 / 1,000 | $0.05 / 1,000 | $0.035 / 1,000 |
product-fresh | One Product Hunt product row saved from a fresh Product Hunt feed read. | $0.28368 / 1,000 | $0.24668 / 1,000 | $0.19241 / 1,000 | $0.14801 / 1,000 | $0.09867 / 1,000 | $0.06907 / 1,000 |
Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.
Input configuration
| Setting | JSON key | Use it for | Example |
|---|---|---|---|
| Discovery window | discoveryWindow | Choose latest, daily, weekly, monthly, or yearly discovery. | "daily" |
| Window date | windowDate | Anchor an archived leaderboard period with YYYY-MM-DD. | "2026-07-14" |
| Maximum products | maxItems | Cap saved rows and spend. | 25 |
| Topics | topics | Keep launches matching any listed Product Hunt topic. | ["Artificial Intelligence"] |
| Categories | categories | Keep launches matching any listed public category. | ["Developer Tools"] |
| Launch date | launchDate | Optional Product Hunt launch date. | 2026-07-03 |
| Product Hunt URLs | startUrls | Optional producthunt.com/products/... URLs. | [{"url":"https://www.producthunt.com/products/example"}] |
| Launch details | includeLaunchDetails | Add available votes, makers, media, and category metadata. | true |
| Comments | includeComments | Add public launch discussion comments when available. | false |
| Reviews | includeReviews | Add public reviews and ratings when available. | false |
| Launch history | includeLaunchHistory | Add public launch dates, ranks, and points. | false |
| Built with | includeBuiltWith | Add publicly listed technologies and products. | false |
| Website metadata | includeWebsiteEnrichment | Visit the outbound website for its final URL, title, and description. | false |
| Include outbound redirect URL | includeRedirectUrl | Save outbound product URLs when available. | true |
| Cache TTL in hours | cacheTtlHours | Reuse fresh cache for lower-cost repeated runs. | 24 |
| Force fresh read | forceFresh | Ignore cache and read fresh public data. | false |
| Run work budget | runBudgetSeconds | Stop admitting new work early enough to save diagnostics before the platform timeout. | 240 |
| Proxy | proxyConfiguration | Enable Apify Proxy after repeated source rate limits. | {"useApifyProxy":true} |
Example input
{"maxItems": 25,"launchDate": "2026-07-03","includeRedirectUrl": true,"cacheTtlHours": 24,"forceFresh": false}
Example output
{"title": "Example Product","tagline": "A useful product for modern teams","launchDate": "2026-07-03","productUrl": "https://www.producthunt.com/products/example-product","outboundUrl": "https://example.com","source": "https://www.producthunt.com/feed","discoveryWindow": "latest","cacheStatus": "fresh","scrapedAt": "2026-07-03T12:00:00.000Z"}
How to run it
- Open the Actor on Apify.
- Set
maxItems. - Optionally choose a launch date or Product Hunt URLs.
- Decide whether to include outbound redirect URLs.
- Choose cache settings.
- Start the run and export the dataset.
Search tips
- Use date-specific runs: Launch-date inputs make daily dashboards easier to compare.
- Keep cache on for routine checks: Cache-aware runs reduce repeated work when freshness is not critical.
- Force fresh for current reporting: Use
forceFreshwhen you need the latest public launch rows. - Review outbound links: Enable
includeRedirectUrlwhen lead research needs product websites. - Start small: Test with 10-25 rows before scheduling larger scans.
Limits and caveats
- The Actor extracts publicly visible Product Hunt launch data only.
- It does not collect private maker contact data, emails, or logged-in-only fields.
- Freshness depends on public Product Hunt availability and cache settings.
- Outbound links may be unavailable for some products.
- Explicit URLs are isolated in bounded batches. If one URL is unavailable, successful URLs are still saved and
RUN_SUMMARY.statusisPARTIAL. - The default 240-second work budget leaves time to save
RUN_CHECKPOINTandRUN_SUMMARYbefore the Actor's 300-second platform timeout. Increase both limits together only when a larger enrichment run needs it. - A completed filter with no matching launch fails loudly. A runtime cutoff after some rows have been saved exits successfully as a partial run and reports the remaining work.
API usage
Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/product-hunt-scraper').call({discoveryWindow: 'daily',maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("fetch_cat/product-hunt-scraper").call(run_input={"discoveryWindow": "daily", "maxItems": 25})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL:
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~product-hunt-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"maxItems":25,"includeRedirectUrl":true}'
MCP and AI agents
This Actor can be used through the official Apify MCP server at https://mcp.apify.com.
For a focused single-Actor tool setup, use:
https://mcp.apify.com?tools=fetch_cat/product-hunt-scraper
Claude Code:
$claude mcp add --transport http apify-product-hunt 'https://mcp.apify.com?tools=fetch_cat/product-hunt-scraper'
JSON MCP configuration:
{"mcpServers": {"apify-product-hunt": {"type": "http","url": "https://mcp.apify.com?tools=fetch_cat/product-hunt-scraper"}}}
Use the same JSON keys shown in the input configuration table, such as maxItems, launchDate, startUrls, includeRedirectUrl, cacheTtlHours, and forceFresh.
Example prompts:
- “Find the top Product Hunt launches from the latest published daily leaderboard.”
- “Export launches in Artificial Intelligence and include launch history.”
- “Inspect these Product Hunt product URLs and keep successful rows if one URL is unavailable.”
FAQ
Can I scrape older Product Hunt launch dates?
Use launchDate when the public Product Hunt page exposes that date's launch data.
Does this collect emails?
No. It exports public launch metadata and links only.
How do I avoid stale rows?
Set forceFresh to true or reduce cacheTtlHours.
Can I export to CSV or Excel?
Yes. Apify datasets can be downloaded as CSV, JSON, Excel, XML, RSS, HTML, or accessed through the API.
Related Actors
- Hacker News Search Scraper
- GitHub Repositories Search Scraper
- Reddit Scraper
- Website Contact Finder
- Substack Posts Scraper
Support
If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.
Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.
Privacy and data handling
This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses the inputs you provide and the public records needed to produce the documented dataset to produce the output dataset and sends requests to public Product Hunt pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.