Skip to main content
Product Hunt

Product Hunt Scraper API
launches, ranks and reviews

Send a Product Hunt link and get it back as data: every launch on a leaderboard with votes, comments and its daily, weekly and monthly rank, or a product with its rating, reviews, links and launch history.

You sendwww.producthunt.com/
Leaderboard1 credit
You get back (real run, trimmed)
{
"type": "leaderboard",
"period": "today",
"launchCount": 40,
"launches": [
{
"name": "Inbox Zero",
"tagline": "Open-source Superhuman alternative",
"votes": 277,
"comments": 27,
"dailyRank": 1
},
"… 39 more"
]
}
40

launches on today's leaderboard, each with votes and ranks

4

leaderboards: daily, weekly, monthly and yearly

1 credit

per page, for a leaderboard or a product

$0

for a page that can't be delivered

Every Product Hunt page you can send

Copy the link from your browser. Spidra works out what kind of page it is.

Leaderboards

The home page and the daily, weekly, monthly and yearly leaderboards: every launch in rank order with votes, comments, ranks and topics.

producthunt.com/leaderboard/weekly/2026/42

Products

Description, website, followers, rating and its breakdown, categories, social and app links, alternatives and launch history.

producthunt.com/products/notion

Launches

A launch link returns the product, plus the launch itself with its votes, comments and ranks.

producthunt.com/posts/<slug>

Reviews

The product summary and every review on the page, with rating, likes, dislikes and the alternatives the reviewer weighed.

producthunt.com/products/notion/reviews

Topics

A topic with its description, followers and launches.

producthunt.com/topics/developer-tools

Profiles

Public profiles: name, headline, followers, maker or not, X handle, counts and launches.

producthunt.com/@<username>

One call, every field

Point the scrape call at a Product Hunt link. With JSON output and no prompt, the data comes back as it is, for 1 credit and no AI cost.

Ask for markdown instead and you get the readable page as text. The structured data still comes back, in its own structuredData field next to the markdown.

import { SpidraClient } from "spidra";
 
const spidra = new SpidraClient({
apiKey: process.env.SPIDRA_API_KEY,
});
 
const result = await spidra.scrape({
urls: [{ url: "https://www.producthunt.com/" }],
output: "json",
});
 
const data = result.content;
for (const l of data.launches) console.log(l.dailyRank, l.name, l.votes);
What you get for each launch and product
Launch
ID, name, tagline, slug, link, thumbnail and the product it belongs to
Traction
Votes and comment count
Ranks
Daily, weekly and monthly rank
Dates
Featured date and created date, in Product Hunt's Pacific time
Topics
The topics the launch is listed under
Product
Description, website, logo, followers, categories, alternatives, top product and still online flags
Rating
Average rating, review count and the 1 to 5 star breakdown
Links
X, LinkedIn, Instagram and other social links, iOS and Android app links

What comes back

Real responses from Spidra, trimmed for length. Nothing here is mocked up.

Request
https://www.producthunt.com/
Response (real run, October 18, 2026, trimmed)
{
"source": "producthunt",
"type": "leaderboard",
"period": "today",
"title": "Product Hunt – The best new products in tech.",
"launchCount": 40,
"launches": [
{
"id": "1276034",
"name": "Inbox Zero",
"tagline": "Open-source Superhuman alternative",
"slug": "inbox-zero-7",
"votes": 277,
"comments": 27,
"dailyRank": 1,
"weeklyRank": 11,
"monthlyRank": 260,
"featuredAt": "2026-10-18T00:01:00-07:00",
"createdAt": "2026-10-18T00:01:00-07:00",
"topics": [
"Email",
"Open Source",
"… 1 more"
],
"product": {
"slug": "inbox-zero-2"
},
"url": "https://www.producthunt.com/posts/inbox-zero-7"
},
{
"id": "1273961",
"name": "NitroStack",
"tagline": "Build, test, and deploy MCP servers in one place",
"slug": "nitrostack",
"votes": 299,
"comments": 31,
"dailyRank": 1,
"weeklyRank": 9,
"monthlyRank": 33,
"featuredAt": "2026-10-17T00:01:00-07:00",
"createdAt": "2026-10-17T00:01:00-07:00",
"topics": [
"Open Source",
"Developer Tools",
"… 1 more"
],
"product": {
"slug": "nitrostack"
},
"url": "https://www.producthunt.com/posts/nitrostack"
},
"… 38 more"
]
}

Ranks the official API doesn't give you

Product Hunt's own API can sort launches, but it has no rank numbers, no review text and no product launch history. It also hides every other user's name and username, and its terms say it must not be used for commercial purposes without permission.

Spidra reads the public pages instead. Each launch on a leaderboard comes back with its votes, comments and its daily, weekly and monthly rank, the way the site shows them.

producthunt.com home page (real run, trimmed)
"period": "today",
"launchCount": 40,
"launches": [{
"name": "Inbox Zero",
"tagline": "Open-source Superhuman alternative",
"votes": 277,
"comments": 27,
"dailyRank": 1,
"weeklyRank": 11,
"monthlyRank": 260,
"featuredAt": "2026-10-18T00:01:00-07:00",
"topics": [
"Email",
"Open Source",
"Artificial Intelligence"
],
"url": "https://www.producthunt.com/posts/inbox-zero-7"
}]

A product and every launch it has had

Companies launch on Product Hunt again and again. A product link returns the product's rating and its star breakdown, followers and categories, plus its launches, each with its own votes and ranks where Product Hunt shows them.

That makes it easy to see how a company's launches did over time, or to compare a new launch with the product's earlier ones.

producthunt.com/products/notion (real run, trimmed)
"name": "Notion",
"followers": 18928,
"reviewsCount": 1411,
"rating": 4.83,
"ratingBreakdown": [
{ "stars": 5, "count": 1208 },
{ "stars": 4, "count": 180 },
{ "stars": 3, "count": 18 },
{ "stars": 2, "count": 4 },
{ "stars": 1, "count": 3 }
],
"launchesCount": 26,
"launches": [{
"name": "Notion: Context for your agents",
"votes": 182,
"comments": 5,
"dailyRank": 3,
"weeklyRank": 28,
"featuredAt": "2026-10-17T00:01:00-07:00"
}]

Reviews with the reasons

Product Hunt reviews are structured: what the reviewer likes, what they dislike, and which alternatives they looked at. The official API gives only the average rating.

The reviews link returns every review on the page with those parts kept apart, so you can read what users praise and what they would change without parsing prose. Notion's reviews page returned 23 reviews in the live test.

A review on producthunt.com/products/notion (real run, trimmed)
"reviews": [{
"type": "personal",
"rating": 4,
"dislikes": "<p>The main issue is performance. When pages contain many blocks or large databases, the app can become slower than expected.</p><p>Offline support could also be better. Sometimes accessing notes without a stable internet connection is difficult. Improvements in speed, reliability, and offline usability would make the overall experience much stronger.</p>",
"author": "[redacted]",
"authorUsername": "[redacted]",
"createdAt": "2026-03-04T02:13:04-08:00"
}]

Ask for the columns you want

Describe the answer as a prompt, a JSON schema or both, and it comes back in that shape. The AI reads a compact copy of the data Spidra already read, not the whole page.

Request
const result = await spidra.scrape({
urls: [{ url: "https://www.producthunt.com/" }],
prompt: "List today's top 5 launches with name, tagline and votes.",
schema: {
type: "object",
properties: {
launches: {
type: "array",
items: {
type: "object",
properties: {
name: {
type: "string"
},
tagline: {
type: "string"
},
votes: {
type: "integer"
}
}
}
}
}
},
});
What came back (real run)
{
"launches": [
{
"name": "Inbox Zero",
"tagline": "Open-source Superhuman alternative",
"votes": 277
},
{
"name": "NitroStack",
"tagline": "Build, test, and deploy MCP servers in one place",
"votes": 299
},
{
"name": "Spira Maxima",
"tagline": "Video model that turns script into viral social media videos",
"votes": 639
},
"… 2 more"
]
}

This request cost 3 credits on October 18, 2026: 1 for the page plus the AI tokens. For the data as it is, use JSON output with no prompt for 1 credit.

What teams build with it

Product Hunt data feeds market research and launch planning.

How Spidra compares

Most Product Hunt data comes from the official API or a handful of Apify actors. Here is how they differ.

Official APIApify (memo23)Apify (maximedupre)Spidra
PriceFree, non-commercial use only$0.80 per 1,000 rows, plus $0.01 per run$1.80 per 1,000 launchesAbout 25 leaderboard pages per 1,000 launches: $0.10 down to $0.05
RanksOrder only, no rank numbersDaily and weekly rankDay, week, month and year rankDaily, weekly and monthly rank on each launch
Other usersRedactedMakers and commentersTeam and commentersPublic profiles at /@username
Review textAverage rating onlyAbout 10 per productOften empty in the sampleEvery review on the reviews page
OutputGraphQL fieldsFixed fieldsFixed fieldsFixed fields, or your own schema or prompt
Beyond Product HuntNoneThousands of other actorsThousands of other actorsAny website, crawl, search, PDFs, MCP

Choose the official API if

Your project is non-commercial and you only need launches, votes and topics, or you have written permission from Product Hunt.

Choose Spidra if

You need ranks, product launch history and review text for a commercial project, and Product Hunt plus any other website on one API key.

Prices and API terms are as published on October 18, 2026 and may have changed. Spidra prices use 1 credit per page on each plan. Sources: Product Hunt API, Apify (memo23), Apify (maximedupre).

What to know before you build

We would rather you hear the limits from us than find them in production.

  • One page per request: a leaderboard returns the launches that page shows (40 on the home page in the sample, 23 on a past daily leaderboard).
  • Votes and ranks come back where Product Hunt shows them. Older launches in a product's history often have only a name and a link.
  • Search, launch comments and upvote lists are not returned.
  • Spidra reads Product Hunt as a visitor who isn't signed in. Notifications, drafts and private launches are not available, and no emails are collected.
  • Profiles and reviews name real people. Handle personal data according to the privacy laws that apply to you, and don't use it for unsolicited outreach.

What it costs

1 credit per page. Pages that can't be delivered are free. Work out your monthly volume below.

Monthly credits
600
Fits the Starter plan ($19/mo)

Example: the home page plus 19 product pages a day is about 600 credits a month. Plain JSON output uses no AI tokens.

PlanPriceProduct Hunt pages a month
Free$0up to 300 (one time)
Starter$19/moup to 5,000
BuilderPopular$79/moup to 25,000
Pro$249/moup to 125,000

Credits are shared across everything Spidra does, so the same plan covers Product Hunt and any other site.

Related scrapers

Same API key, same credits. See every scraper.

FAQ

Questions, answered

Product Hunt

Yes, a free GraphQL API, but its docs say it must not be used for commercial purposes without permission. Since 2023 it also redacts every user other than the token holder, so makers and commenters come back as [REDACTED], and it has no rank numbers or review text. Spidra reads the public pages instead.

Send a Product Hunt link and see what comes back.

Get 300 free credits, no card, and read today's leaderboard from the dashboard or the API.

Spidra is not affiliated with, endorsed by, or sponsored by Product Hunt. Product Hunt is a trademark of its owner. Check Product Hunt's terms of service and the laws that apply to you before you collect data, and use the data responsibly.