nvNeuralVerge
Startup & Funding Data

Product Hunt Product Search API and MCP — Find Products by Keyword

Send a keyword and get the matching Product Hunt products back as a list: name, tagline, rating, review count, logo and a link to each product page. Set max_items to cap how many come back (up to 250) and start_page to begin further into the results.

You send
a keyword, and how many results to return
You get back
one entry per matching product: name, tagline, rating, review count, logo and link
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.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
Product Hunt directlyType the query into Product Hunt and read the resultsFree, and slowFine for one record, useless across a list, and the layout differs on every platform
Building a scraperWrite it, host it, and repair it when Product Hunt changes its pagesEngineering timeA maintenance commitment for something that isn't your product
NeuralVergeOne request, the same shape as every other source in the catalog$1 per 1,000, misses not billedReturns what Product Hunt publishes at request time. Other platforms are separate sources with the same request format
Response

What you get back

Every field in the example response below.

FieldTypeDescription
session_idstringId of this run, for tracing.
kindstringSource type of the response.
keywordstringThe keyword you sent.
max_itemsnumberThe cap you sent on returned records.
start_pagenumberPage the run started from.
partialbooleanWhether the run stopped before reaching everything that matched.
humanstringReadable summary of the run.
total_pointsnumberPoints charged for the run: 1 per returned record.
machine.total_itemsnumberNumber of records returned in this response.
machine.total_foundnullEmpty in the sample because the platform gave no total for this request.
machine.page_countnumberPages read for the run.
machine.first_itemobjectThe first returned record, repeated from items[]. Fields below are described on items[].
machine.blockedbooleanWhether the platform refused the request.
machine.proxy_traffic_bytesnumberSize of the data transferred for the run, in bytes.
machine.items[].idstringProduct id or slug on the platform.
machine.items[].namestringProduct name.
machine.items[].urlstringLink to the product page.
machine.items[].aliasstringThe product slug.
machine.items[].product_idstringNumeric product id.
machine.items[].taglinestringOne-line tagline.
machine.items[].ratingnumberAverage review rating.
machine.items[].review_countnumberNumber of reviews.
machine.items[].post_countnullEmpty in the sample; the launch count is not given on this card.
machine.items[].imagestringLogo image link.
machine.items[].categories[]arrayCategories the product is listed in: name, slug and url.
machine.items[].is_no_longer_onlinebooleanWhether the platform marks the product as no longer online. Null when not stated.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "producthunt_products_search",
  "keyword": "crm",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# Product Hunt — products search\n\n- **Query:** keyword=crm\n- **Results:** 2\n- **Proxy traffic:** 212.2 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "id": "doplac-crm",
      "name": "Doplac CRM",
      "url": "https://www.producthunt.com/products/doplac-crm",
      "alias": "doplac-crm",
      "product_id": "561231",
      "tagline": "Your CRM Partner",
      "rating": 5,
      "review_count": 7,
      "post_count": null,
      "image": "https://ph-files.imgix.net/604baef1-62aa-4544-88ba-cf142fecaf05.jpeg?auto=format&fit=crop&w=128&h=128",
      "categories": [],
      "is_no_longer_online": false
    },
    "items": [
      {
        "id": "doplac-crm",
        "name": "Doplac CRM",
        "url": "https://www.producthunt.com/products/doplac-crm",
        "alias": "doplac-crm",
        "product_id": "561231",
        "tagline": "Your CRM Partner",
        "rating": 5,
        "review_count": 7,
        "post_count": null,
        "image": "https://ph-files.imgix.net/604baef1-62aa-4544-88ba-cf142fecaf05.jpeg?auto=format&fit=crop&w=128&h=128",
        "categories": [],
        "is_no_longer_online": false
      },
      {
        "id": "folk-2",
        "name": "folk",
        "url": "https://www.producthunt.com/products/folk-2",
        "alias": "folk-2",
        "product_id": "480793",
        "tagline": "folk is the AI CRM for your entire sales motion.",
        "rating": 4.79,
        "review_count": 81,
        "post_count": null,
        "image": "https://ph-files.imgix.net/ccb84135-f373-453d-b4de-837f8b77d00f.png?auto=format&fit=crop&w=128&h=128",
        "categories": [],
        "is_no_longer_online": false
      }
    ],
    "total_found": null,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 217324
  },
  "total_points": 2
}
Integration

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-products-search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"crm","max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Market mapping

List the products that match a category keyword and see how they are rated and reviewed.

Competitor discovery

Search the words your product is described by and find who else the platform lists.

Prospect lists

Collect product names and links by theme, then enrich each with the product lookup.

Slug resolution

Turn a product name into the slug the other Product Hunt sources expect.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Product Hunt records with a public page.

Freshness

Read at request time, so the answer reflects the platform as it stands when you ask.

Handling

This source returns information Product Hunt shows publicly. Every response carries the session id you can trace.

What it will not do
  • —The sample returned no total match count (total_found is null), so plan on max_items rather than a known total.
  • —Category lists on search cards can be empty; the product lookup returns the full category list.
  • —Results depend on how the platform's own search ranks a keyword; the list is not filtered further.
FAQ

Questions, answered

Up to 250 through max_items. Use start_page to continue from a later page.

Related

Related sources

Try product hunt product search on your own data

One request format across every source in the catalog.

Get started