If you've ever launched on Product Hunt, you know the feeling. Comments fly in for 18 hours, you reply to about a third of them, the page slides off the homepage at midnight PT — and three days later you're trying to remember which commenter ran a 200-person growth team and which one was a student in Lisbon. The thread that decided your launch is now basically read-only and impossible to mine.
This guide walks through pulling every comment from any Product Hunt launch into Excel, CSV, or JSON in roughly two minutes. Then four things I've actually done with the spreadsheet afterwards.
Why export Product Hunt comments
The PH UI is built for browsing. It's not built for analysis. There's no CSV button, no "who hasn't replied yet" filter, no way to sort commenters by upvote count, no way to see at a glance which threads your team has answered. Drop the data into a spreadsheet and you suddenly get:
- Launch-day backer outreach — filter out makers, sort by upvote count, and you've got a CRM-ready list of high-signal users with their company name attached.
- Maker-reply rate audits — PH's ranking signal rewards engaged makers. A two-minute pivot tells you what percentage of comments your team replied to inside the first six hours. (Most teams think they're at 90%. They're at 60%.)
- Feature-request mining — paste the comment column into ChatGPT or Claude, ask for a sentiment ledger and a clustered list of feature asks. What used to take a PM an afternoon takes about seven minutes.
- Hunter and supporter mapping — the same handles tend to comment on every launch in your category. A frequency count surfaces future allies, advisors, and the occasional angel.
- Competitor teardown — pull the comment threads on competitors' launches to see exactly which complaints, missing features, and pricing objections their early users called out.
- Press and investor proof — a clean Excel sheet with 400 supportive comments and named companies hits very differently in a fundraising deck than a screenshot of the launch page.
How to export — step by step
Step 1 — Copy the Product Hunt launch URL
Open the launch page and grab the URL. It looks like https://www.producthunt.com/posts/your-product-name. Fresh launches and old ones both work — you can pull the thread from PostHog's #1-of-the-day launch in 2020 just as easily as something that went live this morning.
Step 2 — Paste the URL into the exporter
Head to exportcomments.com/export-producthunt-comments, paste the URL, pick your format. Excel (XLSX) is the default and what most founders want. CSV if you're piping it into your CRM or warehouse. JSON if you're scripting against the data.
Step 3 — Hit Export and wait
Click Export. Most launches finish in 20–60 seconds. Bigger threads (1,000+ comments) might take a couple of minutes. Close the tab if you want — the email lands when the file's ready, and the export also shows up in your dashboard under My Exports.
Step 4 — Download the file
Open the email or the dashboard, grab the spreadsheet. Every comment is one row. Replies are separate rows linked to their parent by a parent_id column, so you can rebuild the full threaded structure in Excel with a self-join, or in BI with a recursive CTE.
Step 5 (optional) — Bulk-export multiple launches
If you want to benchmark your launch against three or four competitors, drop the URLs into the bulk-upload box, one per line. ExportComments runs each launch in parallel and gives you back one file per URL bundled in a single ZIP — not one merged spreadsheet. Each launch stays cleanly separated, which is exactly what you want for side-by-side analysis.
Inside the export — what fields you get
Every row gives you the columns you actually need to do something with the data:
- comment_id — unique Product Hunt identifier for the comment.
- parent_id — empty for root comments, populated for replies; this is what lets you reconstruct the thread.
- commenter_handle — the @username on Product Hunt.
- commenter_name — display name shown on the profile.
- headline — the user's self-written one-liner (e.g. "Co-founder at Acme · ex-Stripe").
- company — parsed company affiliation from the headline / profile.
- role — parsed role / job title (Founder, PM, Designer, Engineer…).
- comment_text — full body of the comment with line breaks preserved.
- upvote_count — number of upvotes the comment itself received.
- is_maker — Y/N flag for whether the commenter is a listed maker on the launch.
- maker_reply — Y/N flag for whether a maker has replied in this comment's thread.
- created_at — ISO-8601 timestamp of when the comment was posted.
- profile_url — direct link to the commenter's Product Hunt profile.
Common workflows for SaaS founders
Launch-day backer outreach. Filter is_maker = N, sort upvote_count descending. You now have a ranked list of supporters whose comments resonated with the wider audience. Pull the company column into your CRM, enrich with Apollo or Clay, and your DM/email outreach for the rest of launch week is fully scoped before lunch on day one. (When Linear and Cal.com run launch weeks, this is roughly the playbook — except they have a team doing it manually.)
Maker-reply rate audit. The PH ranking signal isn't only upvotes — engagement matters, and that means maker replies. Build a pivot on maker_reply = N in the first six hours of created_at and you'll spot the threads your team dropped. Re-engage them. Hunters notice. So does the algorithm.
ChatGPT sentiment ledger. Copy the comment_text column into ChatGPT with the prompt: "Cluster these Product Hunt comments into themes. For each theme, give me a sentiment score (-1 to +1), a count, and three representative quotes." You'll get a launch-day debrief better than any qualitative analysis your team would produce by hand. I've used this on my own launch and on three others I helped with — every time, two themes show up that the founders didn't see in the wild.
Hunter and supporter mapping. Run a frequency count on commenter_handle across exports from launches in your category. The handles that show up over and over are your future advisors, beta testers, and — sometimes — angel investors. Reach out, mention the launches you saw them comment on, and the open rate is unreal.
Plan limits and API access
Free returns up to 100 comments per export — enough to test the workflow on a smaller launch. Paid tiers raise the cap dramatically: Personal returns 5,000 results per export, Premium 50,000, Business 250,000. The full breakdown — concurrent exports, scheduled jobs, webhook delivery limits — is on /pricing.
If you'd rather pipe Product Hunt comment exports straight into your data warehouse, Slack, or notification system, the REST API exposes the same exporter as a single POST call and delivers results via webhook when the job's done. Reference at /api.
FAQ
- Does this work on private or unlisted Product Hunt launches?
No. ExportComments only exports public Product Hunt launches — the same threads any signed-in user can see. Private staff-only or scheduled-but-unlaunched posts are not accessible. - Can I export the upvoters as well as the commenters?
This tutorial covers the comment thread. Upvoter lists are a separate Product Hunt object and are not part of the comments export. - How fresh is the data?
Every export is a live scrape — it hits Product Hunt at the moment you submit the job, so you always get the current state of the thread including the latest replies and edits. - Can I schedule this to re-run during launch day?
Yes. On Premium and Business plans you can schedule the same export to re-run hourly during launch day, which is the cleanest way to capture every comment as it lands without having to babysit the page. - Will the export include comments that were deleted by the user or removed by Product Hunt moderators?
No. Deleted and moderator-removed comments are not visible on the page and so are not part of the export. The thread you get is the thread other launchers see. - What happens if a launch has more comments than my plan limit?
The export returns up to your plan's per-export cap, ordered newest-first by default. If you need a larger window you can either upgrade or use the API to paginate — contact support if you're not sure which fits.