Product Hunt API: Get product
Gets a Product Hunt product profile by product name or Product Hunt link: tagline, description, website, topics, review rating, followers, the five most recent reviews, recent launches with day rank and upvotes, and alternatives.
Unofficial. Not affiliated with or endorsed by Product Hunt.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Product, required
product Product name or Product Hunt product link, for example Linear or https://www.producthunt.com/products/linear.
https://www.producthunt.com/products/asana
Input as JSON
{ "product": "https://www.producthunt.com/products/asana" }Output
{ "name": "Asana", "topics": [ "Project management software", "Team collaboration software", "Issue tracking software" ], "tagline": "Track, manage, and connect your projects across any team", "launches": [ { "date": "2021-01-22", "upvotes": 15, "day_rank": null, "launch_name": "Asana Project Overview & Brief", "product_hunt_link": "https://www.producthunt.com/products/asana/launches/asana-project-overview-brief" }, { "date": "2020-11-23", "upvotes": 1, "day_rank": null, "launch_name": "Asana Boards", "product_hunt_link": "https://www.producthunt.com/products/asana/launches/asana-boards-2" }, { "date": "2019-10-17", "upvotes": 122, "day_rank": 10, "launch_name": "Asana Automation", "product_hunt_link": "https://www.producthunt.com/products/asana/launches/asana-automation" } ], "followers": 1378, "description": "Stay on track, keep projects organized, and hit deadlines. See project progress, track individual tasks, plan sprints, integrate with other tools, and achieve successful launches.", "alternatives": [ { "link": "https://www.producthunt.com/products/trello" , "name": "Trello" }, { "link": "https://www.producthunt.com/products/jira" , "name": "Jira" }, { "link": "https://www.producthunt.com/products/shortcut" , "name": "Shortcut" } ], "website_link": "https://asana.com" , "review_rating": 4.63, "recent_reviews": [ { "date": "2026-09-13", "text": "We chose Asana because many teams use it to coordinate projects and ownership. Its integration lets Slashy connect email decisions and follow-ups to the work already being tracked.", "stars": 5, "reviewer_name": "Harsha Gaddipati", "product_hunt_link": "https://www.producthunt.com/products/asana/reviews?review=624695" }, { "date": "2026-06-17", "text": "We rely on Asana to keep every part of our launch organized, from roadmap to tiny polish tasks", "stars": 5, "reviewer_name": "Joseph Calvo", "product_hunt_link": "https://www.producthunt.com/products/asana/reviews?review=551173" }, { "date": "2026-06-15", "text": "As a team we have been tracking our all the work items there. Its free of cost, easy to track our work items and amazing tool.", "stars": 5, "reviewer_name": "Siddhant Gupta", "product_hunt_link": "https://www.producthunt.com/products/asana/reviews?review=549095" } ], "number_of_reviews": 85, "product_hunt_link": "https://www.producthunt.com/products/asana" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"producthunt.com/get_product","input":{"product":"https://www.producthunt.com/products/asana"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "producthunt.com/get_product" , "input": { "product": "https://www.producthunt.com/products/asana" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "producthunt.com/get_product" , "input": { "product": "https://www.producthunt.com/products/asana" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run producthunt.com/get_product# with {"product":"https://www.producthunt.com/products/asana"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "product" ], "properties": { "product": { "type": "string", "description": "Product name or Product Hunt product link, for example Linear or https://www.producthunt.com/products/linear." } }}Output schema
{ "type": "object", "required": [ "name", "tagline", "description", "website_link", "topics", "review_rating", "number_of_reviews", "followers", "recent_reviews", "launches", "alternatives", "product_hunt_link" ], "properties": { "name": { "type": "string" }, "topics": { "type": "array", "items": { "type": "string" } }, "tagline": { "type": [ "string", "null" ] }, "launches": { "type": "array", "items": { "type": "object", "required": [ "launch_name", "date", "day_rank", "upvotes", "product_hunt_link" ], "properties": { "date": { "type": "string", "format": "date" }, "upvotes": { "type": "integer" }, "day_rank": { "type": [ "integer", "null" ] }, "launch_name": { "type": "string" }, "product_hunt_link": { "type": "string", "description": "Product Hunt page link." } }, "additionalProperties": false } }, "followers": { "type": "integer" }, "description": { "type": [ "string", "null" ] }, "alternatives": { "type": "array", "items": { "type": "object", "required": [ "name", "link" ], "properties": { "link": { "type": "string", "description": "Product Hunt page link." }, "name": { "type": "string" } }, "additionalProperties": false } }, "website_link": { "type": [ "string", "null" ] }, "review_rating": { "type": [ "number", "null" ] }, "recent_reviews": { "type": "array", "items": { "type": "object", "required": [ "reviewer_name", "stars", "text", "date", "product_hunt_link" ], "properties": { "date": { "type": "string", "format": "date" }, "text": { "type": [ "string", "null" ] }, "stars": { "type": "integer" }, "reviewer_name": { "type": "string" }, "product_hunt_link": { "type": "string", "description": "Product Hunt page link." } }, "additionalProperties": false } }, "number_of_reviews": { "type": "integer" }, "product_hunt_link": { "type": "string", "description": "Product Hunt page link." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
producthunt.com/get_product- Returns
- name, tagline, description, website link, topics, review rating, number of reviews, followers, recent reviews, launches, alternatives, Product Hunt link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method producthunt.com/get_product with the inputs above.
Ask your agent
- What's the tagline and review rating for Notion on Product Hunt, and what alternatives do people list?
- Pull up the profile at https://www.producthunt.com/products/raycast — I want the follower count and its latest launches with upvotes.
- How did Cursor rank on launch day and how many upvotes did it get? Also show me the most recent reviews.
- Give me a rundown of Arc Browser: description, website, topics, and what users have said in recent reviews.
- Find similar tools to Loom and tell me its rating, number of reviews, and how many followers it has on producthunt.com.
See more
All Product Hunt methodsFinds Product Hunt products by name or by what they do, in Product Hunt search order, with tagline, review rating, review count, followers and topics. Ratings are null for products without reviews.
producthunt.com/search_productsLists featured launches in Product Hunt's daily leaderboard order for a given US Pacific day, with each product's website when its public page shows one.
producthunt.com/list_launchesGets a B&H Photo product's details by name, product link, or B&H number. A name uses the best matching search result; details and prices reflect the public page.
bhphotovideo.com/get_productGet one AliExpress product’s prices, variants, reviews, shipping to a chosen country, seller and specifications from its link or the best-selling name match. Sold counts may be rounded, and shipping options are those shown for the displayed variant.
aliexpress.com/get_productLooks up a packaged food by barcode or by product name and brand, returning ingredients, allergens, Nutri-Score, NOVA processing level and nutrition from Open Food Facts.
openfoodfacts.org/get_productFinds a Flipkart product from its name or link and returns its price, offers, seller, ratings, highlights, specifications, images and delivery estimate (for a PIN code when given).
flipkart.com/get_product_by_productGets a public Shopify product by its product page link, or by the closest name match within a store. Stores that restrict public product access cannot be read.
shop.app/get_store_productGets details, price and availability for a Walmart product by name or product link, using Walmart's default location.
walmart.com/get_product