Product Hunt Topic Products API and MCP — Products by Topic with Ratings and Reviews
Send a topic slug such as artificial-intelligence (or the topic page link) and a max_items cap, and get the products listed under that topic as JSON: name, link, tagline, rating, review count, number of launches, image and categories.
- You send
- a Product Hunt topic slug or topic page link, and how many products you want (up to 250)
- You get back
- products under the topic with tagline, rating, review count, launches and categories
- Coverage
- Product Hunt records with a public page.
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Product Hunt directly | Open the page on Product Hunt and scroll through the list | Free, and slow | Fine for one record, useless across a list, and the layout differs on every platform |
| Building a scraper | Write it, host it, and repair it when Product Hunt changes its pages | Engineering time | A maintenance commitment for something that isn't your product |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Returns what Product Hunt publishes at request time. Other platforms are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Id of this run, for tracing. |
kind | string | Source type of the response. |
topic | string | The topic you sent. |
max_items | number | The cap on returned records, as run. |
start_page | number | Page the run started from. |
partial | boolean | True when the run stopped before reaching max_items. |
human | string | Readable summary: the query, how many results came back and how many were found. |
total_points | number | Points charged for the run. |
machine.total_items | number | Number of products returned in this response. |
machine.total_found | number | Total matches reported by the platform, when it reports one. |
machine.first_item.id | string | Product slug. |
machine.first_item.name | string | Product name. |
machine.first_item.url | string | Link to the product page on Product Hunt. |
machine.first_item.alias | string | Product slug as Product Hunt uses it. |
machine.first_item.product_id | string | Numeric product id, as a string. |
machine.first_item.tagline | string | One-line tagline. |
machine.first_item.rating | number | Average review rating. |
machine.first_item.review_count | number | Number of reviews. |
machine.first_item.post_count | number | Number of launches the product has had. |
machine.first_item.image | string | Product image URL. |
machine.first_item.categories | array | Categories the product is listed under; each has name, slug and url. |
machine.first_item.is_no_longer_online | boolean | Whether Product Hunt marks the product as no longer online. |
machine.items[] | array | Products returned, same shape as first_item. |
machine.page_count | number | Pages read for the run. |
machine.blocked | boolean | Whether the platform refused the request. |
machine.proxy_traffic_bytes | number | Size of the data transferred for the run, in bytes. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "producthunt_topics",
"topic": "artificial-intelligence",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Product Hunt — topic products\n\n- **Topic:** artificial-intelligence\n- **Results:** 2 of 16179 found\n- **Proxy traffic:** 657.5 KB",
"machine": {
"total_items": 2,
"first_item": {
"id": "figma",
"name": "Figma",
"url": "https://www.producthunt.com/products/figma",
"alias": "figma",
"product_id": "109920",
"tagline": "The collaborative interface design tool",
"rating": 4.93,
"review_count": 1589,
"post_count": 34,
"image": "https://ph-files.imgix.net/db00a7a1-6778-4e51-a953-de5a9a339bc9.jpeg?auto=format&fit=crop&w=128&h=128",
"categories": [
{
"name": "Team collaboration software",
"slug": "team-collaboration",
"url": "https://www.producthunt.com/categories/team-collaboration"
},
{
"name": "Wireframing",
"slug": "wireframing",
"url": "https://www.producthunt.com/categories/wireframing"
},
{
"name": "Interface design tools",
"slug": "interface-design-tools",
"url": "https://www.producthunt.com/categories/interface-design-tools"
}
],
"is_no_longer_online": false
},
"items": [
{
"id": "figma",
"name": "Figma",
"url": "https://www.producthunt.com/products/figma",
"alias": "figma",
"product_id": "109920",
"tagline": "The collaborative interface design tool",
"rating": 4.93,
"review_count": 1589,
"post_count": 34,
"image": "https://ph-files.imgix.net/db00a7a1-6778-4e51-a953-de5a9a339bc9.jpeg?auto=format&fit=crop&w=128&h=128",
"categories": [
{
"name": "Team collaboration software",
"slug": "team-collaboration",
"url": "https://www.producthunt.com/categories/team-collaboration"
},
{
"name": "Wireframing",
"slug": "wireframing",
"url": "https://www.producthunt.com/categories/wireframing"
},
{
"name": "Interface design tools",
"slug": "interface-design-tools",
"url": "https://www.producthunt.com/categories/interface-design-tools"
}
],
"is_no_longer_online": false
},
{
"id": "vercel",
"name": "Vercel",
"url": "https://www.producthunt.com/products/vercel",
"alias": "vercel",
"product_id": "435808",
"tagline": "The frontend cloud. Creators of Next.js.",
"rating": 4.97,
"review_count": 1087,
"post_count": 31,
"image": "https://ph-files.imgix.net/593ff5e2-9d11-491c-ab63-9e929e894214.jpeg?auto=format&fit=crop&w=128&h=128",
"categories": [
{
"name": "Engineering & Development",
"slug": "engineering-development",
"url": "https://www.producthunt.com/categories/engineering-development"
}
],
"is_no_longer_online": false
}
],
"total_found": 16179,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 673282
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged. max_items caps how many records are returned and billed.
curl -X POST https://api.neuralverge.ai/functions/v1/run-producthunt-topics \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"topic":"artificial-intelligence","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
List the products under a topic such as artificial intelligence with ratings and review counts.
Collect product names, taglines and links for a topic to enrich or score.
Run a topic and a related category and see which products appear in both.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Product Hunt records with a public page.
Read at request time, so the answer reflects the platform as it stands when you ask.
This source returns information Product Hunt shows publicly. Every response carries the session id you can trace.
- —Topics and categories are different groupings on the platform; a product can appear in one and not the other.
- —Ratings and counts are those shown when you ask, with no history.
- —Each response is capped by max_items (up to 250); use start_page for more.
Questions, answered
They appear in the topics block of launches and leaderboard entries, and in topic page links.
Related sources
Products listed in one category.
The full category tree with parents and descriptions.
Ranked launches for a day, week, month or year.
Startup directories, funding databases, launch platforms and investor data.
Try product hunt topic products on your own data
One request format across every source in the catalog.