Developer Tools

Product Hunt API scraper API

The Product Hunt API returns daily, weekly and monthly launch leaderboards as clean JSON.

13 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary posts endpoint returns launches with id, slug, name, tagline, upvotes, comment count, daily/weekly/monthly rank, topics and product, and you can pull a single post, reviews, topics and their posts, categories, search, and collections. It is built for startup research, trend tracking and lead generation that need Product Hunt data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/producthunt/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "ai"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "producthunt",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 761.8,
    "record_count": 23,
    "bytes": 204502,
    "cache_hit": false,
    "method": "rsc_embedded_json",
    "has_more": true,
    "page": 1,
    "next_page": 2
  },
  "data": {
    "products": [
      {
        "id": "566141",
        "slug": "lovable",
        "name": "Lovable",
        "tagline": "The world's first AI Fullstack Engineer",
        "description": null,
        "website_url": null,
        "product_hunt_url": "https://www.producthunt.com/products/lovable",
        "logo_url": null,
        "reviews_count": null,
        "reviews_rating": null,
        "followers_count": null,
        "is_no_longer_online": null
      },
      {
        "id": "111412",
        "slug": "n8n-io",
        "name": "n8n",
        "tagline": "Workflow automation for technical people",
        "description": null,
        "website_url": null,
        "product_hunt_url": "https://www.producthunt.com/products/n8n-io",
        "logo_url": null,
        "reviews_count": null,
        "reviews_rating": null,
        "followers_count": null,
        "is_no_longer_online": null
      },
      {
        "id": "521358",
        "slug": "attio",
        "name": "Attio",
        "tagline": "Customer relationship magic.",
        "description": null,
        "website_url": null,
        "product_hunt_url": "https://www.producthunt.com/products/attio",
        "logo_url": null,
        "reviews_count": null,
        "reviews_rating": null,
        "followers_count": null,
        "is_no_longer_online": null
      }
    ],
    "has_more": true,
    "page": 1,
    "next_page": 2
  }
}
Actions

What the Product Hunt API scraper API does

ActionDescriptionConcrete use caseKey params
postsToday's or historical leaderboard launches (daily/weekly/monthly/yearly).Ops teams call posts to get today's or historical leaderboard launches (daily/weekly/monthly/yearly)..date, year, month, day, week, ...
postFull launch/product detail by slug: tagline, description, website, makers, hunter, topics, media gallery, external links, review aggregates, alternatives, and launch history.Developer tools call post to get full launch/product detail by slug.slug
reviewsProduct reviews by slug: per-question answer text, rating + rating histogram, pro/con tags, and the AI review summary.Validation workflows call reviews to get product reviews by slug.slug, page
topicsBrowse Product Hunt topics (interest tags applied to launches).Data-quality teams call topics to get browse Product Hunt topics (interest tags applied to launches)..page
topic_postsLaunches filtered by topic slug.Ops teams call topic_posts to get launches filtered by topic slug..slug, page
categoriesBrowse Product Hunt product categories (the curated category tree, distinct from topics).Developer tools call categories to get browse Product Hunt product categories (the curated category tree, distinct from topics)..page
categoryProducts and launches inside one product category by slug.Validation workflows call category to get products and launches inside one product category by slug..slug, page
searchKeyword search across Product Hunt — products (default) or makers/users (type=users).Data-quality teams call search to get keyword search across Product Hunt.query, type, page
collectionsPublic curated product collections index.Ops teams call collections to get public curated product collections index..page
collectionSingle collection (its products) by user+collection slug or full path.Developer tools call collection to get single collection (its products) by user+collection slug or full path..path, username, collection_slug
userMaker/user profile plus their submitted launches.Validation workflows call user to get maker/user profile plus their submitted launches..username, page
discussionsProduct Hunt discussions/forum thread feed (popular or newest).Data-quality teams call discussions to get product Hunt discussions/forum thread feed (popular or newest)..order, page
discussionSingle discussion thread with its full nested comment tree.Ops teams call discussion to get single discussion thread with its full nested comment tree..slug, forum, path
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/producthunt/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"ai"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.producthunt.search with {"query":"ai"}.
Use cases

Who uses this API and why

  • Startup and VC research tools call posts to track top launches by day, week and topic.
  • Lead-gen products use search and topic_posts to find new tools in a specific category.
  • Trend trackers use reviews and upvotes to gauge community reception of a launch.
FAQ

Questions developers ask before integrating

What is the Product Hunt API scraper API?

Product Hunt API scraper API is a ReefAPI endpoint group for product hunt api scraper It returns live JSON through POST requests under /producthunt/v1.

Is the Product Hunt API scraper API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Product Hunt API scraper calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Product Hunt API scraper login or account?

No login to Product Hunt API scraper is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Product Hunt API scraper data?

The page example is captured from a live posts call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Product Hunt API scraper API use?

Product Hunt API scraper actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Product Hunt API scraper from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call producthunt actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Product Hunt API scraper API a Product Hunt API scraper scraper?

It is the managed alternative to a DIY Product Hunt API scraper scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same product hunt api scraper back as clean JSON.

Why does my Product Hunt API scraper scraper keep getting blocked?

Most Product Hunt API scraper scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / producthunt

Product Hunt API scraper

Product Hunt API scraper

base /producthunt/v113 endpoints
post/producthunt/v1/posts1 credit

Today's or historical leaderboard launches (daily/weekly/monthly/yearly).

ParameterAllowed / rangeDescription
period = dailyoptionaldaily · weekly · monthly · yearlyLeaderboard window. Unknown values fall back to the daily board.
dateoptionalLeaderboard date (YYYY-MM-DD). Overrides year/month/day when given.
yearoptional2013–Leaderboard year (used with month/day/week; defaults to today).
monthoptional1–12Leaderboard month 1-12 (for daily/monthly periods).
dayoptional1–31Leaderboard day of month 1-31 (for the daily period).
weekoptional1–53ISO week number 1-53 (for the weekly period).
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/post1 credit

Full launch/product detail by slug: tagline, description, website, makers, hunter, topics, media gallery, external links, review aggregates, alternatives, and launch history.

ParameterAllowed / rangeDescription
slugrequiredLaunch post or product slug (the segment in producthunt.com/products/<slug> or /posts/<slug>).
Try in playground →
post/producthunt/v1/reviews1 credit

Product reviews by slug: per-question answer text, rating + rating histogram, pro/con tags, and the AI review summary.

ParameterAllowed / rangeDescription
slugrequiredProduct slug (producthunt.com/products/<slug>).
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/topicsfree

Browse Product Hunt topics (interest tags applied to launches).

ParameterAllowed / rangeDescription
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/topic_posts1 credit

Launches filtered by topic slug.

ParameterAllowed / rangeDescription
slugrequiredTopic slug (the segment in producthunt.com/topics/<slug>).
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/categories1 credit

Browse Product Hunt product categories (the curated category tree, distinct from topics).

ParameterAllowed / rangeDescription
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/category1 credit

Products and launches inside one product category by slug.

ParameterAllowed / rangeDescription
slugrequiredCategory slug (the segment in producthunt.com/categories/<slug>).
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/collections1 credit

Public curated product collections index.

ParameterAllowed / rangeDescription
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/collection1 credit

Single collection (its products) by user+collection slug or full path.

ParameterAllowed / rangeDescription
pathoptionalFull collection path (e.g. /@user/collections/<slug>). Alternative to username + collection_slug.
usernameoptionalCollection owner's username (with/without @). Combine with collection_slug, or pass the full path.
collection_slugoptionalCollection slug — the trailing segment of a collection path.
Try in playground →
post/producthunt/v1/user1 credit

Maker/user profile plus their submitted launches.

ParameterAllowed / rangeDescription
usernamerequiredProduct Hunt username/handle, with or without @ (the name in producthunt.com/@<username>).
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/discussions1 credit

Product Hunt discussions/forum thread feed (popular or newest).

ParameterAllowed / rangeDescription
order = popularoptionalpopular · newestDiscussion feed ordering. Unknown values fall back to popular.
page = 1optional1–Result page number (1-based). Use meta.next_page to go further.
Try in playground →
post/producthunt/v1/discussion1 credit

Single discussion thread with its full nested comment tree.

ParameterAllowed / rangeDescription
slugrequiredDiscussion thread slug — the trailing segment of a producthunt.com/p/<forum>/<slug> URL.
forumoptionalDiscussion forum segment (the part before the thread slug in /p/<forum>/<slug>). Optional — alternatively pass the full thread path.
pathoptionalFull collection path (e.g. /@user/collections/<slug>). Alternative to username + collection_slug.
Try in playground →