nvNeuralVerge
Startup & Funding Data

Product Hunt Forum Threads API and MCP — Search Discussions with Votes and Comment Counts

Send a keyword such as startup, or leave it out to browse threads page by page, and get threads back as JSON: id, title, link, forum, a preview of the opening post, votes, comment count, pinned flag, creation time and the user who started the thread.

You send
an optional keyword, a max_items cap (up to 250) and optionally a start page
You get back
forum threads with title, forum, preview text, votes, comment count, pinned flag, date and starter
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.
max_itemsnumberThe cap on returned records, as run.
start_pagenumberPage the run started from.
partialbooleanTrue when the run stopped before reaching max_items.
humanstringReadable summary: the query, how many results came back and how many were found.
total_pointsnumberPoints charged for the run.
machine.total_itemsnumberNumber of threads returned in this response.
machine.total_foundnumberTotal matches reported by the platform, when it reports one.
machine.first_item.idstringThread path as forum/thread-slug.
machine.first_item.namestringThread title.
machine.first_item.urlstringLink to the thread.
machine.first_item.thread_idstringNumeric thread id, as a string.
machine.first_item.forumstringForum the thread is in.
machine.first_item.previewstringStart of the opening post.
machine.first_item.votes_countnumberVotes on the thread.
machine.first_item.comments_countnumberNumber of comments.
machine.first_item.pinnedbooleanWhether the thread is pinned.
machine.first_item.created_atstringCreation time, ISO 8601 with offset.
machine.first_item.userobjectThread starter: id, name, username, url, headline and image.
machine.items[]arrayThreads returned, same shape as first_item.
machine.page_countnumberPages read for the run.
machine.blockedbooleanWhether the platform refused the request.
machine.proxy_traffic_bytesnumberSize of the data transferred for the run, in bytes.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "producthunt_forums_search",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# Product Hunt — forum threads\n\n- **Query:** all\n- **Results:** 2 of 2568 found\n- **Proxy traffic:** 597.3 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "id": "google-cloud-platform/google-cloud-run-takeover-hackathon",
      "name": "Google Cloud Run Takeover & Hackathon!",
      "url": "https://www.producthunt.com/p/google-cloud-platform/google-cloud-run-takeover-hackathon",
      "thread_id": "945304",
      "forum": "google-cloud-platform",
      "preview": "We teamed up with @GoogleCloud for a Cloud Run Hackathon October 14th! To kick things off, we're celebrating on the leaderboard so you can meet the people behind Cloud Run.",
      "votes_count": 235,
      "comments_count": 18,
      "pinned": true,
      "created_at": "2026-10-06T06:10:47-07:00",
      "user": {
        "id": "gabe",
        "name": "Gabe Perez",
        "username": "gabe",
        "url": "https://www.producthunt.com/@gabe",
        "headline": null,
        "image": "https://ph-avatars.imgix.net/84553/afd8c28f-5881-4a33-aa3d-9bc02e32c192.jpeg"
      }
    },
    "items": [
      {
        "id": "google-cloud-platform/google-cloud-run-takeover-hackathon",
        "name": "Google Cloud Run Takeover & Hackathon!",
        "url": "https://www.producthunt.com/p/google-cloud-platform/google-cloud-run-takeover-hackathon",
        "thread_id": "945304",
        "forum": "google-cloud-platform",
        "preview": "We teamed up with @GoogleCloud for a Cloud Run Hackathon October 14th! To kick things off, we're celebrating on the leaderboard so you can meet the people behind Cloud Run.",
        "votes_count": 235,
        "comments_count": 18,
        "pinned": true,
        "created_at": "2026-10-06T06:10:47-07:00",
        "user": {
          "id": "gabe",
          "name": "Gabe Perez",
          "username": "gabe",
          "url": "https://www.producthunt.com/@gabe",
          "headline": null,
          "image": "https://ph-avatars.imgix.net/84553/afd8c28f-5881-4a33-aa3d-9bc02e32c192.jpeg"
        }
      },
      {
        "id": "runevr/when-was-the-last-time-you-did-some-sport",
        "name": "🏃 When was the last time you did some sport?",
        "url": "https://www.producthunt.com/p/runevr/when-was-the-last-time-you-did-some-sport",
        "thread_id": "947610",
        "forum": "runevr",
        "preview": "I just walked out of the gym, and I feel ready to move mountains! =D For a while, I gave up exercising. And yesterday, the bell rang when my teammate asked the whole team: When was the last time you d",
        "votes_count": 25,
        "comments_count": 22,
        "pinned": false,
        "created_at": "2026-10-09T00:19:19-07:00",
        "user": {
          "id": "adana",
          "name": "Adana Marukhyan",
          "username": "adana",
          "url": "https://www.producthunt.com/@adana",
          "headline": null,
          "image": "https://ph-avatars.imgix.net/9683599/a85f4f4c-4361-4779-b24a-8f4ff5418b4e.jpeg"
        }
      }
    ],
    "total_found": 2568,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 611612
  },
  "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-forums-search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Community topic tracking

Search a keyword to see what founders are discussing and which threads draw votes.

Find where your market talks

List the forums and threads that mention your category or competitors.

Feed comment reads

Take thread ids from the results and read the discussion with the thread comments source.

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
  • —Without a keyword the source browses threads rather than ranking them by relevance.
  • —Each thread lists the name and username of the person who started it. Use threads as discussion content, and handle personal data in line with your own obligations.
  • —Preview text is only the start of the opening post.
FAQ

Questions, answered

No. Leave it out to browse threads page by page.

Related

Related sources

Try product hunt forum threads search on your own data

One request format across every source in the catalog.

Get started