# Product Hunt Scraper – Top Launches, Makers & Product Data (`rt-solutions/producthunt-scraper`) Actor

Scrape Product Hunt top launches by day, week, month or year, topic pages and full product profiles: votes, rank, comments, topics, website, X/Twitter, LinkedIn, followers, review rating, AI review summary and makers.

- **URL**: https://apify.com/rt-solutions/producthunt-scraper.md
- **Developed by:** [RT SOLUTIONS](https://apify.com/rt-solutions) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.05 / 1,000 launches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Product Hunt Scraper – Top Launches, Makers & Product Data

Export **Product Hunt's top launches** by day, week, month or year, the **highest-rated products** of any topic or category, and **full product profiles** — website, X/Twitter, LinkedIn, Instagram, GitHub, followers, review rating, AI review summary and makers. Ideal for startup lead generation, competitor tracking, investors and newsletters.

### What you can scrape

**1. Leaderboards** — the top launches of each day, week, month or year, for any date range since 2014:

| Field | Example |
|---|---|
| Rank, period | 1, 2026-10-20 |
| Name, tagline | /dev/null — a social network for devs |
| Votes, launch-day votes, comments | 486, 452, 61 |
| Daily / weekly / monthly rank | 1 / 1 / 4 |
| Topics | Open Source, Social Network, Software Engineering |
| Launch & product links, thumbnail | ✔ |

**2. Topics & categories** — the highest-rated products of a topic or category (e.g. `artificial-intelligence`, `developer-tools`, `categories/ai-agents`): rating, number of reviews, followers, number of launches, sub-categories.

**3. Product profiles** — tick *Include full product profiles* (or use the Products mode):

| Field | Example (Ami AI) |
|---|---|
| Website, domain | https://aisdr.com/… — aisdr.com |
| X/Twitter, LinkedIn, Instagram, Facebook, GitHub | ✔ |
| Followers, review rating, review count | 1,625 — 4.0 — 1 |
| AI review summary | "Reviewers largely see…" |
| Makers (name, headline, profile) | when shown on the product page |
| Y Combinator, funding, team size, launches count | ✔ |

### Input examples

Yesterday's top launches:

```json
{ "mode": "leaderboard", "period": "daily" }
```

Every daily leaderboard of September 2026, with full product profiles:

```json
{ "mode": "leaderboard", "period": "daily", "startDate": "2026-09-01", "endDate": "2026-09-30", "includeProductDetails": true, "maxResults": 1000 }
```

Highest-rated AI products:

```json
{ "mode": "topics", "topics": ["artificial-intelligence", "https://www.producthunt.com/categories/ai-agents"] }
```

Specific products:

```json
{ "mode": "products", "products": ["notion", "https://www.producthunt.com/products/linear"] }
```

You can also paste any leaderboard, topic, category, product or launch (`/posts/…`) URL.

### Use cases

- **Lead generation**: every top launch with its website and LinkedIn — fresh startups that just raised attention.
- **Investors & scouts**: track the best launches of each week or month, with Y Combinator and funding flags.
- **Competitor tracking**: monitor products in your category, their ratings and followers.
- **Newsletters & communities**: a daily or weekly digest of the best launches.

### Pricing

- **$1.50 per 1,000 launches or listed products**
- **+ $3 per 1,000 full product profiles** (only when you ask for them)

Cheaper on paid Apify plans.

### Good to know

- Leaderboards contain the **top launches** of each period as Product Hunt shows them in its page (usually 10–23 per period), not every product submitted that day.
- Votes are Product Hunt's current score; rank is the position at the end of the period.
- Topic and category pages show products ranked by rating, not launches.
- Makers are returned when the product page lists them.
- Only public information is collected — no login, no private data. Product Hunt documents these public pages for automated agents in its [llms.txt](https://www.producthunt.com/llms.txt).
- Runs never fail silently: pages that can't be read produce a warning row, and the run continues.

### Related scrapers

Other ready-to-use Actors by RT Solutions:

- [Google Trends Scraper](https://apify.com/rt-solutions/google-trends-scraper)
- [App Store & Google Play Reviews with AI](https://apify.com/rt-solutions/appstore-reviews-ai)
- [Google Ads Transparency Scraper](https://apify.com/rt-solutions/google-ads-transparency-scraper)

# Actor input Schema

## `mode` (type: `string`):

Ignored when Product Hunt URLs are given below.

## `period` (type: `string`):

One leaderboard per day, week, month or year between the start and end dates.

## `startDate` (type: `string`):

YYYY-MM-DD. Default: yesterday.

## `endDate` (type: `string`):

YYYY-MM-DD. Default: same as start date.

## `topics` (type: `array`):

Topic names, slugs or URLs, e.g. artificial-intelligence, developer-tools, https://www.producthunt.com/topics/productivity.

## `products` (type: `array`):

Product URLs or slugs, e.g. https://www.producthunt.com/products/notion or notion.

## `startUrls` (type: `array`):

Any leaderboard, topic, category, product or launch (posts) URL. Overrides the mode.

## `includeProductDetails` (type: `boolean`):

For each launch, also fetch the product page: website, X/Twitter, LinkedIn, Instagram, GitHub, followers, review rating and count, AI review summary, makers (name, headline), Y Combinator, funding. Charged separately.

## `maxResults` (type: `integer`):

Maximum number of launches or products in total.

## `proxyConfiguration` (type: `object`):

Default Apify Proxy; residential is used automatically when needed.

## Actor input object example

```json
{
  "mode": "leaderboard",
  "period": "daily",
  "topics": [
    "artificial-intelligence"
  ],
  "includeProductDetails": false,
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All results.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "topics": [
        "artificial-intelligence"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rt-solutions/producthunt-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "topics": ["artificial-intelligence"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rt-solutions/producthunt-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "topics": [
    "artificial-intelligence"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rt-solutions/producthunt-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rt-solutions/producthunt-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/heTrItnZUFgc0eKPR/builds/cy4TZyFRBQ0Pv0LIw/openapi.json
