Product Hunt Scraper — $0.9/1K · Launches, Votes & Makers avatar

Product Hunt Scraper — $0.9/1K · Launches, Votes & Makers

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Product Hunt Scraper — $0.9/1K · Launches, Votes & Makers

Product Hunt Scraper — $0.9/1K · Launches, Votes & Makers

Collect Product Hunt pages and launches. Search, maker and topic modes may require your API credentials. Bulk export: JSON, CSV, Excel and API. PPE: $0.9/1K product results; start fee extra.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

2

Bookmarked

12

Total users

1

Monthly active users

14 days ago

Last modified

Share

ProductHunt Scraper | Leaderboard, Search, Makers & Ranking

⚡ Use this Actor in n8n — no code

Building no-code workflows in n8n? Install our community node and drop this Actor straight onto your canvas:

📦 n8n-nodes-apivault-producthunt

Setup: in n8n go to Settings → Community Nodes → Install, paste n8n-nodes-apivault-producthunt and confirm → add the new node to your workflow → paste your Apify API token → fill in the input and run.

Collect accessible Product Hunt product data through optional authenticated GraphQL and available page-extraction fallbacks. Five modes are supported; API listing modes require your credentials. Read the coverage and billing limitations below before running.

Example modes and access requirements

1. Product URLs

Scrape specific product pages:

{
"mode": "urls",
"productUrls": [
"https://www.producthunt.com/posts/chatgpt",
"https://www.producthunt.com/posts/notion"
]
}

2. Daily Leaderboard ⭐

API credentials required. This is a vote-ordered listing filtered by observed creation date, not a verified historical daily ranking:

{
"mode": "leaderboard",
"date": "2026-05-22",
"limit": 3
}

With an empty date this version requests a vote-ordered API listing without a date filter; do not call it a verified today-only leaderboard.

With private API credentials configured, request a small keyword sample:

{
"mode": "search",
"searchQuery": "AI writing tool",
"limit": 3
}

📦 Output fields (30+)

FieldDescription
productNameProduct title
taglineShort description
descriptionFull description
websiteProduct website URL
upvotesUpvote count
commentsCountComment count
reviewsCountReview count
ratingAverage rating (0-5)
followersFollower count
topics[]Category list (structured)
topicsStrCategories as comma string
makers[]{name, username, headline, profileImage} per maker
makersStrMakers as comma string
hunter{name, username} — who posted it
imageThumbnail URL
gallery[]Screenshot/media URLs
pricingFree / Paid / Freemium / Subscription
badges[]PH badges (Product of the Day, etc.)
isFeaturedWas it featured?
featuredAtFeatured timestamp
launchDateLaunch date (YYYY-MM-DD)
dailyRankRank on launch day
weeklyRankRank for the week
popularityScore0-100 composite score
productIdPH internal ID
slugURL slug
dataSource"graphql" or "rendered"

📖 Sample output

{
"success": true,
"productName": "ChatGPT",
"tagline": "An AI-powered chatbot by OpenAI",
"website": "https://chat.openai.com",
"upvotes": 5234,
"commentsCount": 312,
"reviewsCount": 189,
"rating": 4.8,
"followers": 12400,
"topics": ["Artificial Intelligence", "Productivity", "Chatbots"],
"topicsStr": "Artificial Intelligence, Productivity, Chatbots",
"makers": [
{"name": "Sam Altman", "username": "sama", "headline": "CEO at OpenAI", "profileImage": "..."}
],
"makersStr": "Sam Altman",
"hunter": {"name": "Greg Brockman", "username": "gdb"},
"image": "https://ph-files.imgix.net/...",
"gallery": ["https://...", "https://..."],
"pricing": "Free",
"badges": ["Product of the Day", "Product of the Week"],
"isFeatured": true,
"featuredAt": "2022-11-30T00:00:00Z",
"launchDate": "2022-11-30",
"dailyRank": 1,
"weeklyRank": 1,
"popularityScore": 97,
"productId": "12345",
"slug": "chatgpt",
"dataSource": "graphql"
}

💼 Use cases

  • Startup research — track what's launching in your niche
  • Competitor monitoring — watch competitor launches and upvote velocity
  • Daily digest — collect a bounded source sample for a reviewed digest
  • Maker research — find prolific makers and their products
  • Trend analysis — search by keyword to see what's popular
  • Investment research — track traction signals (upvotes, reviews, badges)

💰 Pricing

$0.9 per 1000 products ($0.0009 per result) — pay-per-event.

🔧 How it works

  1. Authenticated GraphQL API when your Product Hunt credentials are provided and accepted. Field availability varies.
  2. Available page-extraction and HTML fallbacks in supplied-URL mode. Source restrictions can still prevent extraction.

Product Hunt research: choose an available workflow

Use this Product Hunt scraper for public launch/product research, competitor shortlists and maker portfolios. Five production modes exist, with different access requirements. URL mode can use available page extraction without your Product Hunt API credentials. Leaderboard, search, maker and topic modes require both phClientId and phClientSecret and successful authentication.

ModeInputAccess and coverage
urlsproductUrlsSupplied product pages; available API or page fallback
leaderboarddate and limitAPI required; vote-ordered posts filtered by observed creation date
searchsearchQuery and limitAPI required; one API search response, not exhaustive pagination
makermakerUsername and limitAPI required; paginated available maker products
topictopicSlug, topicOrder, limitAPI required; paginated available topic results

Leaderboard limitation: the current implementation is not a verified historical Product of the Day ranking. It requests vote-ordered posts and filters returned creation dates when date is supplied. Do not publish those results as the official daily archive, or assume all launches for that date were found.

Start with one known product page

{
"mode": "urls",
"productUrls": [
"https://www.producthunt.com/posts/notion"
],
"maxConcurrency": 1,
"timeout": 60,
"includeCompetitorAnalysis": false
}

URL count bounds this mode. limit is used by API listing modes; it does not cap a supplied productUrls list. Keep the first list small and inspect success, productName and dataSource before increasing scope.

Research a maker portfolio

{
"mode": "maker",
"makerUsername": "rrhoover",
"limit": 3,
"includeCompetitorAnalysis": false
}

The maker example requires private API credentials configured separately. It is schema-compatible, not a claim that credential-free maker collection works. Do not paste real secrets into shared Tasks, screenshots, URLs or documentation.

Explore a topic sample

{
"mode": "topic",
"topicSlug": "developer-tools",
"topicOrder": "NEWEST",
"limit": 3,
"includeCompetitorAnalysis": false
}

This also requires authenticated Product Hunt API access. Returned order and coverage follow the available source response; a small sample is not a measure of market share or a complete category inventory.

Separate source observations from derived research signals

Upvotes, comments, reviews, badges and maker fields depend on the collection route and source availability. An output example is not a guarantee that every route returns all fields. popularityScore and other derived text/velocity signals are heuristics; they are not revenue, active users, verified sentiment research or evidence of sustained growth. Keep dataSource and source URLs with any report and manually review important claims.

The sample output above illustrates field shapes and invented example values; it is not current Product Hunt data or a verified statement about named people. Raw JSON is preferable for nested topics, gallery and maker objects. Flatten or select those fields deliberately for a CSV workflow.

Current billing and failure behavior

The active rate is $0.0009 per Dataset row ($0.90/1,000), plus the $0.00005 start event per GB, minimum one, and user-paid platform resources. Ten delivered rows have $0.009 in result events before those additional charges.

This production version writes URL failure objects into the Dataset. Those rows can also incur the Dataset-item event. A successful run is not proof of successful product extraction. Inspect success and error, and count useful products separately from billed rows. Optional includeCompetitorAnalysis writes an extra Dataset record in supported modes and can add a billed row. Keep it false for a predictable first test. Its comparisons describe collected products, not the whole market. This version has no structured SUMMARY/ERRORS/continuation contract; use actual Dataset rows and the run log. These limitations require a separate runtime repair and are not changed by this README update.

Automation and FAQ

Use Actor apivault_labs/producthunt-scraper through the Console or linked clients. API callers use authenticated POST /v2/acts/jUWLvgRimoRidnJCK/runs with the same input and run-level timeout/charge controls. MCP clients should discover apivault_labs--producthunt-scraper and inspect the current wrapper. Poll the returned run, then read its Dataset rather than starting a duplicate.

Do all modes work without a key? No. Only supplied-URL extraction has a credential-free source path. API listing modes require your Product Hunt app.

Can I resume a large search automatically? This production input has no continuation object. Do not copy parameters from another local candidate version.

Can I monitor changes? Schedule dated runs and compare product identity outside the Actor. A current vote count is not a measured growth rate by itself.

n8n and developer integrations

Use this Actor in your automation or application with the existing community integrations below. An Apify account and API token are required; Actor and platform charges follow the current pricing.

  • n8n community node: n8n-nodes-apivault-producthunt. Install package name n8n-nodes-apivault-producthunt in a self-hosted n8n instance that permits community packages.
  • Python client and examples: GitHub.
  • Python client and examples: GitHub.
  • n8n source and usage: GitHub.

These are community packages. Publication on npm does not establish n8n verification or availability in n8n Cloud. Review the linked package README for supported inputs and setup.