Product Hunt MCP Tracker — Upvote Velocity + VC avatar

Product Hunt MCP Tracker — Upvote Velocity + VC

Pricing

Pay per usage

Go to Apify Store
Product Hunt MCP Tracker — Upvote Velocity + VC

Product Hunt MCP Tracker — Upvote Velocity + VC

RAG-ready Product Hunt feed — 99%+ run success tracks launches with upvote velocity & breakout AI alerts at $0.003/product. Powers VC deal-flow agents + competitor monitoring. 5 modes, multi-LLM analyst briefs, Slack/n8n/webhook fire, MCP-ready. No subscription — pay per launch. x402-ready.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Nick

Nick

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Product Hunt Scraper — Upvote Velocity, Momentum Tracker & AI Breakout Alerts

What it does

Scrape Product Hunt for trending product launches, upvote counts, comments, maker information, and topic tags — with cross-run momentum tracking that turns point-in-time data into rising/fading signals, an AI breakout narrator (2-3 paragraph analyst brief on each run's top climbers), and optional webhook alerts (Slack / Discord / Zapier / n8n / Make).

This Product Hunt scraper supports 5 scraping modes (today, weekly, monthly, topic, search). The signature Watch Mode persists each run's upvote counts and ranks in a named key-value store and emits upvote_velocity, upvotes_per_hour, rank_change, and a momentum label (new / accelerating / steady / fading) on every product, plus a top-5 breakout_summary item per run. When AI is enabled, an additional "PH trend analyst" LLM call produces a 2-3 paragraph narrative explaining the clearest breakout, cross-breakout patterns, and one concrete action for founders, PMs, or VCs this week.

Whether you are a venture capital analyst tracking startup deal flow, a product manager monitoring competitor launches, or a growth hacker building automated early-signal pipelines, this actor delivers structured Product Hunt data — with momentum signals no other actor on the Store currently ships — plus AI-written analyst-voice narratives and Slack/webhook dispatch that turn raw signals into actionable alerts without any manual dataset polling.

The actor calls the official Product Hunt GraphQL v2 API when a free developer token is supplied (full access: all 5 modes, topics, upvotes, comments, makers), and falls back to the public Atom feed for zero-setup runs. No browser required — runs on 256 MB memory and completes a 30-product pull in 1–2 seconds of wall time.

Get your free Product Hunt API token in 2 minutes: go to producthunt.com/v2/oauth/applications, create an application (any name), and copy the Developer Token.

Features

  • 5 scraping modes — scrape today's launches, weekly leaderboard, monthly leaderboard, topic-specific pages, or search results to match your research needs
  • Watch Mode (momentum tracking) — persist each run's upvote counts and ranks in a named key-value store and emit upvote_velocity (upvotes gained since last run), upvotes_per_hour, rank_change (positive = climbed leaderboard), and a momentum label (new / accelerating / steady / fading). A breakout_summary item is pushed once per run with the top-5 climbers. Enabled by default, free, no extra HTTP calls. Schedule runs with the same filter to build history.
  • AI breakout narrator — when Watch Mode emits a breakout_summary and AI is enabled, the actor issues a dedicated "PH trend analyst" LLM call that produces a 2-3 paragraph narrative (120-240 words) explaining the clearest breakout, any cross-breakout pattern, and ONE concrete action for founders / PMs / VCs this week. Attached as breakout_narrative on the summary item. Billed at $0.01 per successful narrative — only on runs where a breakout actually fires.
  • Breakout webhook dispatch — set alertWebhookUrl to any Slack / Discord / Zapier / n8n / Make / custom endpoint and the actor POSTs the full breakout_summary (including the AI narrative) with an X-Actor-Run-Id header. Fire-and-forget with 1 retry; a failed webhook never fails the run. Billed at $0.002 per successful dispatch. Turns Watch Mode into a real-time alert stream — no polling required.
  • Rich product data — name, slug, tagline, Product Hunt URL, external website, upvotes, comment count, topics + topic slugs, full maker list (name, username, headline, profile URL), thumbnail, launch date, and rank position
  • Maker profile intelligence — every product ships with a structured makers[] array (name + username + headline + profile URL) plus primary-maker convenience fields. Drop directly into founder-outreach, partnership, and investment workflows without re-querying the API.
  • Comment extraction — collect top comments from individual product pages with author name, username, profile URL, body, and created_at timestamp for sentiment and community analysis
  • GraphQL API + RSS fallback — uses Product Hunt's official GraphQL v2 API when a FREE developer token is supplied (full access: modes, topics, upvotes, comments, makers); falls back to the public Atom feed for zero-setup runs (recent products, limited fields)
  • AI trend analysis — optional LLM-powered report covering trending categories, technology patterns, top product picks, innovation assessment, audience analysis, and investment signals
  • Multi-LLM support — choose OpenRouter (recommended — 300+ models), Anthropic (Claude), Google AI (Gemini), OpenAI (GPT), or Ollama (self-hosted) for AI analysis
  • Leaderboard access — weekly and monthly leaderboards provide community-validated top products, pre-filtered for quality
  • Topic filtering — drill into specific verticals like artificial-intelligence, developer-tools, or design using topic slugs

Use Cases

  • Venture capital analysts and investors — spot emerging product categories, track launch quality and volume by vertical, and identify promising founders before they reach mainstream coverage. Schedule mode=today daily, filter for momentum == "accelerating" and upvote_velocity >= 100, and get AI breakout narratives delivered to Slack before the press covers it.
  • Product managers — monitor your product category for new entrants, feature trends, and positioning strategies. Understand what problems the market is trying to solve and which solutions gain traction with early adopters. Use rank_change to catch surging competitors the moment they launch.
  • Startup founders — research successful launches in your category to inform your own launch strategy. Analyze what taglines, topics, and positioning drive the most upvotes and engagement. Extract makers[] for networking with other founders in your space.
  • Tech journalists and newsletter writers — surface newsworthy launches and trend narratives for articles, newsletters, and podcasts. The AI breakout narrator produces a ready-to-edit analyst brief on the week's top climbers — a head start on your weekly tech roundup.
  • Marketing and growth teams — discover trending tools and products to feature in content marketing, partnership pitches, or competitive battlecards. Track how competing products position themselves with search mode, and set a Slack webhook to get real-time alerts on new entrants.
  • Technology trend analysts — run scheduled scrapes to build longitudinal datasets of Product Hunt launches. Identify macro trends in AI adoption, API-first architectures, no-code tools, and vertical SaaS. upvotes_per_hour gives you normalized velocity regardless of when in the day you pull data.
  • Developer advocates — track developer tool launches with topic=developer-tools, identify popular integrations and APIs, and discover emerging developer communities and workflows. Combine with the GitHub Trending Scraper for a cross-platform signal.
  • Academic researchers — study innovation diffusion, product-market fit signals, and early-stage startup ecosystems with structured, timestamped launch data. Watch Mode's historical snapshots enable longitudinal velocity studies without building your own state management.

Cost and Performance

This actor uses Apify's pay-per-event pricing model. You only pay for what you scrape.

EventPriceDescription
product-scraped$0.003Charged per product listing extracted
ai-analysis-completed$0.05Charged per AI trend analysis report generated
breakout-narrative-generated$0.01Charged per successful AI breakout narrative (2-3 paragraph analyst brief attached to breakout_summary). Only fires on runs with a prior snapshot and at least one qualifying climber.
alert-dispatched$0.002Charged per successful webhook POST to the user-supplied alertWebhookUrl. Only fires when a breakout_summary is emitted AND the webhook responds 2xx.

Cost Examples

ScenarioProductsAI AnalysisNarratorWebhookTotal Cost
Quick daily check10NoNoNo$0.03
Daily top products with AI analysis30YesNoNo$0.14
Daily VC deal-flow (narrative + Slack)30YesYes (1)Yes (1)$0.152
Weekly leaderboard deep dive50YesYes (1)No$0.21
Full monthly leaderboard100YesYes (1)Yes (1)$0.362

Typical Runtime

  • 20 products without comments: ~1-2 minutes
  • 50 products without comments: ~2-4 minutes
  • 30 products with comments: ~5-8 minutes (each product page visited individually for comment extraction)
  • AI analysis adds ~15-30 seconds to any run; the AI breakout narrator adds ~10 seconds when triggered

Tips for Best Results

  • Start with "today" mode to test the actor and see current launches before running historical or scheduled queries.
  • Use weekly/monthly leaderboards for the highest-quality benchmark data — these products have been community-validated over time.
  • Topic mode for competitive research: drill into specific verticals to see who is launching what and how the market is evolving.
  • Schedule daily runs on Apify Schedules with a fixed mode + topic / searchQuery to build a rolling momentum dataset — the real power of Watch Mode comes from consistency.
  • Disable AI analysis if you only need raw product data — it reduces cost and runtime significantly.
  • Use OpenRouter for budget-friendly AI analysis; the default Gemini Flash model provides excellent trend reports at competitive per-token pricing.
  • Comment scraping is best used selectively: enable it when you need community sentiment and qualitative insight, not for bulk data collection — it visits each product page individually and substantially increases runtime.

How This Differs From Other Product Hunt Scrapers

There are several Product Hunt scrapers on the Apify Store; here is what makes this one different:

  • Only actor with cross-run Watch Mode: upvote velocity + rank-change momentum detection persists snapshots across runs and emits upvote_velocity, upvotes_per_hour, rank_change, and a momentum label on every product, plus a top-5 breakout_summary per run. Competing actors (automation-lab, cryptosignals, fatihtahta, michael.g, zippy_vector, danpoletaev) ship point-in-time snapshots only — users must stitch deltas manually.
  • Only actor with AI breakout narratives: a dedicated "PH trend analyst" LLM call attaches a 2-3 paragraph analyst brief to the breakout_summary. Billed $0.01 per narrative, only on runs with real climbers.
  • Only actor with webhook dispatch: set alertWebhookUrl and the full summary + narrative is POSTed to your Slack / Discord / Zapier / n8n endpoint — no polling, no CSV exports, no glue code. $0.002 per successful dispatch.
  • Only actor with a full 5-provider LLM layer: OpenRouter / Anthropic / Google / OpenAI / Ollama generating an investor-grade trend report.
  • Zero-setup RSS fallback: if you do not supply a Product Hunt API token, the actor falls back to the public Atom feed.
  • Full maker array with profile URLs: makers[] ships with every product (name + username + headline + PH profile URL), plus convenience top-level fields for direct founder-outreach workflows.

Quick Start

The simplest way to start — scrape today's top Product Hunt launches:

{
"mode": "today",
"maxProducts": 10
}

This returns the top 10 products launched today, sorted by upvotes. No API token required (uses RSS fallback), though a free token unlocks all modes, topics, and accurate upvote counts.

VC Deal-Flow Monitor (today + AI + Slack alert)

Run daily to get an AI-written market brief on the day's breakout launches, delivered to Slack:

{
"mode": "today",
"maxProducts": 30,
"enableWatchMode": true,
"enableAiAnalysis": true,
"llmProvider": "openrouter",
"openrouterApiKey": "sk-or-...",
"alertWebhookUrl": "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK"
}

Cost: ~$0.152/day (30 products + AI analysis + 1 narrative + 1 Slack POST)

Vertical Intelligence (topic mode — AI tools)

Track all new AI product launches in a specific category:

{
"mode": "topic",
"topic": "artificial-intelligence",
"maxProducts": 50,
"enableWatchMode": true
}

Cost: $0.15/run (50 products, no AI). Swap topic for developer-tools, design-tools, productivity, fintech, etc.

Competitive Research (search mode)

Find all Product Hunt launches related to a specific problem area:

{
"mode": "search",
"searchQuery": "project management",
"maxProducts": 25,
"includeComments": true,
"maxCommentsPerProduct": 5
}

Cost: ~$0.075/run (25 products + comments). Extract makers[] for founder outreach.

Weekly Leaderboard Digest

Capture the week's best-performing launches for a newsletter or report:

{
"mode": "weekly",
"maxProducts": 50,
"enableAiAnalysis": true,
"llmProvider": "openrouter",
"openrouterApiKey": "sk-or-..."
}

Cost: $0.20/week (50 products + AI trend analysis)

Frequently Asked Questions

What is the difference between today, weekly, and monthly modes? Today scrapes the current day's launches in real-time, giving you the freshest products. Weekly and monthly modes scrape the leaderboard pages, which contain community-validated top products that have already been filtered by upvotes over time. Weekly and monthly are best for identifying proven winners and benchmarking.

How does Watch Mode work? The actor opens a named key-value store (producthunt-velocity) and stores a snapshot per (mode, topic / search_query) combination — each snapshot records every product's upvotes, rank, name, slug, and the upvote-gain from its previous comparison window. On the next run with the same filter, the actor loads the prior snapshot, computes upvote_velocity and rank_change per product, classifies momentum, and writes a fresh snapshot back. First run for a filter has no prior snapshot — every product gets momentum: "new" and null deltas. Snapshots are slotted by filter, so a mode=today daily run and a mode=topic / topic=fintech weekly run don't cross-contaminate.

How does the AI breakout narrator work? When Watch Mode emits a breakout_summary AND enableAiAnalysis=true AND enableBreakoutNarrator=true (default), the actor sends the top-5 climbers to your chosen LLM with a dedicated "Product Hunt trend analyst" prompt. The model returns a 120-240 word plain-prose narrative that (a) names the single clearest breakout and why it matters, (b) identifies any cross-breakout pattern (shared category / wedge / tech stack / audience), and (c) ends with ONE concrete action a builder or investor should take this week. The narrative is attached to the summary item as breakout_narrative and charged at $0.01 per successful generation — separate from the $0.05 trend-analysis report; you can enable either, both, or neither.

How do breakout webhook alerts work? Set alertWebhookUrl to any HTTPS endpoint (Slack incoming webhook, Discord webhook, Zapier / n8n / Make hook, your own receiver). On each run where Watch Mode emits a breakout_summary, the actor POSTs a JSON envelope {event, schema_version, actor_id, run_id, summary} to the URL with Content-Type: application/json and X-Actor-Run-Id headers. Fire-and-forget with a 5-second timeout + 1 retry — a failed webhook never fails the scraper run. Billed $0.002 per 2xx response only.

Is comment scraping worth the extra runtime? Comment scraping provides valuable qualitative data — user sentiment, feature requests, objections, and community reactions. However, it requires visiting each product's individual page, which significantly increases runtime (30 products with comments takes 5-8 minutes vs. 1-2 minutes without). Enable it selectively when you need community insight, not for bulk data collection.

Input

ParameterTypeDefaultDescription
modeselecttodayScraping mode: today, weekly, monthly, topic, or search
searchQuerystringSearch query (required for search mode). Aliases: query, q, keyword, searchTerm
topicstringTopic slug (required for topic mode), e.g., artificial-intelligence. Alias: category
maxProductsinteger30Maximum products to scrape (1-100). Alias: maxItems
includeCommentsbooleanfalseScrape top comments from each product page (significantly increases runtime)
maxCommentsPerProductinteger5Maximum comments per product (1-20)
enableWatchModebooleantrueTrack cross-run upvote velocity + rank momentum. Emits upvote_velocity, upvotes_per_hour, rank_change, momentum, previous_upvotes, previous_rank, previous_scraped_at, hours_since_last_snapshot on every product, plus a breakout_summary dataset item. Free — no extra charge. Requires a PH API token + scheduled runs on the same filter to build history. Alias: watchMode
enableAiAnalysisbooleanfalseGenerate AI trend analysis report. Set to true to enable. Requires an API key for the selected LLM provider.
enableBreakoutNarratorbooleantrueWhen AI is enabled AND a breakout_summary is emitted, attach a 2-3 paragraph AI narrative (breakout_narrative field). Only charged on successful generation ($0.01 per narrative). Alias: breakoutNarrator
alertWebhookUrlstringOptional Slack / Discord / Zapier / n8n / Make URL. Each run that emits a breakout_summary POSTs it (with narrative) here, fire-and-forget with 1 retry. $0.002 per successful dispatch. Aliases: webhookUrl, slackWebhookUrl
llmProviderselectopenrouterLLM provider: openrouter, anthropic, google, openai, or ollama
llmModelstringOverride default model (optional). Defaults: google/gemini-2.0-flash-001 (OpenRouter), claude-sonnet-4-20250514 (Anthropic), gemini-2.0-flash (Google), gpt-4o-mini (OpenAI), llama3.1 (Ollama)
openrouterApiKeystringOpenRouter API key. Also reads OPENROUTER_API_KEY env var. Get one at openrouter.ai/keys
anthropicApiKeystringAnthropic API key. Also reads ANTHROPIC_API_KEY env var. Get one at console.anthropic.com
googleApiKeystringGoogle AI API key. Also reads GOOGLE_API_KEY env var. Get one at aistudio.google.com
openaiApiKeystringOpenAI API key. Also reads OPENAI_API_KEY env var. Get one at platform.openai.com
ollamaBaseUrlstringhttp://localhost:11434Ollama base URL for self-hosted models
proxyConfigurationobjectApify datacenterOptional proxy settings. Datacenter proxy is sufficient for the public GraphQL API.

Output

Each product is pushed as a separate dataset item:

{
"id": "1129094",
"slug": "codebuddy-ai",
"name": "CodeBuddy AI",
"tagline": "Your AI pair programmer that actually understands your codebase",
"description": "CodeBuddy AI indexes your whole repo and answers questions with full codebase context — file references, call graphs, and cross-file reasoning included.",
"url": "https://www.producthunt.com/posts/codebuddy-ai",
"website": "https://codebuddy.ai",
"upvotes": 456,
"comments_count": 23,
"topics": ["Artificial Intelligence", "Developer Tools"],
"topic_slugs": ["artificial-intelligence", "developer-tools"],
"maker": "Jane Smith",
"maker_username": "janesmith",
"maker_profile_url": "https://www.producthunt.com/@janesmith",
"makers": [
{
"name": "Jane Smith",
"username": "janesmith",
"headline": "Founder at CodeBuddy AI",
"profile_url": "https://www.producthunt.com/@janesmith"
}
],
"thumbnail_url": "https://ph-files.imgix.net/abc123.png",
"launch_date": "2026-04-10",
"rank": 1,
"upvote_velocity": 312,
"upvotes_per_hour": 13.0,
"rank_change": 7,
"momentum": "accelerating",
"previous_upvotes": 144,
"previous_rank": 8,
"previous_scraped_at": "2026-04-09T10:00:00Z",
"hours_since_last_snapshot": 24.0,
"comments": [
{
"id": "4231881",
"author": "TechEnthusiast",
"author_username": "techenthusiast",
"author_profile_url": "https://www.producthunt.com/@techenthusiast",
"body": "This is exactly what I needed for my workflow...",
"created_at": "2026-04-10T11:42:17Z"
}
],
"scraped_at": "2026-04-10T12:00:00Z"
}

Field Reference

FieldTypeDescription
idstringProduct Hunt post ID
slugstringURL slug (last path segment of url)
namestringProduct name
taglinestringOne-line pitch
descriptionstringLonger description from Product Hunt
urlstringCanonical Product Hunt post URL
websitestringExternal product website
upvotesint | nullUpvote count (null when Atom-feed fallback is used)
comments_countint | nullComment count (null when Atom-feed fallback is used)
topicsstring[]Topic display names
topic_slugsstring[]Topic slugs — feed directly into topic mode for chaining
makerstringPrimary maker display name
maker_usernamestringPrimary maker Product Hunt username
maker_profile_urlstringPrimary maker Product Hunt profile URL
makers[]object[]All makers: name, username, headline, profile_url
thumbnail_urlstringProduct thumbnail image URL
launch_datestringISO date (YYYY-MM-DD)
rankint1-based rank in the result set
comments[]object[]When includeComments=true: id, author, author_username, author_profile_url, body, created_at
scraped_atstringISO-8601 extraction timestamp
upvote_velocityint | nullWatch Mode: upvotes gained since last snapshot (null on first run)
upvotes_per_hourfloat | nullWatch Mode: upvote_velocity divided by hours elapsed since last snapshot
rank_changeint | nullWatch Mode: previous_rank - current_rank. Positive = climbed, negative = fell
momentumstringWatch Mode: new, accelerating, steady, fading, unknown, or null if Watch Mode is disabled
previous_upvotesint | nullWatch Mode: upvote count from the last snapshot
previous_rankint | nullWatch Mode: rank from the last snapshot
previous_scraped_atstring | nullWatch Mode: ISO-8601 timestamp of the last snapshot
hours_since_last_snapshotfloat | nullWatch Mode: hours elapsed between snapshots

Watch Mode Breakout Summary

When Watch Mode is enabled and the actor has at least one prior snapshot for the same (mode, topic, search) filter, an additional breakout_summary item is pushed once per run:

{
"type": "breakout_summary",
"mode": "today",
"topic": null,
"search_query": null,
"snapshot_at": "2026-04-24T10:00:00+00:00",
"previous_snapshot_at": "2026-04-23T10:00:00+00:00",
"breakout_count": 5,
"top_breakouts": [
{
"name": "CodeBuddy AI",
"slug": "codebuddy-ai",
"url": "https://www.producthunt.com/posts/codebuddy-ai",
"rank": 1,
"previous_rank": 8,
"rank_change": 7,
"upvotes": 456,
"upvote_velocity": 312,
"upvotes_per_hour": 13.0,
"momentum": "accelerating",
"topics": ["Artificial Intelligence", "Developer Tools"],
"tagline": "Your AI pair programmer that actually understands your codebase"
}
],
"breakout_narrative": "CodeBuddy AI is the clearest breakout of the day, climbing from rank 8 to rank 1 overnight with 312 new upvotes (13/hour) on the back of a codebase-aware positioning that directly challenges Cursor and Codeium on context fidelity. The top-5 is heavily weighted toward AI-native developer tools, suggesting the market is still rewarding vertical AI wedges over horizontal chat assistants. Builders in adjacent categories should tighten their positioning around a single 'we index your X' differentiator before launching this quarter; VCs watching dev-tool deal flow should reach out to CodeBuddy's makers within 48 hours — this velocity profile rarely holds a week without either a Series A or an acquisition conversation.",
"breakout_narrative_provider": "openrouter"
}

When alertWebhookUrl is set, the same JSON (wrapped in an envelope with event, schema_version, actor_id, and run_id fields) is POSTed to the URL. Failed webhooks never fail the run.

Sample Breakout Briefing (AI Output)

This is what a typical weekly breakout briefing looks like for a high-momentum slate of Product Hunt launches — the headline AI artifact this actor produces for VC analysts, founders, and growth teams:

{
"report_type": "weekly_breakout_briefing",
"generated_at": "2026-04-25T07:00:00Z",
"scope": "Top 50 launches, week of April 19-25",
"breakout_signals": [
{
"product_name": "ExampleAI",
"tagline": "AI agents that book your meetings",
"upvotes": 1240,
"rank": 2,
"momentum": "accelerating",
"rank_change": 3,
"hours_since_launch": 18,
"maker_signal": "second-time founder, ex-FAANG",
"vc_takeaway": "Strong day-1 trajectory + experienced founder + agentic-AI tailwind. Worth a 10-min discovery call.",
"competitor_context": ["zapier", "calendly", "x.ai"]
}
],
"themes_this_week": ["agentic AI", "developer-first SaaS", "vertical AI tools"],
"recommended_actions": [
"Reach out to ExampleAI maker within 48h before next funding round",
"Audit portfolio for agentic-AI defensibility",
"Track 'developer-first SaaS' theme — 8/50 launches this week"
]
}

Run with enableAiAnalysis: true and breakoutMode: true to generate this briefing on a weekly schedule.

When alertWebhookUrl is set, a Slack-friendly payload is POSTed to your endpoint as soon as the briefing is generated:

{
"event": "breakout_summary",
"actor_id": "harvestlab/producthunt-scraper",
"run_id": "abc123XYZ",
"text": ":rocket: 3 breakouts this week — ExampleAI (rank 2, +312 upvotes/18h)",
"summary_url": "https://api.apify.com/v2/datasets/.../items"
}

Schedule this actor on a daily cron (Apify Console → Schedules) with a fixed mode + topic / searchQuery to build a rolling momentum dataset. Recommended patterns:

  • VC deal-flow: schedule mode=today daily and filter dataset items where momentum == "accelerating" and upvote_velocity >= 100 to surface breakout launches before mainstream coverage.
  • Competitive intel: schedule mode=topic on your vertical (e.g., fintech, developer-tools) and alert on rank_change >= 5.
  • Launch benchmarking: schedule mode=monthly weekly and track upvotes_per_hour on your product vs. competitors.

AI Trend Analysis Output

When enableAiAnalysis=true, an additional dataset item contains a comprehensive trend report:

{
"type": "trend_analysis",
"products_analyzed": 20,
"mode": "today",
"trending_categories": ["AI Coding Tools", "Developer Productivity", "Design Automation"],
"market_themes": [
"AI-powered developer tools dominate today's launches, with 8 of the top 15 products targeting software engineering workflows directly.",
"Vertical SaaS products targeting niche professional workflows continue to outperform horizontal tools in upvote-to-comment ratios."
],
"top_picks": [
"CodeBuddy AI — strong differentiation through codebase-aware context; addresses the 'hallucination on large repos' objection directly."
],
"innovation_assessment": "Today's launches show a strong trend toward specialization within AI tooling rather than general-purpose assistant expansion.",
"technology_patterns": ["LLM-powered features", "API-first architecture", "RAG over private data"],
"target_audiences": ["Software developers", "Product designers", "Solo founders"],
"opportunity_signals": [
"Developer tools with AI integration continue to attract high engagement — the niche is not saturated yet at the vertical-specific layer."
],
"competitive_landscape": "The developer tools space is increasingly crowded at the horizontal layer but remains open for vertical-specific AI wedges.",
"recommendations": [
"Focus on vertical-specific AI applications rather than general-purpose tools — specificity drives higher conversion from PH upvotes to trials."
],
"generated_at": "2026-04-24T12:05:00Z"
}

Troubleshooting

No products returned / empty dataset The most common cause is a missing or expired Product Hunt API token. Go to producthunt.com/v2/oauth/applications, create a new application, copy the Developer Token, and paste it into the productHuntApiToken input field. The actor will fall back to the Atom RSS feed when no token is provided, but the feed is limited to recent featured products only and does not support most modes.

GraphQL API returns 401 Unauthorized Your Product Hunt API token is invalid or has been revoked. Log in to Product Hunt, navigate to producthunt.com/v2/oauth/applications, and generate a new Developer Token. Tokens do not expire automatically but may be revoked if the associated application is deleted.

Watch Mode shows all products as momentum: "new" every run Watch Mode builds history from a named key-value store (producthunt-velocity). The first run for any (mode, topic, searchQuery) combination has no prior snapshot, so every product gets momentum: "new" and null velocity fields. Run the actor a second time with the same settings and you will see real deltas. Ensure you are using the same Apify key-value store between runs (default store is tied to the actor, not the run).

AI analysis returns no results / skipped Check that enableAiAnalysis is set to true and that you have supplied a valid API key for the selected llmProvider. The error message in the actor log names both the environment variable (OPENROUTER_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, OPENAI_API_KEY) and the input field (openrouterApiKey, etc.) — set either one. If using Ollama, confirm the Ollama server is reachable at the URL in ollamaBaseUrl (default http://localhost:11434).

Topic mode returns wrong products Topic slugs must match Product Hunt's internal naming convention — lowercase, hyphen-separated, no spaces. Examples: artificial-intelligence, developer-tools, design-tools, productivity, fintech, web3, saas. Browse a topic page on Product Hunt (e.g. producthunt.com/topics/artificial-intelligence) and copy the slug from the URL.

Run completes but upvote counts are 0 Upvote counts require the GraphQL API and a valid productHuntApiToken. When the actor falls back to the public Atom RSS feed (no token supplied), upvotes and comments_count fields are set to 0 because the feed does not include vote data. Provide a free API token to get accurate counts for all modes.

Webhook alerts not received Confirm alertWebhookUrl is a valid HTTPS URL (HTTP is not accepted). The webhook is only fired when Watch Mode has a prior snapshot AND the current run emits a breakout_summary — it will not fire on the first run for a filter. Check your Slack/Zapier/n8n endpoint logs for the incoming POST. A 5-second timeout and 1 retry apply; a failed webhook never fails the scraper run but is logged as a warning.

This actor scrapes publicly available data from Product Hunt. By using this actor, you acknowledge and agree to the following:

  • Terms of Service: Product Hunt's Terms of Service may restrict automated data collection. You are solely responsible for reviewing and complying with Product Hunt's current Terms of Service before using this actor. The developer does not guarantee that use of this actor is permitted under Product Hunt's Terms of Service.
  • Your responsibility: You are solely responsible for ensuring your use complies with all applicable laws, regulations, and the target website's terms of service. This includes GDPR (EU), CCPA (California), and other applicable data protection laws in your jurisdiction.
  • No legal advice: This actor does not constitute legal advice. Consult a qualified attorney if you have questions about the legality of your specific use case.
  • Intended use: This actor is designed for legitimate business purposes such as market research, competitive analysis, and academic research using publicly accessible data.
  • Data handling: You are responsible for how you store, process, and share any data collected. Ensure you have a lawful basis for processing any personal data under applicable privacy laws. Extracted data may include maker names, profile URLs, and other personal information — handle in accordance with GDPR and applicable privacy law.
  • Rate limiting: This actor implements polite crawling practices including request delays and retry backoff to minimize impact on target servers.
  • No warranty: This actor is provided "as is" without warranty. Data accuracy depends on the target website's content and API structure, which may change without notice.
  • Maker privacy: Product Hunt data including maker information and product details is publicly visible on the platform. Do not use scraped data for unsolicited outreach, spam, or any purpose that violates the privacy expectations of product creators.
  • Limitations: Comment scraping significantly increases runtime; Product Hunt's API may rate-limit large scraping jobs (the actor implements retry logic with backoff); maximum 100 products per run; topic slugs must match Product Hunt's internal naming convention (lowercase, hyphenated format). AI analysis quality depends on the number of products scraped — fewer than 10 products may produce less meaningful insights.
  • News Monitor — Track press coverage of breakout PH launches the moment Watch Mode flags them. Pair breakout_summary items with News Monitor's brand-keyword tracking to see which climbers are actually getting picked up by tech press vs. driving organic upvotes only.
  • Reddit Scraper — Surface community reaction to Product Hunt launches. Pull the launch slug or product name through r/SideProject, r/InternetIsBeautiful, and category subreddits to validate whether PH upvote velocity translates to genuine end-user enthusiasm or is mostly maker-network amplification.
  • Contact Extractor — Enrich makers[] and product website data for outreach. After spotting a breakout launch, run Contact Extractor on the maker's product URL to harvest emails, phones, and tech-stack signals — useful for VC deal flow, partnership pitches, and integration outreach the same day a product trends.