VOOZH about

URL: https://apify.com/wsgcjj/product-hunt-scraper

โ‡ฑ Product Hunt Daily Products Scraper ยท Apify


๐Ÿ‘ Product Hunt Daily Products Scraper avatar

Product Hunt Daily Products Scraper

Pricing

$1.00 / 1,000 results

Go to Apify Store

Product Hunt Daily Products Scraper

Scrape Product Hunt for daily/top products with votes, reviews, descriptions, and maker information. Perfect for competitive analysis, market research, and founder intelligence.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

๐Ÿ‘ ้™ˆไฟŠๆฐ

้™ˆไฟŠๆฐ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

25 days ago

Last modified

Share

Product Hunt Scraper โ€” Apify Actor

๐Ÿ‘ Apify Actor
๐Ÿ‘ Python

Scrape Product Hunt for daily and top products, including upvotes, comment counts, descriptions, maker information, tags, and more. This actor is perfect for:

  • Competitive analysis โ€” track new product launches in your niche.
  • Market research โ€” discover trending products and categories.
  • Founder intelligence โ€” build lead lists of makers and their projects.
  • Content curation โ€” aggregate Product Hunt data for newsletters or dashboards.

How it works

  1. The actor sends a standard HTTP GET request to the Product Hunt collection page of your choice (e.g. https://www.producthunt.com/tech).
  2. Product Hunt is built with Next.js, so the initial page state is serialised into a <script id="__NEXT_DATA__"> tag.
  3. The actor parses this JSON payload to extract products without needing a headless browser โ€” making it fast and resource-efficient.
  4. Each product is normalised, filtered (by minimum upvotes), limited, and pushed to the Apify dataset.

Input parameters

FieldTypeDefaultDescription
datestringtodayThe date to scrape (YYYY-MM-DD). Used for reference; Product Hunt often returns currently featured products.
collectionenumtechWhich Product Hunt collection to scrape.
min_votesint0Minimum number of upvotes โ€” products below this threshold are dropped.
limitint25Maximum number of products to return (capped at 100).

Available collections

  • tech
  • games
  • podcasts
  • books
  • developer-tools
  • artificial-intelligence
  • all (home page / trending)

Example output

Each item in the dataset is a JSON object like this:

{
"name":"Not Diamond",
"tagline":"The AI model router that improves every LLM output",
"description":"Not Diamond automatically routes each query to the best LLM, saving costs and improving quality.",
"url":"https://www.producthunt.com/posts/not-diamond",
"slug":"not-diamond",
"upvotes":987,
"comments_count":42,
"maker_name":"Tommy Sun",
"thumbnail_url":"https://ph-files.imgix.net/...",
"website_url":"https://notdiamond.ai",
"tags":["artificial-intelligence","developer-tools","open-source"],
"featured_at":"2025-05-26T07:01:00Z",
"id":"123456"
}

Field descriptions

FieldTypeDescription
namestringProduct name
taglinestringShort one-line description
descriptionstringFull description (often same as tagline)
urlstringProduct Hunt post URL
slugstringURL slug
upvotesintegerNumber of upvotes โ–ฒ
comments_countintegerNumber of comments
maker_namestringName of the first listed maker
thumbnail_urlstringThumbnail image URL
website_urlstringProduct's external website
tagsarrayList of topic/category tags
featured_atstringISO 8601 timestamp when featured
idstringUnique Product Hunt ID

Example usage (Apify client)

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run_input ={
"collection":"tech",
"min_votes":50,
"limit":10,
"date":"2025-05-26",
}
run = client.actor("your-actor-id").call(run_input=run_input)
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in dataset_items:
print(f"{item['name']} โ€” โ–ฒ {item['upvotes']} by {item['maker_name']}")

JavaScript / TypeScript

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token:'YOUR_API_TOKEN'});
const input ={
collection:'developer-tools',
min_votes:100,
limit:5,
};
const run =await client.actor('your-actor-id').call(input);
const{ items }=await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item=>{
console.log(`${item.name} โ€” โ–ฒ ${item.upvotes}`);
});

Local development

# 1. Clone the repository
git clone <repo-url> product-hunt-scraper
cd product-hunt-scraper
# 2. Create a virtual environment
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
# 3. Install dependencies
pip install-r requirements.txt
# 4. Run the actor locally
python -m src

Note: When running locally without the Apify platform, Actor.push_data() and Actor.get_input() require either the Apify CLI (apify run) or environment variables. For quick tests, you can set APIFY_LOCAL_EMULATION=true or use the Apify CLI.


Technical details

  • Language: Python 3.14
  • HTTP client: httpx (async)
  • HTML parsing: BeautifulSoup is declared as a dependency, but the primary extraction path uses the __NEXT_DATA__ JSON payload โ€” no full DOM parsing needed.
  • Scraping approach: Static HTTP request with a real browser User-Agent. No headless browser (Puppeteer/Playwright) required.
  • Dataset: Each product is pushed individually via Actor.push_data().

Limitations

  • Product Hunt rate-limits aggressive requests. Adding randomised delays between multiple runs is recommended.
  • The __NEXT_DATA__ JSON structure may change when Product Hunt updates their frontend. The actor includes fallback logic to find product data by key name, but occasional breakage is possible.
  • Only publicly visible data on collection pages is extracted. Authentication-gated data (e.g. private follow feeds) is not supported.

License

MIT

You might also like

Product Hunt Daily Scraper *Cheap*

data_alchemist/producthunt-daily-scraper

Product Hunt Scraper

pear_fight/producthunt-scraper

Scrape products and launches from Product Hunt

Product Hunt Daily Launches Scraper

logiover/product-hunt-daily-launches-scraper

Product Hunt scraper without API key or login. A Product Hunt API alternative: export daily launches, votes and topics to CSV/JSON datasets.

Product Hunt Scraper - Free Daily Top Products Extractor

cryptosignals/producthunt-daily-scraper

Extract daily top products from Product Hunt. Get product name, tagline, votes, comments, makers, topics, and launch URL. Ideal for tracking startup launches and discovering emerging tools. PPE pricing โ€” pay only for results.

12

Product Hunt Scraper โ€” Daily Launch Data

devilscrapes/producthunt-launches-scraper

Scrape Product Hunt daily launches via the public RSS feed โ€” name, tagline, maker, link, posted-at โ€” export to JSON or CSV. A lightweight Product Hunt scraper with no login; attach a Product Hunt API token for deeper fields when you need them.

Product Hunt Scraper

jungle_synthesizer/producthunt-scraper

Scrape products, launch data, and maker profiles from Product Hunt. Extract names, taglines, upvotes, comments, ratings, topics, maker details, and daily rank. Filter by topic, date range, or browse top launches. No account or token required.

๐Ÿ‘ User avatar

BowTiedRaccoon

3

Product Hunt Email Scraper - Advanced, Fast & Cheapest

contacts-api/product-hunt-email-scraper-fast-advanced-and-cheapest

๐Ÿš€ Product Hunt Email Scraper lets you extract founder and startup emails from Product Hunt launches โšก Perfect for SaaS sales and partnerships ๐Ÿ“ง

Product Hunt Scraper โ€“ Products, Launches, Makers & Reviews

abotapi/product-hunt-launches-scraper

Extract Product Hunt data including products, launches, keyword search results, maker profiles, reviews, categories, media, social links, product websites, and optional public contact emails.