Product Hunt Scraper (with Email Enrichment) avatar

Product Hunt Scraper (with Email Enrichment)

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Product Hunt Scraper (with Email Enrichment)

Product Hunt Scraper (with Email Enrichment)

Extract product names, upvotes, makers, taglines, and website URLs from ProductHunt MCP-ready. $2.00/1K.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

2

Bookmarked

63

Total users

11

Monthly active users

3 days ago

Last modified

Share

Product Hunt Lead Generator — Products, Websites & Verified Emails

Turn Product Hunt launches into structured, qualified company leads. The Actor retrieves products through the official Product Hunt API, resolves each product's real website with identity checks, assesses up to five relevant public pages, returns up to three ranked contacts, verifies deliverability, and explains every lead score with provenance.

What it does

  • Accepts a daily date/range, rolling lookback, weekly/monthly/yearly period, Product Hunt search, topic, direct post/product-launch URL, or dated leaderboard URL.
  • Resolves external product websites from official Product Hunt links, Product Hunt redirect metadata, maker websites, and owner-managed DataForSEO search with SerpApi fallback.
  • Accepts a search result only after the candidate homepage confirms the product identity; directory, social, marketplace, and unrelated results are rejected.
  • Uses a static-first crawl, then a browser only when useful, for at most five pages per website: homepage, then up to four homepage-linked contact, about, team, privacy, or terms pages.
  • Extracts public mailto: links, visible and obfuscated emails, public data attributes, and JSON-LD email fields; ranks same-domain and role contacts; returns at most three.
  • Verifies scraped emails with the managed EmailListVerify integration.
  • If fewer than three deliverable public emails remain, tries a named maker contact lookup first and a domain-only business-contact lookup only if still needed.
  • Separates verified_emails from risky_emails, records exact provider statuses, and calculates a transparent lead status, 0–100 score, tier, and signals.
  • Writes OUTPUT and RUN_SUMMARY for every terminal run.

No Product Hunt page scraping, clearance-cookie harvesting, CAPTCHA solving, login automation, challenge bypass, guessed contact paths, or form submission is used.

Input

FieldDescription
modeleaderboard (default), search, topic, or urls.
leaderboardPerioddaily, weekly, monthly, or yearly.
startDate, endDateInclusive daily range in YYYY-MM-DD; endDate is only for daily leaderboard mode.
lookbackDaysRolling recent window when no explicit date is supplied.
searchQueryProduct Hunt keyword used in search mode.
topicProduct Hunt topic slug used in topic mode.
startUrlsDirect post/product-launch URLs or dated daily/weekly/monthly/yearly leaderboard URLs.
maxResultsMaximum products to process; default 100.
includeAllProductsInclude featured and non-featured published products; default true. Disable for featured-only results.
maxConcurrencyConcurrent enrichment jobs; default three, maximum five.
enrichEmailsRun website/contact enrichment; default true.
resolveWebsitesResolve and verify external product websites; default true.
maxWebsitePagesTotal pages assessed per website; default and maximum five.
maxEmailsPerProductRanked contacts returned and billed per product; default and maximum three.
verifyEmailsVerify public emails with managed EmailListVerify; default true.
findContactsFill missing deliverable contacts with managed Contact Finder; default true.
websiteUrlOverridesOptional approved mapping from Product Hunt URL/slug/name/ID to an external website.
outputModefull, lean, or leads (only rows with at least one contact).

Provider credentials are owner-managed encrypted Actor secrets. Callers do not supply Product Hunt, DataForSEO, SerpApi, or EmailListVerify keys, and credentials are never written to logs, datasets, URLs, OUTPUT, or RUN_SUMMARY.

Examples

All July 2026 launches

{
"mode": "leaderboard",
"leaderboardPeriod": "daily",
"startDate": "2026-07-01",
"endDate": "2026-07-31",
"maxResults": 1000,
"includeAllProducts": true,
"enrichEmails": true,
"resolveWebsites": true,
"maxWebsitePages": 5,
"maxEmailsPerProduct": 3,
"verifyEmails": true,
"findContacts": true,
"outputMode": "full"
}

Monthly Product Hunt URL

{
"mode": "urls",
"startUrls": [
{ "url": "https://www.producthunt.com/leaderboard/monthly/2026/7" }
],
"maxResults": 1000,
"enrichEmails": true,
"verifyEmails": true,
"findContacts": true
}

Weekly Product Hunt URL

Product Hunt weekly archive URLs use an ISO week number. For example, 2026/26 represents June 22–28, 2026.

{
"mode": "urls",
"startUrls": [
{ "url": "https://www.producthunt.com/leaderboard/weekly/2026/26" }
],
"maxResults": 250
}

Cost-efficient enrichment cascade

For each Product Hunt product, the Actor stops work as soon as the configured limits are satisfied:

  1. Use a directly exposed external ProductLink or approved override when available.
  2. Otherwise inspect Product Hunt redirect metadata, then up to two public maker websites.
  3. If still unresolved, make one DataForSEO organic search. SerpApi is used only as fallback when DataForSEO fails or returns no verified match.
  4. Fetch each candidate homepage and accept it only when domain, title, metadata, body, or tagline evidence passes the identity threshold.
  5. Assess the homepage statically. Read only directly linked same-origin contact, about, team, privacy, or terms pages, capped at five total pages.
  6. Launch a browser only when the static pass has fewer than the requested emails.
  7. Verify selected public emails with EmailListVerify.
  8. When fewer than the requested number are deliverable, try one named-maker Contact Finder request (5 provider credits). If still empty, try one domain-only request (10 credits). Only same-domain, deliverable, high/medium-confidence results qualify.
  9. Rank all evidence, keep at most three contacts, persist the complete row, then charge email events for that persisted selection.

The run log reports event-cost, website-search-query, and EmailListVerify-credit ceilings before processing. RUN_SUMMARY reports actual attempts, provider-reported DataForSEO cost, contact-discovery credits, verified contacts, lead tiers, and named event counts.

Website crawl boundary

The public-site crawl never invents /contact, /about, or other paths. It visits only pages linked from the verified homepage and prioritizes them in this order:

  1. homepage
  2. contact
  3. about
  4. team
  5. privacy
  6. terms and conditions

Because the total cap is five, a lower-priority page is assessed only when space remains after higher-priority linked pages. Off-origin fallback redirects are not extracted.

Output

Every dataset row includes Product Hunt metadata plus these lead fields:

FieldMeaning
product_hunt_urlCanonical Product Hunt post URL.
product_hunt_website_urlOriginal Product Hunt website field retained for provenance.
website_urlAccepted external company homepage, or null.
website_resolution_sourceapi_website_product_link, input_override, product_hunt_redirect, maker_website, dataforseo_organic, serpapi_organic, or none.
website_resolution_statusverified_external, verified_search_match, unresolved, or not_available.
website_resolution_confidenceIdentity confidence from 0–100.
website_resolution_signalsEvidence explaining why the website was accepted.
company_domainNormalized domain used for email matching.
emailsUp to three final ranked contacts.
verified_emailsContacts with exact EmailListVerify status ok.
risky_emailsSelected contacts not confirmed with status ok; inspect email_verifications.
rejected_emails, rejected_email_verificationsHard-invalid public evidence excluded from the final contact list and email charges.
email_verificationsExact status, source, optional finder confidence, and check time per contact.
email_sourcepage_scrape, emaillistverify_contact_finder, mixed, or none.
email_pages_visited, email_page_urlsExact bounded crawl coverage.
contact_discovery_attempts, contact_discovery_creditsManaged finder usage for the product.
lead_statusverified_contact, catch_all_contact, unverified_contact, no_contact, or unresolved_website.
lead_score, lead_tier, lead_signalsDeterministic qualification and its explanation.
enrichment_warningsSafe, non-secret per-record warnings.

OUTPUT contains the compact terminal outcome. RUN_SUMMARY contains input coverage, record counts, website resolution, provider usage/cost, contact verification, lead tiers, warnings, and charged event counts.

Pricing and provider usage

Pricing remains whatever is configured in the live Actor Pricing tab; this release does not change it.

  • One primary result event is coupled to each successfully persisted dataset row.
  • An email-found event is charged only after persistence, once per selected contact and never above maxEmailsPerProduct.
  • EmailListVerify uses 1 credit per public-email verification, 5 credits for a named contact lookup, and 10 credits for a domain-only lookup, subject to the provider's current account terms.
  • DataForSEO cost is returned by the provider and accumulated in RUN_SUMMARY; search is called only for unresolved websites.
  • SerpApi is a fallback, not a parallel default call.
  • Apify platform compute is separate from Pay-per-event charges.

For large historical windows, prove a small canary first and set an Apify run spending limit appropriate for the desired row/email ceiling.

Run outcomes

OutcomeMeaning
COMPLETESelected work completed with no recorded gaps.
PARTIALUseful rows were persisted, but an API, website, provider, page, or spending-limit gap remained.
VALID_EMPTYValid input completed without output rows for the selected mode/filter.
INVALID_INPUTA mode, date, URL, or field can be corrected by the caller.
UPSTREAM_FAILEDValid Product Hunt work could not produce useful data.
CONFIG_ERRORRequired owner configuration, such as Product Hunt API access, is missing.

See QA_GRAPH.md for the regression graph and final-build cloud acceptance gate.

Responsible use

Use Product Hunt data only under access and commercial terms applicable to your account. Respect destination-site terms, robots directives where applicable, privacy and anti-spam laws, lawful-basis requirements, suppression lists, and opt-outs. Verification indicates deliverability—not consent to contact.