Product Hunt Launch & Topic Data Exporter avatar

Product Hunt Launch & Topic Data Exporter

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Product Hunt Launch & Topic Data Exporter

Product Hunt Launch & Topic Data Exporter

Export Product Hunt launches with votes, comments, makers, hunter and topics from the daily leaderboard, a topic, a maker's history, or specific product slugs.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Nimbryxo-studio

Nimbryxo-studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Product Hunt Launch, Comment & Review Exporter

Collect Product Hunt launches from the full daily feed, daily/weekly/monthly/yearly leaderboards, a topic, a category, a keyword search, a list of products, or a list of specific launches. No Product Hunt account, API token, cookie or browser is needed.

Each row is one launch with votes, comments count, rank, hunter, makers, topics, media, website, pricing, review score, and an optional discussion thread, review list, and launch history.

Modes

ModeWhat it returns
latestToday's complete daily feed (falls back to yesterday while today's feed is still empty). Cursor-paginated: a busy day has roughly 700-950 launches, not just the visible top 20.
leaderboardOne daily, weekly, monthly or yearly leaderboard, cursor-paginated. Pick the period and an optional date.
dailyRangeEvery launch on each day between from and to, deduplicated across days.
topicProducts in a topic, resolved to each product's latest launch.
categoryProducts in a category, resolved to each product's latest launch.
searchProduct Hunt product search for a keyword, resolved to each product's latest launch.
productOne or more product slugs/URLs, returning each product's latest launch with full product data.
launchOne or more launch slugs/URLs, returning those exact launches.

Turn on includeDetails for the full launch page (description, maker/hunter profiles, media, website, pricing, ranks, review score). Turn on includeComments, includeReviews, and includeHistory to attach the discussion thread, detailed reviews, and earlier launches from the same product.

Input

FieldTypeDefaultDescription
modeselectlatestlatest, leaderboard, dailyRange, topic, category, search, product, or launch.
periodselectdailyLeaderboard period: daily, weekly, monthly, yearly.
datestring—Leaderboard date (YYYY-MM-DD). Weekly/monthly/yearly use that day's ISO week, month, or year.
from, tostring—Inclusive day range for dailyRange.
topicSlugsarray[]Topic slugs or /topics/... URLs.
categorySlugsarray[]Category slugs or /categories/... URLs.
searchQuerystring–Keyword for search.
productSlugsarray[]Product slugs or product URLs.
postIdsarray[]Launch slugs or launch URLs.
maxItemsinteger50Record cap, 1-1000.
maxPagesinteger10Page cap per source, 1-60. A full day is about 40-60 pages of 20 launches.
maxCommentsinteger50Comment cap per launch, 1-500. Threads are read 20 per page.
maxReviewsinteger20Review cap per product, 1-200. Reviews are read 10 per page.
includeDetailsbooleantrueFetch the full launch page.
includeCommentsbooleanfalseAttach comments and nested replies.
includeReviewsbooleanfalseAttach detailed reviews, ratings, pros and cons.
includeHistorybooleanfalseAttach the product's earlier launches.
featuredOnlybooleanfalseKeep only homepage-featured launches.
proxyConfigurationobjectoffOptional. The actor works without a proxy.

The default prefill reads three latest launches with details on, comments/reviews/history off.

Output

Every launch row uses camelCase fields and omits empty values entirely (no null, no empty strings or arrays):

  • Identity — id, slug, name, tagline, description, url, phUrl, sourceUrl, recordType, scrapedAt
  • Votes and discussion — votesCount, launchDayScore, commentsCount, reviewsCount, reviewsRating
  • Rank and timing — dailyRank, weeklyRank, monthlyRank, launchNumber, featured, featuredAt, createdAt, scheduledAt, updatedAt, launchState, isPromoted
  • People and taxonomy — hunter, makers, topics, topicDetails
  • Product — website, websiteDomain, pricingType, product (id, slug, name, tagline, website, social links, categories, followers, reviews count/rating, first launch date)
  • Media and badges — media (image/video URL, dimensions, platform), thumbnailUrl, badges, promo
  • Optional arrays — comments (with nested replies), reviews (ratings, text, pros/cons, reviewer, source launch), launchHistory

phUrl is the legacy short launch link (/posts/<slug>); url is the canonical Product Hunt product/launch link. website is the product's own site. pricingType is Product Hunt's value when present (free, free_options, payment_required) and otherwise a normalized free/paid from the product's structured data.

Examples

Full feed for one busy day

{
"mode": "dailyRange",
"from": "2026-10-25",
"to": "2026-10-25",
"maxItems": 1000,
"maxPages": 60,
"includeDetails": true
}

Weekly AI leaderboard with comments

{
"mode": "leaderboard",
"period": "weekly",
"date": "2026-10-26",
"featuredOnly": true,
"maxItems": 50,
"includeComments": true,
"maxComments": 40
}

Latest launches in a topic, with reviews

{
"mode": "topic",
"topicSlugs": ["artificial-intelligence"],
"maxItems": 20,
"includeDetails": true,
"includeReviews": true,
"maxReviews": 20
}

One product with its launch history

{
"mode": "product",
"productSlugs": ["notion"],
"includeDetails": true,
"includeHistory": true,
"maxPages": 5
}

Specific launches by URL

{
"mode": "launch",
"postIds": [
"https://www.producthunt.com/products/strawberry?launch=strawberry-1-0"
],
"includeComments": true,
"maxComments": 100
}

How it works

The actor uses Product Hunt's public frontend GraphQL endpoint with the same persisted queries the website loads, a desktop browser user agent, X-Requested-With, the Product Hunt timezone header, and apollo-require-preflight. It sends the full query document plus its sha256 persisted-query hash, so no token or cookie is ever involved.

If Product Hunt ships a new frontend build and a persisted hash stops matching, the actor refreshes the query document from the page's Apollo SSR payload, retries once, and then falls back to the page's embedded JSON state. A 200 response with an empty block is treated as a block or a source fault, never as a successful empty run.

Comments paginate 20 threads per page with reply cursors; reviews paginate 10 per page; launch history paginates 10 per page. Records are deduplicated by launch, comment, and review id.

Reliability and limits

  • Retries with backoff on 429/5xx/timeouts; a Cloudflare challenge produces a failed run with a clear status message instead of an empty dataset.
  • maxItems, maxPages, maxComments, and maxReviews are hard caps. A day with more launches than maxItems stops exactly at the cap.
  • Product Hunt's maker profile pages are protected by a challenge, so maker emails and social handles are not part of this dataset. Launch data includes maker names, usernames, headlines, avatars and follower counts when the source exposes them.
  • Funding amount and employee count are not reliably exposed by the public product pages and are omitted.
  • Very large launches can have hundreds of comments; raise maxComments up to 500 for those threads.
  • Topic/category/search results are products, so the actor resolves each product's latest launch. Older launches from the same product are available with includeHistory.
  • Search is product search (the same search the Product Hunt site uses), not a free-text search over historical launch descriptions.

FAQ

Do I need a Product Hunt account or API token? No. The actor reads the same public frontend data the website renders. There is nothing to sign up for.

Why do I get more than 20 launches per day? The visible leaderboard is a preview. The actor follows the cursor until the source is exhausted, which is normally 700-950 launches on a busy day.

Are comments and reviews included by default? No. They are opt-in because they add requests. Set includeComments and/or includeReviews to attach them to each launch record.

What happens if Product Hunt blocks the request? The actor retries, optionally rotates your proxy session if you supplied a proxy, and fails the run with a status message. It never reports a blocked or empty page as a successful empty dataset.

Can I get older launches? Yes: set a past from/to for dailyRange, pick a past leaderboard date, use product with includeHistory, or pass an old launch URL in launch mode.

Is this affiliated with Product Hunt? No. This is an independent, third-party exporter that reads Product Hunt's public web data. It is not affiliated with or endorsed by Product Hunt.