# Product Hunt Launches Scraper (`automly/product-hunt-launches-scraper`) Actor

Scrape Product Hunt launches from daily, weekly, monthly and yearly leaderboards, categories and topics: name, tagline, upvotes, comments, ranks, makers, links, images and product stats, plus optional comments, reviews, built-with tools and launch history. Any date range. No login.

- **URL**: https://apify.com/automly/product-hunt-launches-scraper.md
- **Developed by:** [Automly](https://apify.com/automly) (community)
- **Categories:** Lead generation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 launches

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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 Launches Scraper

### What is Product Hunt Launches Scraper?

**Product Hunt Launches Scraper** is a tool that lets you **scrape Product Hunt launches** from daily, weekly, monthly and yearly leaderboards, categories and topics: name, tagline, description, upvotes, comments count, day/week/month/year rank, makers and hunter, website and social links, images, videos, topics, categories and product stats, plus optional **comments, reviews, launch history and built-with tools**. Pick a date range or paste Product Hunt links, click **Start**, and download the launches as Excel, CSV or JSON.

- ⚡ **Speed:** 2,664 launches from three full days in 26 seconds, and a full week of 5,990 launches in under 2 minutes in our tests
- 📅 **Any date range:** every launch of each day, week, month or year, not only the featured ones
- 💬 **Full launch context:** every comment and reply, every review, the product's launch history and the tools the makers build with
- 🔓 **No login:** no Product Hunt account or API token needed

### What can Product Hunt Launches Scraper do?

- Scrape **today's Product Hunt leaderboard** or any past day
- Scrape **Product Hunt launches by date range**: every day from a start date to an end date
- Get the **weekly, monthly and yearly Product Hunt leaderboards** with ranks
- Choose **featured launches only** or **every launch** of the period
- Scrape **Product Hunt categories and topics** (for example AI Agents or Developer Tools)
- Get **makers and hunters** with their headline, profile link, followers and links
- Get **Product Hunt comments** with author, upvotes and replies
- Get **Product Hunt reviews** with rating, pros and cons
- Get each product's **launch history** and **built-with** tool stack
- Include or skip **promoted listings**
- Get one day's launches in seconds over the **real-time API**
- Export to Excel, CSV, JSON, HTML or XML, or send them to Google Sheets, Make, Zapier and more

### What data can you extract from Product Hunt launches?

| | | |
|---|---|---|
| 🚀 Launch name and tagline | 📝 Description | 🔗 Launch and product links |
| 👍 Upvotes | 💬 Comments count | 🏆 Day, week, month and year rank |
| 📅 Launch date | ⭐ Featured / promoted flags | 🖼️ Thumbnail, images and videos |
| 🏷️ Topics, categories and tags | 💲 Pricing type | 🌐 Website, links and X handle |
| 👥 Makers and hunter | ❤️ Product followers | ⭐ Reviews count and rating |
| 🗨️ Comments and replies (optional) | 📝 Reviews (optional) | 🧰 Built-with tools and launch history (optional) |

### How to scrape Product Hunt launches

1. [Create a free Apify account](https://console.apify.com/sign-up) (no credit card needed).
2. Open **Product Hunt Launches Scraper**.
3. Choose where to find launches (daily, weekly, monthly or yearly leaderboards, categories, topics or page links) and set the dates or slugs.
4. Click **Start**.
5. When the run finishes, download the launches as Excel, CSV, JSON, HTML or XML.

### Why use this Product Hunt scraper?

We compared it with the 4 most-used Product Hunt scrapers in the Apify Store (September 2026), based on their own descriptions and settings:

| Feature | Product Hunt Launches Scraper | The 4 most-used alternatives |
|---|---|---|
| Real-time API: one day's launches in the response, no run to start | ✅ | None of 4 |
| Weekly, monthly and yearly leaderboards over a range, e.g. January to August | ✅ | 1 of 4 |
| Each product's launch history | ✅ | 2 of 4 |
| Comments, reviews, launch history and built-with tools in one run | ✅ | 2 of 4 |

Already use the most-used Product Hunt scraper? The input fields have the same names, so your saved inputs work here unchanged. Website details and e-mails from the launch's website are not offered yet.

### ⬇️ Input

Choose one source in **Find launches from** and fill in only the fields for it.

| Setting | What it does |
|---|---|
| Find launches from | Daily, weekly, monthly or yearly leaderboards, categories, topics, or Product Hunt page URLs |
| Start date / End date | Days to scrape, e.g. 2026-09-01 to 2026-09-30. Empty start date = today (California time) |
| Start week / End week | Weeks as year-week, e.g. 2026-38, as in producthunt.com/leaderboard/weekly/2026/38 |
| Start month / End month | Months, e.g. 2026-08 |
| Start year / End year | Years, e.g. 2025 |
| Category slugs | Categories such as `ai-agents` (from producthunt.com/categories/ai-agents) |
| Topic slugs | Topics such as `developer-tools` or `open-source` |
| Product Hunt page URLs | Leaderboard, category or topic links. Add `/all` to a leaderboard link for every launch of that period |
| Maximum launches | Stop after this many launches in total. Empty = everything found |
| Featured launches only | Only the launches Product Hunt featured. Off = every launch |
| Include promoted listings | Also save the promoted listings shown in leaderboards, marked `isPromoted` |
| Scrape comments | Add every comment and reply |
| Scrape reviews | Add the product's reviews |
| Scrape built-with tools | Add the tools the makers say they build with |
| Scrape launch history | Add the product's other Product Hunt launches |

Every featured launch of August 2026, with comments:

```json
{
  "target": "daily",
  "startDate": "2026-08-01",
  "endDate": "2026-08-31",
  "shouldScrapeOnlyFeaturedLaunches": true,
  "shouldScrapeComments": true
}
```

The top products in two categories, with reviews and their tool stack:

```json
{
  "target": "category",
  "categorySlugs": ["ai-agents", "ai-code-editors"],
  "maxNbItemsToScrape": 200,
  "shouldScrapeReviews": true,
  "shouldScrapeBuiltWith": true
}
```

### ⬆️ Output

You get one row per launch. You can view them as a table in Apify Console or download them as Excel, CSV, JSON, HTML or XML. Here is a real row, shortened:

```json
{
  "name": "Superset Mobile",
  "tagline": "Your coding agents, now in your pocket",
  "url": "https://www.producthunt.com/products/superset-5/launches/superset-mobile-2",
  "isFeatured": true,
  "launchDate": "2026-09-21T00:01:00-07:00",
  "upvotesCount": 504,
  "commentsCount": 133,
  "dayRank": 1,
  "weekRank": 3,
  "monthRank": 12,
  "topics": ["iOS", "Artificial Intelligence", "Development"],
  "categories": ["Terminals", "Command line tools", "AI Code Editors"],
  "pricingType": "free_options",
  "websiteUrl": "https://superset.sh?utm_source=producthunt&utm_medium=social&utm_campaign=launch_2026",
  "xAccountHandle": "superset_sh",
  "team": [{"type": "Maker", "name": "Kiet Ho", "username": "flyakiet", "profileUrl": "https://www.producthunt.com/@flyakiet"}],
  "followers": 2219,
  "reviewsCount": 8,
  "reviewsRating": 5.0,
  "launchesCount": 3
}
```

Rows also carry the description, thumbnail, images, videos, tags, links, product ID and the leaderboard the launch came from. With the options on, each row adds `comments` (every comment and reply in one list; `parentId` links a reply to the comment it answers), `reviews`, `builtWith` and `launches` (the product's launch history). Each run also saves a short report with how many leaderboards, categories or links it covered, and any it could not scrape completely with the reason.

### How can I use Product Hunt launch data?

- **Startup and product research:** see what launched each day, which categories are busy and what wins
- **Lead generation:** build lists of new products with their website, X handle and makers
- **Competitor tracking:** follow launches in your category and read what users say in comments and reviews
- **Investor deal flow:** spot top-ranked launches every week or month
- **Tech stack research:** see which tools new startups build with
- **Trend analysis:** chart launches, upvotes and topics over months or years

### Monitor Product Hunt every day

Leave the start date empty and schedule the actor to run every evening: each run saves that day's leaderboard (California time, the same day Product Hunt uses). Add a webhook or an integration to send the new launches to Google Sheets, Slack or your CRM.

### Real-time Product Hunt API

Need a day's launches right away inside your app? Call the actor's API and get them back in the response, without starting a run:

```
GET https://<your-actor-standby-url>/launches?date=2026-09-24&featuredOnly=true
Authorization: Bearer <YOUR_APIFY_TOKEN>
```

Add `&comments=true`, `&reviews=true`, `&builtWith=true` or `&launchHistory=true` for the extra data, and `&limit=50` to cap the number of launches.

You can also run the actor from your own code with the [Apify API](https://docs.apify.com/api/v2) or the Python and JavaScript clients:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("automly/product-hunt-launches-scraper").call(run_input={
    "target": "weekly",
    "startWeek": "2026-38",
    "shouldScrapeOnlyFeaturedLaunches": True,
})
for launch in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(launch["weekRank"], launch["name"], launch["upvotesCount"])
```

### ❓FAQ

#### How much does it cost to scrape Product Hunt?

You pay only for the launches you get, per 1,000 launches. See the **Pricing** tab for the current price. Every Apify account gets $5 of free usage each month, so you can try it at no cost.

#### How many launches does Product Hunt have per day?

Usually several hundred: 748 launches on 24 September 2026, of which 21 were featured. Turn on **Featured launches only** to get just the featured ones, which is what the leaderboard shows by default.

#### Can I scrape a whole month or year?

Yes. Use a date range for every day, or the monthly and yearly leaderboards for the ranked view. A month of every launch is tens of thousands of rows, so set **Maximum launches** if you only need the top.

The yearly leaderboard of the current year is short: Product Hunt lists only its top launches so far (201 featured launches for 2026 on 26 September, against 5,209 for all of 2025). For every featured launch of this year, use the monthly leaderboards from January to this month, or a daily date range.

#### What do categories and topics return?

The products in that category or topic, highest rated first, each as its latest launch with the same fields as a leaderboard row. With **Featured launches only** on, you get only the products whose latest launch was featured.

#### Why does the number of comments differ from commentsCount?

`commentsCount` is Product Hunt's own number and also counts comments that are no longer shown (hidden or removed). The comments list has every comment Product Hunt shows, replies included.

#### Which timezone are the dates in?

Product Hunt's days start at midnight California time, and so do the dates in this scraper. Weeks are numbered as in Product Hunt's weekly leaderboard links (weeks start on Monday).

#### Do I need a Product Hunt account or API token?

No. You don't need an account, cookies or a Product Hunt API token.

#### Is it legal to scrape Product Hunt?

This scraper only collects what Product Hunt shows publicly on its pages. It does not collect private data such as personal e-mail addresses. Only scrape for a legitimate reason and ask a lawyer if you are unsure. You can read more in [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

Product Hunt Launches Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Product Hunt.

#### Something isn't working. What should I do?

Open the **Issues** tab and tell us the input and what you expected. We usually reply within a day.

# Actor input Schema

## `target` (type: `string`):

Where to find launches. Fill in only the fields for that choice below.

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

First day, e.g. 2026-09-01. Leave empty for today's leaderboard (California time).

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

Last day of the range, included. Leave empty for the start date only.

## `startWeek` (type: `string`):

First week as year-week, e.g. 2026-38 (the number in producthunt.com/leaderboard/weekly/2026/38). Leave empty for this week.

## `endWeek` (type: `string`):

Last week of the range, included. Leave empty for the start week only.

## `startMonth` (type: `string`):

First month, e.g. 2026-08. Leave empty for this month.

## `endMonth` (type: `string`):

Last month of the range, included. Leave empty for the start month only.

## `startYear` (type: `integer`):

First year, e.g. 2025. Leave empty for this year.

## `endYear` (type: `integer`):

Last year of the range, included. Leave empty for the start year only.

## `categorySlugs` (type: `array`):

Categories as in producthunt.com/categories/<slug>, e.g. ai-agents. Each product's latest launch is returned, highest rated first.

## `topicSlugs` (type: `array`):

Topics as in producthunt.com/topics/<slug>, e.g. developer-tools or open-source. Each product's latest launch is returned, highest rated first.

## `productHuntPageUrls` (type: `array`):

Daily, weekly, monthly or yearly leaderboard, category or topic URLs, e.g. https://www.producthunt.com/leaderboard/daily/2026/9/24 (add /all for every launch of that period).

## `maxNbItemsToScrape` (type: `integer`):

Stop after this many launches in total. Leave empty (or 0) for every launch found.

## `shouldScrapeOnlyFeaturedLaunches` (type: `boolean`):

Only launches Product Hunt featured (the leaderboard's default tab). Off: every launch of the period. For categories and topics: only products whose latest launch was featured.

## `shouldIncludePromotedListings` (type: `boolean`):

Also save the promoted (paid) listings shown in leaderboards, marked isPromoted.

## `shouldScrapeComments` (type: `boolean`):

Add every comment and reply with its author and upvotes.

## `shouldScrapeReviews` (type: `boolean`):

Add the product's reviews with rating, text, pros, cons and reviewer.

## `shouldScrapeBuiltWith` (type: `boolean`):

Add the tools the makers say they build with.

## `shouldScrapeLaunches` (type: `boolean`):

Add the product's other Product Hunt launches with dates, ranks and upvotes.

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

Proxy settings. The default works for most runs.

## Actor input object example

```json
{
  "target": "daily",
  "maxNbItemsToScrape": 100,
  "shouldScrapeOnlyFeaturedLaunches": false,
  "shouldIncludePromotedListings": false,
  "shouldScrapeComments": false,
  "shouldScrapeReviews": false,
  "shouldScrapeBuiltWith": false,
  "shouldScrapeLaunches": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

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

No description

## `report` (type: `string`):

No description

# 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 = {
    "target": "daily",
    "maxNbItemsToScrape": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automly/product-hunt-launches-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 = {
    "target": "daily",
    "maxNbItemsToScrape": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("automly/product-hunt-launches-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 '{
  "target": "daily",
  "maxNbItemsToScrape": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call automly/product-hunt-launches-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automly/product-hunt-launches-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/jikzWgyUB2XAz8zNq/builds/yxCkG13cb0lNtUgOl/openapi.json
