# ProductHunt Scraper (`red.cars/producthunt-scraper`) Actor

Scrape products, makers, comments, and trending data from ProductHunt. Extract launch information, vote counts, maker profiles, and daily rankings.

- **URL**: https://apify.com/red.cars/producthunt-scraper.md
- **Developed by:** [AutomateLab](https://apify.com/red.cars) (community)
- **Categories:** Automation, Developer tools, Lead generation
- **Stats:** 84 total users, 0 monthly users, 100.0% runs succeeded, 7 bookmarks
- **User rating**: No ratings yet

## Pricing

$19.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

## ProductHunt Scraper

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-blue?logo=apify)](https://apify.com/red.cars/producthunt-scraper)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

> Scrape products, makers, comments, and trending data from ProductHunt

### Description

Scrape products, makers, comments, and trending data from ProductHunt. Extract launch information, vote counts, maker profiles, and daily rankings.

### Features

📌 Status
🧠 Context
\[2026-03-12] — outputSchema description added (spec-005)

### How It Works

This actor uses intelligent extraction with Apify's proxy infrastructure to gather public data from ProductHunt Scraper. It handles authentication, pagination, and error recovery automatically.

### Quick Start

```bash
## Run via Apify API
apify run -a red.cars/producthunt-scraper

## Or configure input and click Run on:
## https://apify.com/red.cars/producthunt-scraper
```

#### Using as an MCP Tool

#### Running on Apify Platform

Set `APIFY_API_KEY` in your Apify Console secrets, configure input via the Actor input schema UI, and click **Run**.

### Input Schema

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `mode` | string | Choose what to scrape from ProductHunt<br>Options: `daily`, `products`, `makers`, `topics` | daily |
| `urls` | array | ProductHunt URLs to scrape (for products/makers modes) | - |
| `maxProducts` | integer | Maximum number of products to scrape | 50 |
| `debugMode` | boolean | Enable minimal extraction for health checks and testing. Guarantees success within 300s. | false |
| `includeComments` | boolean | Whether to scrape product comments | false |
| `checkOnly` | boolean | When true, returns immediately with capability metadata without scraping. Used by AI agents to verify availability before committing to a paid run. Free, <5 seconds. | false |

#### Infrastructure & Reliability

| `proxyType` | string | Choose your preferred balance of cost vs reliability. Standard (Datacenter) is faster; Premium (Residential) is most reliable for high-security targets.<br>Options: `DATACENTER`, `RESIDENTIAL` | RESIDENTIAL |

### Output Schema

| Field | Type | Description |
|-------|------|-------------|
| `results` | string | Product Hunt product launches, makers, and community engagement. Each result contains: type, id, name, tagline, description, url, websiteUrl, votesCount, commentsCount, topics, thumbnail, makers, launchDate. Use for startup competitive intelligence, product trend discovery, founder research, SaaS market analysis. AI agents: search by product name, topic category, or launch date range. |

### Example Output

```json
{
  "results": [
    {
      "url": "https://example.com/profile",
      "username": "example_user",
      "fullName": "Example User",
      "followersCount": 10000,
      "followingCount": 500,
      "postsCount": 250,
      "isVerified": false,
      "biography": "Example bio text",
      "latestPosts": [],
      "scrapedAt": "2026-03-23T13:24:23.678Z"
    }
  ]
}
```

### Pricing

### Use Cases

- **Influencer Research**: Identify and evaluate potential influencers by engagement metrics and audience quality
- **Competitor Monitoring**: Track competitor presence and activity on Target Platform
- **Lead Generation**: Build targeted lead lists from public profiles and contact information
- **Market Intelligence**: Gather market intelligence and trend data for business decisions
- **Content Aggregation**: Collect content for analysis, archiving, or republication

### FAQ

#### Do I need an API key?

No, this actor does not require an API key. It uses Apify proxy infrastructure for reliable extraction.

#### How does pricing work?

This actor uses Apify's Pay-Per-Event model. You are charged per successful result returned. No charge for queries that return zero results.

#### What are the rate limits?

Rate limits depend on your Apify plan. Higher-tier plans provide more compute units and faster extraction.

#### How do I increase success rate?

- Enable **Premium (Residential)** proxy for high-security targets
- Reduce concurrency for rate-limited profiles
- Use debug mode to test before full extraction

#### Can I run this on a schedule?

Yes, use Apify Scheduler to run this actor on a cron schedule for continuous monitoring.

#### How do I export to CRM?

Set `exportFormat` to `salesforce` or `hubspot` for direct CRM import format.

### Troubleshooting

| Error | Cause | Fix |
|-------|-------|-----|
| NETWORK\_ERROR | Network connectivity issue | Check internet connection, retry with proxy |
| VALIDATION\_ERROR | Invalid input parameters | Review input schema and retry |

### Known Limitations

- **Private accounts**: Cannot extract data from private accounts without following
- **Rate limiting**: Platform may temporarily block repeated requests from same IP
- **Data freshness**: Extracted data reflects moment of extraction; historical data may be limited
- **Proxy requirements**: High-security targets may require residential proxy for reliable extraction
- **Content limits**: Platform-imposed limits on historical post retrieval

### Legal

**Data Source**: the target platform (the target platform.com)

**Terms of Service**: This actor is provided for legitimate data collection purposes only. Users must comply with the target platform's Terms of Service and applicable laws. Red.cars is not responsible for misuse of this tool.

**Privacy**: All extracted data is processed in accordance with applicable privacy laws. Do not use this tool for unauthorized data collection or privacy-violating activities.

**Attribution**: When using the target platform data, comply with their attribution requirements and data policies.

***

*red.cars Intelligence Fleet • [apify.com/red.cars](https://apify.com/red.cars)*

# Actor input Schema

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

Choose what type of data to extract from ProductHunt

## `urls` (type: `array`):

Specific ProductHunt URLs to scrape

## `date` (type: `string`):

Specific date to extract products from (YYYY-MM-DD format)

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

Filter products by specific topic or category

## `includeComments` (type: `boolean`):

Extract comments from product pages

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

Maximum number of products to extract

## `enableBusinessIntelligence` (type: `boolean`):

Generate lead scores and business insights

## `proxyType` (type: `string`):

Choose your preferred balance of cost vs reliability

## Actor input object example

```json
{
  "mode": "daily",
  "includeComments": false,
  "maxProducts": 50,
  "enableBusinessIntelligence": false,
  "proxyType": "DATACENTER"
}
```

# Actor output Schema

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

Product Hunt product launches, makers, and community engagement. Each result contains: type, id, name, tagline, description, url, websiteUrl, votesCount, commentsCount, topics, thumbnail, makers, launchDate. Use for startup competitive intelligence, product trend discovery, founder research, SaaS market analysis. AI agents: search by product name, topic category, or launch date range.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("red.cars/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 = {}

# Run the Actor and wait for it to finish
run = client.actor("red.cars/producthunt-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 '{}' |
apify call red.cars/producthunt-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/RlY5IZlXAhcThlvyE/builds/8YFC6fmEsbaBRE96F/openapi.json
