nvNeuralVerge
Startup & Funding Data

Product Hunt Leaderboards API and MCP — Ranked Launches by Day, Week, Month or Year

Send a period and a date and get that leaderboard back as JSON, one record per launch in rank order: rank, name, tagline, votes, comments, topics, product slug and link, and when it was featured. The date format follows the period: 2024/1/15 for daily, 2024/3 for weekly or monthly, 2024 for yearly.

You send
a period (daily, weekly, monthly or yearly) and a date in the matching format, such as 2024/1/15 for a day, plus an optional featured-only flag and a max_items cap (up to 250)
You get back
the ranked launches for that period with rank, name, tagline, votes, comments, topics and product 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 directlyOpen the page on Product Hunt and scroll through the listFree, 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.
periodstringThe period used for the run; daily in the sample.
datestringThe date you sent.
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 launches returned in this response.
machine.total_foundnullTotal matches reported by the platform, when it reports one. Null in the sample.
machine.first_item.idstringLaunch slug.
machine.first_item.namestringLaunch name.
machine.first_item.urlstringLink to the launch page.
machine.first_item.aliasstringLaunch slug as Product Hunt uses it.
machine.first_item.launch_idstringNumeric launch id, as a string.
machine.first_item.ranknumberPosition on the leaderboard.
machine.first_item.taglinestringOne-line tagline.
machine.first_item.votes_countnumberVotes on the launch.
machine.first_item.comments_countnumberComments on the launch.
machine.first_item.topicsarrayTopics, each with name, slug and url.
machine.first_item.imagestringLaunch image URL.
machine.first_item.product_slugstringSlug of the product behind the launch.
machine.first_item.product_urlstringLink to the product page.
machine.first_item.featured_atstringWhen the launch was featured, ISO 8601 with offset.
machine.items[]arrayLaunches in rank order, 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_leaderboards",
  "period": "daily",
  "date": "2024/1/15",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# Product Hunt — leaderboards\n\n- **Query:** period=daily, date=2024/1/15\n- **Results:** 2\n- **Proxy traffic:** 31.4 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "id": "ai-picasso-ai-dance",
      "name": "AI Picasso - AI dance",
      "url": "https://www.producthunt.com/posts/ai-picasso-ai-dance",
      "alias": "ai-picasso-ai-dance",
      "launch_id": "434214",
      "rank": 1,
      "tagline": "Full body AI dance from photos",
      "votes_count": 314,
      "comments_count": 275,
      "topics": [
        {
          "name": "Android",
          "slug": "android",
          "url": "https://www.producthunt.com/topics/android"
        },
        {
          "name": "iOS",
          "slug": "ios",
          "url": "https://www.producthunt.com/topics/ios"
        }
      ],
      "image": "https://ph-files.imgix.net/6fac80c0-fafa-4033-9374-9c7d1e30437d.png?auto=format&fit=crop&w=128&h=128",
      "product_slug": "ai-picasso",
      "product_url": "https://www.producthunt.com/products/ai-picasso",
      "featured_at": "2024-01-15T00:23:23-08:00"
    },
    "items": [
      {
        "id": "ai-picasso-ai-dance",
        "name": "AI Picasso - AI dance",
        "url": "https://www.producthunt.com/posts/ai-picasso-ai-dance",
        "alias": "ai-picasso-ai-dance",
        "launch_id": "434214",
        "rank": 1,
        "tagline": "Full body AI dance from photos",
        "votes_count": 314,
        "comments_count": 275,
        "topics": [
          {
            "name": "Android",
            "slug": "android",
            "url": "https://www.producthunt.com/topics/android"
          },
          {
            "name": "iOS",
            "slug": "ios",
            "url": "https://www.producthunt.com/topics/ios"
          }
        ],
        "image": "https://ph-files.imgix.net/6fac80c0-fafa-4033-9374-9c7d1e30437d.png?auto=format&fit=crop&w=128&h=128",
        "product_slug": "ai-picasso",
        "product_url": "https://www.producthunt.com/products/ai-picasso",
        "featured_at": "2024-01-15T00:23:23-08:00"
      },
      {
        "id": "team-analytics-by-codemonk-ai",
        "name": "Team Analytics by CodeMonk.ai",
        "url": "https://www.producthunt.com/posts/team-analytics-by-codemonk-ai",
        "alias": "team-analytics-by-codemonk-ai",
        "launch_id": "434333",
        "rank": 2,
        "tagline": "Uncover gaps in your tech team and hire the best fit with AI",
        "votes_count": 279,
        "comments_count": 264,
        "topics": [
          {
            "name": "Hiring",
            "slug": "hiring",
            "url": "https://www.producthunt.com/topics/hiring"
          },
          {
            "name": "Freelance",
            "slug": "freelance",
            "url": "https://www.producthunt.com/topics/freelance"
          }
        ],
        "image": "https://ph-files.imgix.net/34c51888-34fb-4b51-b6e9-9ec03661319d.png?auto=format&fit=crop&w=128&h=128",
        "product_slug": "codemonk",
        "product_url": "https://www.producthunt.com/products/codemonk",
        "featured_at": "2024-01-15T03:59:30-08:00"
      }
    ],
    "total_found": null,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 32196
  },
  "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-leaderboards \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"2024/1/15","max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Launch-day benchmarks

See what votes and comment counts it took to place on a given day.

Historical trend reports

Pull the top launches of each month or year to track which product types appear.

Category and topic scans

Read a period's list and filter by topic to find launches in your space.

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 date format must match the period (day, week or month, or year); a mismatched date will not resolve.
  • —The source returns the leaderboard as the platform shows it for the period, with no extra scoring.
  • —total_found is null in the sample, so the total length of a leaderboard is not reported.
FAQ

Questions, answered

Daily 2024/1/15, weekly 2024/3, monthly 2024/3, yearly 2024.

Related

Related sources

Try product hunt leaderboards on your own data

One request format across every source in the catalog.

Get started