Product Hunt User API and MCP — Profile, Followers, Launch and Review Counts
Send a Product Hunt username or the link to a profile and get the profile back as structured JSON: name, headline, about text, follower and following counts, submitted launches, products, collections, stacks, reviews, votes, badges, links and join date.
- You send
- a Product Hunt username, or the link to the profile
- You get back
- name, headline, about text, followers, submitted launches, products, collections, reviews, links and join date
- Coverage
- Product Hunt records with a public page.
- Price
- 5 pts — $5 per 1,000
- Charged only when the record resolves. A request that finds nothing is not billed.
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 read it | 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 | $5 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 |
|---|---|---|
user | string | The username you sent. |
user_id | string | The user identifier as the platform uses it. |
human | string | Readable summary of the profile. |
total_points | number | Points charged for the run. |
machine.user.id | string | Numeric user id. |
machine.user.username | string | Username. |
machine.user.name | string | Display name. |
machine.user.url | string | Link to the profile. |
machine.user.headline | string | Profile headline. |
machine.user.about | string | About text as written on the profile. |
machine.user.image | string | Avatar link. |
machine.user.created_at | string | Date and time the account joined. |
machine.user.is_maker | boolean | Whether the profile is marked as a maker. |
machine.user.is_verified | boolean | Whether the profile is marked as verified. |
machine.user.follower_count | number | Followers. |
machine.user.following_count | number | Accounts followed. |
machine.user.submitted_launches_count | number | Launches the user submitted. |
machine.user.products_count | number | Products linked to the user. |
machine.user.collections_count | number | Collections the user made. |
machine.user.stacks_count | number | Products in the user's stack. |
machine.user.reviews_count | number | Reviews the user wrote. |
machine.user.votes_count | number | Upvotes the user gave. |
machine.user.badges_count | number | Badges on the profile. |
machine.user.twitter_username | string | Twitter/X handle the profile lists. |
machine.user.twitter_url | string | Link to that account. |
machine.user.links[] | array | Links on the profile: kind, name and url. |
machine.user.visit_streak | number | Visit streak shown on the profile. |
machine.user.byline | null | Empty in the sample. |
machine.blocked | boolean | Whether the platform refused the request. |
machine.pages_opened | number | Pages read for the run. |
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_users",
"user": "kevin",
"user_id": "kevin",
"human": "# Product Hunt — user\n\n- **Id:** kevin\n- **Pages opened:** 1\n- **Proxy traffic:** 295.3 KB\n- **Name:** Kevin William David\n- **Headline:** Top Hunter 🥈\n- **Followers:** 28548\n- **Launches:** 3738\n- **Joined:** 2013-12-05T07:01:30-08:00",
"machine": {
"user": {
"id": "79",
"username": "kevin",
"name": "Kevin William David",
"url": "https://www.producthunt.com/@kevin",
"headline": "Top Hunter 🥈",
"about": "Hi there, I’m Kevin William David. Been a user from day 1 & currently one of the top 3 hunters on the Product Hunt leaderboard. I have helped more than 3600+ startups launch on Product Hunt for free. ",
"image": "https://ph-avatars.imgix.net/79/892b0017-ec5b-4a37-aa6c-b32d62c82cae.jpeg",
"created_at": "2013-12-05T07:01:30-08:00",
"is_maker": true,
"is_verified": false,
"follower_count": 28548,
"following_count": 119,
"submitted_launches_count": 3738,
"products_count": 19,
"collections_count": 54,
"stacks_count": 3,
"reviews_count": 95,
"votes_count": 21350,
"badges_count": 17,
"twitter_username": "kevinwdavid",
"twitter_url": "https://x.com/kevinwdavid",
"links": [
{
"kind": "website",
"name": "Website",
"url": "http://kevinwilliamdavid.com/"
},
{
"kind": "twitter",
"name": "Twitter",
"url": "https://twitter.com/kevinwdavid"
}
],
"visit_streak": 34,
"byline": null
},
"blocked": false,
"pages_opened": 1,
"proxy_traffic_bytes": 302348
},
"total_points": 5
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
One record per request. Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-producthunt-users \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"user":"kevin"}'What teams use it for
Where this field shows up in an actual workflow.
Check how active and established a founder is on the platform before a conversation.
Read follower, launch and review counts for the hunters and makers in a space.
Compare the track record of candidates who could hunt or support a launch.
Add profile counts and public links to a CRM record from a Product Hunt username.
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.
- —This source returns a personal profile as the person published it. Use it for business research and keep to the rules that apply to personal data where you operate.
- —Returns one profile per request; counts are totals, and the activity behind them comes from the user comments, launches, upvotes, collections and stacks sources.
- —Fields such as byline can be null when the profile leaves them empty.
Questions, answered
Yes. Send either the username (kevin) or the full Product Hunt profile link.
Related sources
Try product hunt user on your own data
One request format across every source in the catalog.