# Product Hunt Scraper

> Scrape Product Hunt trending products using Apify. Use when you need to discover new product launches, track competitors on Product Hunt, or monitor the startup ecosystem for relevant launches.

- Skill: `levalencia/product-hunt-scraper` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add levalencia/product-hunt-scraper`
- Raw SKILL.md: https://api.skillmd.com/api/skills/levalencia/product-hunt-scraper/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: levalencia (https://skillmd.com/u/levalencia)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/levalencia/product-hunt-scraper

---


# Product Hunt Scraper

Scrape trending products from Product Hunt using the Apify `danpoletaev/product-hunt-scraper` actor.

## Quick Start

Requires `APIFY_API_TOKEN` env var (or `--token` flag). Install dependency: `pip install requests`.

```bash
# Today's top products
python3 skills/product-hunt-scraper/scripts/scrape_producthunt.py \
  --time-period daily --max-products 10 --output summary

# This week's products filtered by keyword
python3 skills/product-hunt-scraper/scripts/scrape_producthunt.py \
  --time-period weekly --keywords "AI,marketing" --output summary

# Monthly top products as JSON
python3 skills/product-hunt-scraper/scripts/scrape_producthunt.py \
  --time-period monthly --max-products 50
```

## CLI Reference

| Flag | Default | Description |
|------|---------|-------------|
| `--time-period` | weekly | `daily`, `weekly`, or `monthly` |
| `--max-products` | 50 | Max products to scrape |
| `--keywords` | none | Keywords to filter (comma-separated, OR logic) |
| `--output` | json | Output format: `json` or `summary` |
| `--token` | env var | Apify token (prefer `APIFY_API_TOKEN` env var) |
| `--timeout` | 300 | Max seconds to wait for the Apify run |

## Notes

- Keyword filtering is client-side on product name + tagline + description
- Results are sorted by upvote count (descending)

