Crawling API / Product Hunt

Product Hunt Scraper.
Any page, fully rendered.

Send any Product Hunt URL and get the fully rendered HTML back, through residential proxies with anti-bot handling built in.
Or pull structured JSON with the producthunt-leaderboard and producthunt-product scrapers.

99% success rate140M residential IPs30 geographies
Product Hunt URLHTML or JSONproducthunt.com/posts/notionCrawlbaseRouteRenderExtractRendered HTMLStructured JSONcrawling-apigeneric-extractorproducthunt.com · bot check cleared · 200
Live crawl feed · Product Hunt1.24M req/minStreaming
200producthunt.com/posts/linearGB145ms
200producthunt.com/topics/saasES138ms
404producthunt.com/products/superhumanDE173ms
200producthunt.com/posts/notionIN99ms
200producthunt.com/topics/productivityFR67ms
200producthunt.com/posts/notionCA69ms
200producthunt.com/leaderboard/weekly/2024/3BR51ms
200producthunt.com/topics/artificial-intelligenceCA187ms
200producthunt.com/topics/productivityCA180ms
200producthunt.com/topics/productivityDE146ms
200producthunt.com/leaderboard/weekly/2024/3GB121ms
200producthunt.com/posts/notionCA61ms
200producthunt.com/products/notionFR115ms
200producthunt.com/@kevinwhAU128ms
200producthunt.com/posts/raycastIN163ms
200producthunt.com/posts/notionAU125ms
200producthunt.com/topics/productivityFR53ms
200producthunt.com/leaderboard/weekly/2024/3FR75ms
200producthunt.com/@kevinwhUS78ms
200producthunt.com/products/figmaIN189ms
200producthunt.com/leaderboard/daily/2024/1/15US147ms
200producthunt.com/topics/artificial-intelligenceNL134ms
200producthunt.com/products/figmaES177ms
200producthunt.com/FR198ms
200producthunt.com/posts/arc-browserIN159ms
200producthunt.com/topics/developer-toolsDE110ms
200producthunt.com/posts/linearGB145ms
200producthunt.com/topics/saasES138ms
404producthunt.com/products/superhumanDE173ms
200producthunt.com/posts/notionIN99ms
200producthunt.com/topics/productivityFR67ms
200producthunt.com/posts/notionCA69ms
200producthunt.com/leaderboard/weekly/2024/3BR51ms
200producthunt.com/topics/artificial-intelligenceCA187ms
200producthunt.com/topics/productivityCA180ms
200producthunt.com/topics/productivityDE146ms
200producthunt.com/leaderboard/weekly/2024/3GB121ms
200producthunt.com/posts/notionCA61ms
200producthunt.com/products/notionFR115ms
200producthunt.com/@kevinwhAU128ms
200producthunt.com/posts/raycastIN163ms
200producthunt.com/posts/notionAU125ms
200producthunt.com/topics/productivityFR53ms
200producthunt.com/leaderboard/weekly/2024/3FR75ms
200producthunt.com/@kevinwhUS78ms
200producthunt.com/products/figmaIN189ms
200producthunt.com/leaderboard/daily/2024/1/15US147ms
200producthunt.com/topics/artificial-intelligenceNL134ms
200producthunt.com/products/figmaES177ms
200producthunt.com/FR198ms
200producthunt.com/posts/arc-browserIN159ms
200producthunt.com/topics/developer-toolsDE110ms
01 Live demo

Two Product Hunt scrapers, live.

The Crawling API, typed live. Watch the producthunt-leaderboard and producthunt-product scrapers each return structured JSON. Hover to pause and read.

ready
keys 1-2 switch · click to pauserun your own URL
Run your first request in minutes. Up to 20,000 free requests, no credit card.Start free
02 Capabilities

One API, everything Product Hunt throws at you.

Product Hunt loads its launch feeds, upvotes and comments from GraphQL after the page paints, and guards the homepage and product pages hard. The Crawling API renders it in a real browser, reaches it through residential IPs, and hands you clean HTML or JSON.

render

Full JavaScript rendering

A real browser executes the page, so GraphQL-loaded launches, upvote counts, comments and media are all captured, not just the initial HTML.

proxies

140M residential IPs

Every request rotates a residential IP across 30 geographies, so you reach Product Hunt like a real local visitor.

anti-bot

Blocks handled for you

CAPTCHAs, bot walls and rate limits are cleared automatically. Nothing to solve, nothing to maintain.

format

HTML or JSON

Get the full rendered HTML, or add scraper=producthunt-leaderboard or producthunt-product to return leaderboards and launches as structured JSON.

extras

Screenshots and async

The same call can capture a full-page screenshot, or run asynchronously with webhooks and cloud storage.

one token

One API for every site

The Crawling API works on any URL, so the same token covers Product Hunt and everything else you crawl. See the live demo.

03 Output

Every leaderboard field, as clean JSON.

Send a leaderboard URL with scraper=producthunt-leaderboard and the leaderboard comes back as typed JSON. Swap in producthunt-product to do the same for a single launch.

{ "period": "daily", "date": "2026-07-14", "url": "https://www.producthunt.com/leaderboard/daily/2026/7/14/", "productCount": 20, "products": [ { "name": "Acme Analytics", "tagline": "Product analytics that ship themselves", "slug": "acme-analytics", "position": 1, "rank": 1, "upvotes": 842, "commentsCount": 96, "topics": [ "..." ], "makerCount": 3, "thumbnail": "https://ph-files.imgix.net/acme-thumb.png", "isPromoted": false } ] }

Leaderboard

period · string  date · string  url · string  productCount · number

Products

products · array  products[].name · string  products[].tagline · string  products[].slug · string

Ranking

products[].position · number  products[].rank · number

Engagement

products[].upvotes · number  products[].commentsCount · number  products[].topics · array

Meta

products[].makerCount · number  products[].thumbnail · string  products[].isPromoted · boolean

04 How it works

From URL to data in one call.

Every Product Hunt request moves through the same path. You send a URL, we operate everything in between.

01

Send the URL

Pass any public Product Hunt URL with your token: the homepage feed, a product, a topic or a maker profile.

02

Rotate a proxy

A residential IP and geography that reach Product Hunt cleanly, drawn from 140M IPs across 30 regions.

03

Render the page

A real browser loads the page so GraphQL launch feeds, upvote counts and comments render before capture.

04

Clear anti-bot

Product Hunt's aggressive bot detection on the homepage and product pages is handled automatically. Nothing to solve, nothing to maintain.

05

Return HTML or JSON

The fully rendered HTML comes back, or typed JSON when you add producthunt-leaderboard or producthunt-product.

05 Use cases

What teams build on Product Hunt data.

USE / 01Launches

Launch tracking

Pull daily launches with upvotes, makers and comments to track what is shipping and how it lands.

USE / 02Trends

Trend & topic monitoring

Watch topic and leaderboard pages to spot rising products, categories and narratives early.

USE / 03Leads

Maker & product leads

Collect makers, products and profiles to build prospect lists and competitive maps.

USE / 04Brand

Brand & competitor monitoring

Monitor how your product and competitors launch, rank and get discussed across the feed.

USE / 05Research

Market & product research

Mine launch copy, taglines and comment threads to inform positioning and roadmaps.

USE / 06Coverage

Any URL, one API

Crawl the homepage feed, posts, topics, leaderboards and maker profiles, plus any other site you need.

06 Notes

Good to know when scraping Product Hunt.

Rendered like a real browser

Product Hunt loads launches, upvotes and comments from GraphQL after paint; the Crawling API runs a real browser so they all render before capture.

HTML by default, JSON on request

You get the full rendered HTML. Add scraper=producthunt-leaderboard or scraper=producthunt-product for parsed, typed JSON, or parse the HTML yourself.

Public pages only

The Crawling API reads publicly visible pages, with no login, so you get what a logged-out visitor sees.

Reach Product Hunt from anywhere

Geotargeting across 30 regions and 140M residential IPs means consistent access without managing proxies.

07 Why Crawlbase

Built to crawl Product Hunt at scale.

The Crawling API runs on the same network that serves 46,000+ paying customers and 70,000+ developers. No proxies to buy, no browsers to run, nothing to patch when Product Hunt changes.

99%
Average request success rate
140M
Residential IPs, plus 98M datacenter
30
Geographies for accurate local results
20/s
Requests per second by default, more on request

One token, official SDKs for Python, Node and Ruby, and a 99.99% uptime network underneath.

08 FAQ

Product Hunt scraping questions.

Send the Product Hunt URL to the Crawlbase Crawling API with your token. Crawlbase rotates a residential proxy, renders the page in a real browser, clears bot checks, and returns the fully rendered HTML. Add scraper=producthunt-leaderboard or scraper=producthunt-product to get structured JSON instead.
Yes. By default the Crawling API returns rendered HTML; add scraper=producthunt-leaderboard for ranked leaderboards or scraper=producthunt-product for a single launch to receive typed JSON, or parse the HTML yourself.
Yes. A real browser executes the page, so the JavaScript-rendered launch feed, upvote counts and comments are captured, not just the initial HTML.
Crawlbase routes each request through rotating residential IPs across 30 geographies and clears bot checks automatically. You do not manage proxies or solve CAPTCHAs, and there is nothing to maintain when Product Hunt changes its setup.
No. The Crawling API reads publicly visible pages only, with no login, so you receive what a logged-out visitor would see.
Any public URL: the homepage feed, product and post pages, topic and leaderboard pages, and maker profiles. The same API works on any other site too.
Start free with up to 20,000 requests and no credit card. Paid plans scale with usage, and the same token works across the Crawling API and every Crawlbase scraper.

Start scraping Product Hunt.
Skip the proxies and blocks.

Free to begin with up to 20,000 requests. One token for the Crawling API and every scraper.