# Product Hunt Scraper & Launch Tracker (`darknezz/product-hunt-scraper`) Actor

Scrape Product Hunt launches, products, topics, and search results. Extract names, taglines, upvotes, makers, topics, media, and launch dates. Perfect for lead generation, competitor analysis, and market research.

- **URL**: https://apify.com/darknezz/product-hunt-scraper.md
- **Developed by:** [Oaida Adrian](https://apify.com/darknezz) (community)
- **Categories:** Lead generation, Marketing
- **Stats:** 2 total users, 0 monthly users, 89.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 product extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Product Hunt Scraper & Launch Tracker

Scrape **Product Hunt** for product launches, makers, topics, and search results — no login and no Product Hunt API token required. Point it at today's front page, a topic feed, a search query, or specific product URLs and get one clean JSON item per product, complete with upvotes, makers, and topics.

### Why this Actor

Product Hunt is where new SaaS, AI, and developer tools launch first — which makes it the freshest public source of early-stage startups and the people building them. The official API is rate-limited and OAuth-gated; this Actor reads the public site, so you can pull launches into a spreadsheet, CRM, or model without managing tokens. Track competitors the day they ship, or build a nightly feed of every AI launch.

### What it extracts

- Product name, tagline, and full description
- Upvotes / vote count, rating, and review count
- Makers — name, username, headline (great for lead gen)
- Topics / categories and pricing type
- Media — thumbnail, images, video
- Launch date and last-updated date
- Product website URL and Product Hunt URL

### Who is this for?

- **Lead generation** — build lists of new startups and reach their makers directly
- **Competitive intelligence** — get alerted the moment a competitor or adjacent tool launches
- **Investors & scouts** — surface high-upvote products early, filtered by topic
- **Trend & market research** — track which categories are heating up week over week
- **Growth & content teams** — mine launch data for roundups, newsletters, and benchmarks

### How it works

Choose **one or more** ways to select products, and the scraper collects them up to `maxProducts`:

1. **`scrapeFrontPage`** — today's featured launches.
2. **`topic`** — one or more topic slugs (e.g. `artificial-intelligence, developer-tools, saas`).
3. **`searchQuery`** — any search term Product Hunt supports.
4. **`startUrls`** — exact product pages you already know.

### Input

```json
{
  "scrapeFrontPage": true,
  "topic": "artificial-intelligence, saas",
  "searchQuery": "",
  "maxProducts": 50,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

| Option | Description |
|--------|-------------|
| `startUrls` | Specific Product Hunt product URLs to scrape |
| `topic` | Comma-separated topic slugs (required if no other source given) |
| `searchQuery` | Free-text search across Product Hunt |
| `scrapeFrontPage` | Scrape today's front-page launches |
| `maxProducts` | Max products to return (default 50, max 500) |
| `proxyConfiguration` | Apify proxy — keep on to avoid rate limits |

### Output (one item per product)

```json
{
  "id": "a1b2c3...",
  "phId": "12345",
  "name": "Product Name",
  "tagline": "One-line description",
  "description": "Full description",
  "url": "https://www.producthunt.com/products/...",
  "website": "https://...",
  "upvotes": 250,
  "topics": ["Artificial Intelligence", "SaaS"],
  "makers": [{"name": "Jane", "username": "jane", "headline": "Builder"}],
  "media": [{"type": "thumbnail", "url": "https://..."}],
  "launchedAt": "2026-07-01T00:00:00Z",
  "pricingType": "free",
  "reviewsCount": 15,
  "rating": 4.5
}
```

Export to JSON, CSV, or Excel, or pull the dataset via the API.

### Run on a schedule / via API

Build a daily feed of new AI launches:

```bash
curl -X POST "https://api.apify.com/v2/acts/darknezz~product-hunt-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"topic":"artificial-intelligence","maxProducts":50}'
```

Add a **Schedule** in the Apify console to run it every morning, and a webhook to push new makers straight into your CRM.

### Pricing

Pay-per-event: **$0.01 per product extracted**, plus a tiny per-run start fee. No subscription — pay only for the products you pull.

### FAQ

**Do I need a Product Hunt account or API key?** No. It reads the public site — no login, no OAuth, no token.

**Can I combine sources?** Yes — set `scrapeFrontPage` and a `topic` together, for example; results are de-duplicated up to `maxProducts`.

**Are makers included?** Yes — each product carries a `makers` array with name, username, and headline, ideal for outreach.

**Should I keep proxy on?** Yes. Product Hunt rate-limits aggressive access; the default Apify proxy keeps runs reliable.

# Actor input Schema

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

Specific Product Hunt product URLs to scrape.

## `topic` (type: `string`):

Comma-separated Product Hunt topics to scrape (e.g. artificial-intelligence, developer-tools, saas).

## `searchQuery` (type: `string`):

Search Product Hunt for products matching this query.

## `scrapeFrontPage` (type: `boolean`):

Scrape today's Product Hunt front page launches.

## `maxProducts` (type: `integer`):

Maximum number of products to return.

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

Use Apify proxy to avoid rate limits.

## Actor input object example

```json
{
  "topic": "AI",
  "searchQuery": "",
  "scrapeFrontPage": true,
  "maxProducts": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (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 = {
    "topic": "AI",
    "scrapeFrontPage": true,
    "maxProducts": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("darknezz/product-hunt-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 = {
    "topic": "AI",
    "scrapeFrontPage": True,
    "maxProducts": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("darknezz/product-hunt-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "topic": "AI",
  "scrapeFrontPage": true,
  "maxProducts": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call darknezz/product-hunt-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=darknezz/product-hunt-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/Lj3XQqvEsijyv1KSa/builds/P0PsBLhbNMVJUGccY/openapi.json
