Product Hunt Scraper (with Emails) avatar

Product Hunt Scraper (with Emails)

Pricing

from $0.40 / 1,000 product scrapeds

Go to Apify Store
Product Hunt Scraper (with Emails)

Product Hunt Scraper (with Emails)

Scrape Product Hunt launches, leaderboards, categories, and topics. Extract product names, taglines, upvotes, ranks, makers, reviews, comments, and emails. Export as JSON, CSV, Excel.

Pricing

from $0.40 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Product Hunt Scraper

Extract Product Hunt launches, leaderboard rankings, and product data from daily, weekly, monthly, yearly, category, and topic pages — including upvotes, comments, reviews, makers, built-with tools, launch history, and optional website email enrichment.

Scrape any Product Hunt leaderboard or category page — get product names, taglines, upvotes, ranks, maker profiles, reviews, comments, launch history, and website emails in structured rows ready for lead generation, market research, or competitor monitoring.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Product Hunt Scraper (parsebird/product-hunt-scraper) extracts Product Hunt launches and product data. Call via ApifyClient: client.actor("parsebird/product-hunt-scraper").call(run_input={"maxNbItemsToScrape": 25}). Inputs: maxNbItemsToScrape (int, 0=all), shouldIncludePromotedListings (bool), shouldScrapeOnlyFeaturedLaunches (bool), shouldScrapeListingDetails (bool — adds comments, reviews, built-with, launches), shouldScrapeWebsite (bool — fetches external website + emails), startDate (YYYY-MM-DD), endDate (YYYY-MM-DD), startWeek (YYYY-WW), endWeek (YYYY-WW), startMonth (YYYY-MM), endMonth (YYYY-MM), startYear (int), endYear (int), categorySlugs (string[]), topicSlugs (string[]), productHuntPageUrls (string[]), proxyConfiguration (object). Output fields: isPromoted, name, url, tagline, categories, followers, upvotesCount, commentsCount, reviewsCount, launchesCount, dayRank, weekRank, monthRank, yearRank, launchDate, description, links, xAccountHandle, imageUrls, videoUrls, tags, team, builtWith, launches, comments, reviews, website (url, title, description, emails, rawText). Leave all target sections empty for today's California-time daily leaderboard. Get API token: https://console.apify.com/account#/integrations. Pricing: $0.50/1,000 products (standard), $0.40/1,000 (Gold). Listing details: $1.00/1,000 (standard), $0.80/1,000 (Gold). Email enrichment: $2.00/1,000 (standard), $1.60/1,000 (Gold).

What does Product Hunt Scraper do?

Product Hunt Scraper extracts structured product data from Product Hunt leaderboards, categories, and topics at scale — no API key or account required.

  • 🗓️ Daily, weekly, monthly, and yearly leaderboards — Scrape any Product Hunt leaderboard page with date ranges
  • 🏷️ Category and topic pages — Extract products from any Product Hunt category or topic by slug
  • 🔗 Direct URL support — Paste leaderboard, category, or topic page URLs directly
  • 📊 Rankings and engagement — Get day/week/month/year ranks, upvotes, comments, and follower counts
  • 💬 Listing details enrichment — One toggle to add comments, reviews, built-with tools, and launch history per product
  • 🌐 Website enrichment with emails — Three-pass email discovery: fetches main page, contact/about pages, and deep links to find public email addresses
  • Defaults to today — Leave all fields empty and the actor scrapes today's California-time daily leaderboard automatically
  • 📦 Export anywhere — Download as JSON, CSV, Excel, or HTML directly from the Apify platform

What data can you extract from Product Hunt?

Each product row includes core Product Hunt data with optional enrichments. Missing scalars are null and missing lists are [].

Data FieldTypeDescription
isPromotedbooleantrue for sponsored Product Hunt placements, false for organic
namestringProduct name from Product Hunt
urlstringProduct Hunt product URL
taglinestringOne-line product pitch
descriptionstringFull product description
categoriesstring[]Product Hunt categories/topics for the product
upvotesCountnumberTotal upvote count
followersnumberProduct follower count
commentsCountnumberTotal comment count
reviewsCountnumberTotal review count
launchesCountnumberNumber of Product Hunt launches
dayRank, weekRank, monthRank, yearRanknumberLeaderboard rankings
launchDatestringISO YYYY-MM-DD launch date
linksstring[]External company links from Product Hunt
xAccountHandlestringX (Twitter) account handle
imageUrlsstring[]Product Hunt gallery images
videoUrlsstring[]Product Hunt video links
teamarrayMaker/team member objects with name, username, avatar
builtWitharrayBuilt-with product objects (with listing details enrichment)
launchesarrayLaunch history with ranks, dates, upvotes (with listing details enrichment)
commentsarrayComment objects with user, text, upvotes (with listing details enrichment)
reviewsarrayReview objects with user, rating, text (with listing details enrichment)
websiteobjectExternal website with url, title, description, emails, rawText (with website enrichment)

How to scrape Product Hunt

  1. Open the Actor — Go to Product Hunt Scraper on Apify Console
  2. Choose your target — Pick one target section: daily dates, weekly, monthly, yearly, category slugs, topic slugs, or page URLs. Leave all empty for today's leaderboard.
  3. Set your limit — Enter a number in "Maximum items across the whole run" (prefilled to 25 for a starter run)
  4. Toggle enrichments — Enable "Listing details" for comments, reviews, built-with, and launches. Enable "Website enrichment" for email extraction.
  5. Click Start — The Actor scrapes Product Hunt pages and emits one row per product to your dataset
  6. Download your data — Export results as JSON, CSV, Excel, or HTML from the dataset tab

Input parameters

ParameterTypeRequiredDefaultDescription
maxNbItemsToScrapeintegerNo0 (all)Cap across the whole run. Prefilled to 25.
shouldIncludePromotedListingsbooleanNofalseInclude sponsored Product Hunt placements
shouldScrapeOnlyFeaturedLaunchesbooleanNofalseKeep only featured launches
shouldScrapeListingDetailsbooleanNofalseAdd comments, reviews, built-with, launches
shouldScrapeWebsitebooleanNofalseFetch external website + emails
startDate / endDatestringNoDaily pages in YYYY-MM-DD format
startWeek / endWeekstringNoWeekly pages in YYYY-WW format
startMonth / endMonthstringNoMonthly pages in YYYY-MM format
startYear / endYearintegerNoYearly pages
categorySlugsstring[]No[]Product Hunt category slugs
topicSlugsstring[]No[]Product Hunt topic slugs
productHuntPageUrlsstring[]No[]Direct leaderboard/category/topic URLs
proxyConfigurationobjectNoDatacenterProxy settings (datacenter by default)

Output example

This example shows a product extracted from the daily leaderboard with all enrichments enabled:

{
"isPromoted": false,
"thumbnailUrl": "https://ph-files.imgix.net/4a7fea51-7b89-4347-9455-8423058ba07a.png?auto=compress&codec=mozjpeg&cs=strip&auto=format&w=64&h=64&fit=crop&frame=1",
"name": "Mina Meeting Assistant",
"url": "https://www.producthunt.com/products/mina-meeting-assistant",
"tagline": "Your AI Teammate now responds and executes during your calls",
"categories": ["Productivity", "Artificial Intelligence", "No-Code"],
"followers": 1629,
"commentsCount": 138,
"reviewsCount": 5,
"launchesCount": 1,
"dayRank": 1,
"weekRank": 8,
"monthRank": 16,
"yearRank": null,
"launchDate": "2026-06-01",
"description": "Mina is an AI meeting assistant that actively participates in meetings, responds in real time, pulls context from your tools, and helps move work forward while the conversation is still happening.",
"upvotesCount": 502,
"links": ["https://getmina.ai"],
"xAccountHandle": "@heyminaai",
"imageUrls": ["https://ph-files.imgix.net/4a7fea51-7b89-4347-9455-8423058ba07a.png?auto=format", "..."],
"videoUrls": [],
"tags": ["Productivity", "Artificial Intelligence", "No-Code"],
"team": [],
"builtWith": [],
"launches": [],
"comments": [],
"reviews": [],
"website": {
"url": "https://getmina.ai",
"title": "Mina - AI Meeting Assistant | Talks, Listens & Works for You",
"description": "Mina, your AI Meeting Assistant - listens, speaks, follows directions & executes tasks live to make every meeting more productive.",
"emails": ["hello@getmina.ai"],
"rawText": "..."
}
}

Download results in JSON, CSV, Excel, or HTML directly from the Apify dataset.

Tips for scraping Product Hunt leaderboards and categories

Pick one target section per run. Start date, Start week, Start month, and Start year open date-based leaderboard pages. Category slugs and Topic slugs open slug pages. Product Hunt page URLs can mix supported daily, weekly, monthly, yearly, category, and topic URLs in one run. Leave every target section empty for today's California-time daily leaderboard, or fill only one target section.

Product Hunt shows ~20 products per leaderboard page. Daily leaderboard pages include approximately 20 items in their server-rendered payload (typically 17 organic + 3 promoted). If you need more than 20 products, use date ranges to scrape multiple days, or enable promoted listings.

Scrape a single past leaderboard day in depth: Set Start date to 2026-03-20, Maximum items to 3, and enable both enrichment toggles. This is the quickest way to inspect one historical Product Hunt daily leaderboard with full product details.

Scrape a Product Hunt category: Set Category slugs to ["ai-code-editors"] and Maximum items to 20. Category pages return products sorted by relevance on Product Hunt.

Scrape multiple Product Hunt pages in one run: Set Product Hunt page URLs to ["https://www.producthunt.com/leaderboard/daily/2026/5/1/all", "https://www.producthunt.com/topics/developer-tools"] and Maximum items to 25. The actor scrapes each supported page sequentially.

First run: Leave every target section empty, set Maximum items to 5, and leave enrichments off. This returns today's top Product Hunt launches in seconds with minimal cost.

How much does it cost to scrape Product Hunt?

Product Hunt Scraper uses pay-per-event pricing — you only pay for products delivered, not compute time.

EventFree / Silver / BronzeGold
Scraped product$0.50 / 1,000$0.40 / 1,000
Listing details (add-on)$1.00 / 1,000$0.80 / 1,000
Email enrichment (add-on)$2.00 / 1,000$1.60 / 1,000
  • Scraped product — Charged per product row saved to your dataset.
  • Listing details — Charged when the listing details toggle is enabled (adds comments, reviews, built-with, launches).
  • Email enrichment — Charged only when website enrichment finds at least one public email address for a saved row. If no emails are found, no email enrichment charge applies.

Example: Scraping 1,000 Product Hunt products from daily leaderboards costs $0.50. Adding listing details costs an additional $1.00. Adding website enrichment and finding emails on 200 of those products adds $0.40 for email enrichment, totaling $1.90.

New users get a free trial with $5 of platform credits to test any Actor.

See the Pricing tab for current rates.

Programmatic API usage

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run_input = {
"startDate": "2026-06-01",
"maxNbItemsToScrape": 25,
"shouldScrapeListingDetails": True,
"shouldScrapeWebsite": True,
}
run = client.actor("parsebird/product-hunt-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['dayRank']}. {item['name']}{item['upvotesCount']} upvotes")

JavaScript

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_API_TOKEN>" });
const input = {
startDate: "2026-06-01",
maxNbItemsToScrape: 25,
shouldScrapeListingDetails: true,
shouldScrapeWebsite: true,
};
const run = await client.actor("parsebird/product-hunt-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
console.log(`${item.dayRank}. ${item.name}${item.upvotesCount} upvotes`);
});

Get your API token at Apify Console → Integrations.

Use Apify scheduling to run daily, weekly, or at any interval. Combine with integrations to push results to Google Sheets, Slack, webhooks, or your database.

Product Hunt Scraper accesses publicly available product data from Product Hunt's leaderboard, category, and topic pages. All information extracted is visible to any visitor of producthunt.com without authentication.

This Actor does not access private accounts, bypass authentication, or collect non-public personal data. It processes only the same public product launch data available to any browser visitor.

As with any data collection tool, users should review Product Hunt's terms of service and ensure their specific use case complies with applicable regulations. For more context on web scraping legality, see Apify's guide on web scraping and the law.

Explore more ParseBird data extraction tools:

FAQ

What Product Hunt pages can I scrape? You can scrape daily, weekly, monthly, and yearly leaderboard pages, category pages, and topic pages. Product URLs, post URLs, search pages, and the homepage are not supported — only pages that list multiple products.

Do I need a Product Hunt API key? No. Product Hunt Scraper extracts data from Product Hunt's public web pages. No API key, developer token, or Product Hunt account is required.

How fresh is the data? Every run scrapes Product Hunt live. Results reflect the page at run time — upvotes, ranks, and comments are current as of the moment the actor runs.

Can I scrape historical Product Hunt leaderboards? Yes. Product Hunt keeps historical leaderboard pages. Set Start date to any past date (e.g. 2024-01-15) to scrape that day's leaderboard. Use date ranges for multiple days.

What is the listing details enrichment? When enabled, the actor fetches additional data from each product's Product Hunt listing page — including comments, reviews, built-with tools, and launch history. This is charged as a separate "detail-scraped" event.

What is the email enrichment add-on? When you enable "Website enrichment", the actor fetches each product's external website using a three-pass strategy (main page → contact pages → deep links) to discover public email addresses. The email enrichment event is charged only for rows where at least one email is found.

Why did I get fewer items than my maxItems setting? Product Hunt serves approximately 20 items per leaderboard page in the server-rendered payload. If you set maxItems to 25 but only one daily page is being scraped, you may get up to 20 items (or fewer if promoted listings are excluded). Use date ranges or multiple pages to get more total items.

Can I schedule recurring Product Hunt scrapes? Yes. Use Apify scheduling to run daily, weekly, or at any custom interval. Combine with integrations to push results to Google Sheets, Slack, webhooks, or your database.

How many products can I scrape per run? Set maxNbItemsToScrape to 0 for unlimited results. Each leaderboard page provides up to ~20 products. Use date ranges to scrape multiple days and get hundreds or thousands of products in one run.

What format are the results in? Results are available as JSON, CSV, Excel, or HTML directly from the Apify dataset tab. You can also access them programmatically via the Apify API.