Getting Started
Pull a day's leaderboard, follow a launch into its comment threads, then set the same call running on a schedule.
1. Get your API key
Create an account and generate a FetchLayer API key from your dashboard. There is no Product Hunt developer account, OAuth flow, or API token involved.
Create free account →2. Pull a leaderboard
curl -X POST https://api.fetchlayer.dev/producthunt/leaderboard \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"period":"daily","date":"2026-09-01","limit":20}'Counts will not match the website exactly
entries, and the number dropped is reported in notes — so twenty ranked launches on the site can come back as seventeen here, with a note saying why. 3. Follow a launch into its comments
Every leaderboard entry carries a launch.slug and a productSlug. Pass either to /product-comments to read launch-day feedback, or to /product-detail for the full record.
curl -X POST https://api.fetchlayer.dev/producthunt/product-comments \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"product":"granola","sortBy":"SCORE","limit":100}'Tip
comments carries its own replies array, which carries theirs. Walk the tree recursively — a flat loop over comments sees only the top-level posts. 4. Read the notes
Every JSON response carries a notes array. It is where the backend reports a reply walk that stopped early, an upstream ceiling it hit, or promoted entries it dropped — rather than failing the request. An empty array means nothing was held back.
{
"notes": [
"Dropped 3 promoted entries from the feed."
],
"entryCount": 17,
"hasNextPage": true
}