ProductHunt API endpoint

Retrieve Product Hunt product detailed reviews

Returns detailed review items for a Product Hunt product.

GETapiKey3 credits/requestproducthunt.reviewsResponseDoc/producthunt/product/{id}/reviews

Parameters

NameInTypeRequiredEnumExampleDescription
idpathstringYes"clico"Product Hunt slug
x-api-keyheaderstringYesAPI key required

Authentication

Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.

Billing

Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.

Credit cost
3 credits/request
Charged response
Successful 2xx responses
PlanPriceIncluded creditsDaily capRate limitOverage
Free$0/mo2,000500 daily credits5/minNo overage
Starter$9/mo20,0005,000 daily credits15/min$0.75/1,000 overage credits when enabled
Growth$29/mo100,00025,000 daily credits45/min$0.45/1,000 overage credits when enabled
Pro$79/mo400,000No daily cap120/min$0.30/1,000 overage credits
Business$199/mo1,200,000No daily cap300/min$0.20/1,000 overage credits
Enterprise$499/mo5,000,000No daily cap1,000/min$0.12/1,000 overage credits

Failure responses

StatusDescriptionSchema
400Missing or invalid parameters#/definitions/app.Response
404Product not found#/definitions/app.Response
429Rate limit exceeded#/definitions/app.Response
500Internal server error#/definitions/app.Response

Example response

{
  "code": 200,
  "msg": "OK",
  "data": {
    "product_id": "1191613",
    "slug": "clico",
    "connection": "authoredDetailedReviews",
    "total_count": 6,
    "end_cursor": "Ng",
    "has_next_page": false
  }
}

Request schema

No body schema

Response schema

#/definitions/producthunt.reviewsResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNo200
dataproducthunt.ProductDetailedReviewsPageNo
data.connectionstringNodetailedReviews
data.detailed_reviewobjectNo
data.detailed_reviews_countintegerNo
data.end_cursorstringNo
data.founder_detailed_reviews_countintegerNo
data.has_next_pagebooleanNofalse
data.is_makerbooleanNo
data.is_trashedbooleanNo
data.itemsarrayNo
data.items[].alternative_productsarrayNo
data.items[].alternative_products[].idstringNo
data.items[].alternative_products[].is_no_longer_onlinebooleanNo
data.items[].alternative_products[].logo_uuidstringNo
data.items[].alternative_products[].namestringNo
data.items[].alternative_products[].slugstringNo
data.items[].alternatives_feedbackstringNo
data.items[].can_destroybooleanNo
data.items[].can_moderatebooleanNo
data.items[].can_replybooleanNo
data.items[].can_updatebooleanNo
data.items[].comments_countintegerNo
data.items[].created_atstringNo
data.items[].customization_ratingintegerNo
data.items[].ease_of_use_ratingintegerNo
data.items[].follow_productproducthunt.ProductDetailedReviewFollowProductNo
data.items[].follow_product.idstringNo
data.items[].follow_product.is_no_longer_onlinebooleanNo
data.items[].follow_product.is_subscribedbooleanNo
data.items[].follow_product.logo_uuidstringNo
data.items[].follow_product.namestringNo
data.items[].follow_product.slugstringNo
data.items[].from_postproducthunt.ProductDetailedReviewPostNo
data.items[].from_post.badgesarrayNo
data.items[].from_post.badges[].categorystringNo
data.items[].from_post.badges[].datestringNo
data.items[].from_post.badges[].idstringNo
data.items[].from_post.badges[].periodstringNo
data.items[].from_post.badges[].positionintegerNo
data.items[].from_post.badges[].post_idstringNo
data.items[].from_post.badges[].post_namestringNo
data.items[].from_post.badges[].post_slugstringNo
data.items[].from_post.badges[].yearstringNo
data.items[].from_post.idstringNo
data.items[].from_post.is_top_launchbooleanNo
data.items[].from_post.latest_scoreintegerNo
data.items[].from_post.namestringNo
data.items[].from_post.product_idstringNo
data.items[].from_post.product_is_top_productbooleanNo
data.items[].from_post.product_slugstringNo
data.items[].from_post.product_statestringNo
data.items[].from_post.slugstringNo
data.items[].from_post.thumbnail_image_uuidstringNo
data.items[].has_votedbooleanNo
data.items[].idstringNo
data.items[].impression_countintegerNo
data.items[].is_hiddenbooleanNo
data.items[].llm_content_quality_gradestringNo
data.items[].llm_content_quality_reasonstringNo
data.items[].negative_feedbackstringNo
data.items[].overall_experiencestringNo
data.items[].overall_ratingintegerNo
data.items[].positive_feedbackstringNo
data.items[].productproducthunt.ProductDetailedReviewProductNo
data.items[].product.idstringNo
data.items[].product.is_no_longer_onlinebooleanNo
data.items[].product.logo_uuidstringNo
data.items[].product.namestringNo
data.items[].product.slugstringNo
data.items[].question_answersarrayNo
data.items[].question_answers[].answerstringNo
data.items[].question_answers[].idstringNo
data.items[].question_answers[].questionstringNo
data.items[].question_answers[].question_idstringNo
data.items[].reliability_ratingintegerNo
data.items[].review_typestringNo
data.items[].selected_consarrayNo
data.items[].selected_cons[].countintegerNo
data.items[].selected_cons[].idstringNo
data.items[].selected_cons[].namestringNo
data.items[].selected_cons[].typestringNo
data.items[].selected_prosarrayNo
data.items[].selected_pros[].countintegerNo
data.items[].selected_pros[].idstringNo
data.items[].selected_pros[].namestringNo
data.items[].selected_pros[].typestringNo
data.items[].statusstringNo
data.items[].threads_end_cursorstringNo
data.items[].threads_has_next_pagebooleanNo
data.items[].threads_total_countintegerNo
data.items[].userproducthunt.ProductDetailedReviewUserNo
data.items[].user.avatar_urlstringNo
data.items[].user.headlinestringNo
data.items[].user.idstringNo
data.items[].user.is_account_verifiedbooleanNo
data.items[].user.is_ambassadorbooleanNo
data.items[].user.is_followedbooleanNo
data.items[].user.namestringNo
data.items[].user.reviews_countintegerNo
data.items[].user.selected_byline_productproducthunt.ProductDetailedReviewProductNo
data.items[].user.selected_byline_product.idstringNo
data.items[].user.selected_byline_product.is_no_longer_onlinebooleanNo
data.items[].user.selected_byline_product.logo_uuidstringNo
data.items[].user.selected_byline_product.namestringNo
data.items[].user.selected_byline_product.slugstringNo
data.items[].user.top_hunter_badgeobjectNo
data.items[].user.top_launch_badgeobjectNo
data.items[].user.top_product_badgeobjectNo
data.items[].user.usernamestringNo
data.items[].value_for_money_ratingintegerNo
data.items[].votes_countintegerNo
data.namestringNo
data.other_detailed_reviews_countintegerNo
data.product_idstringNo1191613
data.raw_page_infoobjectNo
data.reviews_countintegerNo
data.reviews_ratingnumberNo
data.reviews_recent_ratingnumberNo
data.slugstringNoclico
data.total_countintegerNo6
msgstringNoOK

Example request

curl -X GET "https://api.crawlora.net/api/v1/producthunt/product/%22clico%22/reviews" -H "x-api-key: <api-key>"

TypeScript fetch

const url = new URL("https://api.crawlora.net/api/v1/producthunt/product/%22clico%22/reviews");
const headers = new Headers();
headers.set("x-api-key", "<api-key>");
const response = await fetch(url, {
  method: "GET",
  headers,
});
const payload = await response.json();