ProductHunt API endpoint
Returns the about-page data for a Product Hunt product, looked up by its slug in `id`. It covers the product's launch details with badges, ranks, comment count and detailed reviews with alternative products, along with the product's ad, forum and media information.
/producthunt/product/{id}/aboutPath parameters:
id: required. Product Hunt slug. Example: "producthunt".| Field | Filled in, of 54 checked | Values in the sample |
|---|---|---|
| id | 32 | |
| position | 54 | 0 to 5, median 1 |
| period | 32 | daily (27), weekly (4), monthly (1) |
| date | 32 | 2021-08-11 to 2026-09-27 |
| post_id | 32 | |
| post_slug | 32 | |
| post_name | 32 | “Codex by OpenAI” and 24 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Product Hunt slug | "producthunt" | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/producthunt/product/%22producthunt%22/about" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"product_id": "112572",
"page_variant_typename": "ProductPageVariantHighlightedLaunch",
"product": {
"id": "112572",
"slug": "producthunt",
"name": "Product Hunt",
"tagline": "The place to discover your next favorite thing",
"latest_launch": {
"id": "1101061",
"slug": "kitty-points-leaderboard",
"launch_number": 120
},
"followers_count": 142009
},
"launch": {
"id": "1101061",
"name": "Kitty Points Leaderboard",
"daily_rank": 3,
"weekly_rank": 9,
"comments_count": 52
},
"viewer": {
"is_featured_post_maker": false
},
"ad": {
"id": "33851",
"name": "Littlebird",
"tagline": "The only full-context AI"
}
}
}Request schema
No body schema
Response schema
#/definitions/producthunt.aboutResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | producthunt.ProductAboutPage | No | ||||
| data.ad | object | No | Ad shown on the page. | |||
| data.ad.channel_kind | string | No | Placement type of the ad, for example `feed`. | |||
| data.ad.id | string | No | Product Hunt ID of the ad. | |||
| data.ad.large_asset_uuid | string | No | Identifier of the large ad image on Product Hunt's image host. | |||
| data.ad.name | string | No | Name shown on the ad. | |||
| data.ad.small_asset_uuid | string | No | Identifier of the small ad image on Product Hunt's image host. | |||
| data.ad.subject | string | No | Kind of ad entry as Product Hunt labels it. | |||
| data.ad.tagline | string | No | Short tagline shown on the ad. | |||
| data.ad.thumbnail_uuid | string | No | Identifier of the ad thumbnail image on Product Hunt's image host. | |||
| data.ad.url | string | No | Link the ad points to. | |||
| data.ad.variation_id | string | No | Identifier of the ad variation shown. | |||
| data.launch | object | No | Launch the page highlights, when the layout variant has one. | |||
| data.launch.ad1 | object | No | First ad slot shown next to the launch. | |||
| data.launch.ad1.id | string | No | Product Hunt ID of the ad entry. | |||
| data.launch.ad1.subject | string | No | Kind of entry as Product Hunt labels it, for example `Ghost`. | |||
| data.launch.ad2 | object | No | Second ad entry attached to the launch. | |||
| data.launch.ad2.id | string | No | Product Hunt ID of the ad entry. | |||
| data.launch.ad2.subject | string | No | Kind of entry as Product Hunt labels it, for example `Ghost`. | |||
| data.launch.badges | array | No | Badges the launch has earned, such as leaderboard awards. | |||
| data.launch.badges[].category | string | No | Award category of the badge, for example `Product of the Year`. Omitted for daily and weekly badges. | |||
| data.launch.badges[].date | string | No | Date the badge refers to. | |||
| data.launch.badges[].id | string | No | Product Hunt id of the badge. | |||
| data.launch.badges[].period | string | No | Period the badge covers, for example `daily` or `weekly`. | |||
| data.launch.badges[].position | integer | No | Rank the product placed at for this badge. | |||
| data.launch.badges[].post_id | string | No | Product Hunt id of the launch post the badge was earned on. | |||
| data.launch.badges[].post_name | string | No | Name of the launch post the badge was earned on. | |||
| data.launch.badges[].post_slug | string | No | URL slug of the launch post the badge was earned on. | |||
| data.launch.badges[].year | string | No | Year of the award the badge belongs to. | |||
| data.launch.can_deputy_manage | boolean | No | Whether the viewer can manage the launch as a deputy. | |||
| data.launch.can_manage | boolean | No | Whether the viewer can manage the launch. | |||
| data.launch.comments_count | integer | No | Number of comments on the launch. | |||
| data.launch.created_at | string | No | ISO 8601 timestamp of when the launch was created. | |||
| data.launch.daily_rank | integer | No | Rank on the daily leaderboard. `0` when Product Hunt gives no rank. | |||
| data.launch.description | string | No | Description of the launch written by the maker. | |||
| data.launch.detailed_reviews | array | No | Detailed reviews and shoutouts for the launch. | |||
| data.launch.detailed_reviews[].alternative_products | array | No | Products the reviewer names as alternatives. | |||
| data.launch.detailed_reviews[].alternative_products[].id | string | No | Product Hunt ID of the product. | |||
| data.launch.detailed_reviews[].alternative_products[].is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.launch.detailed_reviews[].alternative_products[].logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.launch.detailed_reviews[].alternative_products[].name | string | No | Name of the product. | |||
| data.launch.detailed_reviews[].alternative_products[].path | string | No | Product Hunt path of the product page. | |||
| data.launch.detailed_reviews[].alternative_products[].slug | string | No | URL slug of the product. Use it with the product endpoint. | |||
| data.launch.detailed_reviews[].alternative_products[].tagline | string | No | Short tagline of the product. | |||
| data.launch.detailed_reviews[].id | string | No | Product Hunt ID of the shoutout. | |||
| data.launch.detailed_reviews[].product | object | No | Product the shoutout is about. | |||
| data.launch.detailed_reviews[].product.id | string | No | Product Hunt ID of the product. | |||
| data.launch.detailed_reviews[].product.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.launch.detailed_reviews[].product.logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.launch.detailed_reviews[].product.name | string | No | Name of the product. | |||
| data.launch.detailed_reviews[].product.path | string | No | Product Hunt path of the product page. | |||
| data.launch.detailed_reviews[].product.slug | string | No | URL slug of the product. Use it with the product endpoint. | |||
| data.launch.detailed_reviews[].product.tagline | string | No | Short tagline of the product. | |||
| data.launch.detailed_reviews[].shoutout_note | string | No | Text of the shoutout written by the reviewer. | |||
| data.launch.disabled_when_scheduled | boolean | No | Whether upvoting is disabled while the launch is scheduled. | |||
| data.launch.embargo_preview_at | string | No | ISO 8601 timestamp of the embargo preview, when the launch has one. | |||
| data.launch.featured | boolean | No | Whether Product Hunt featured the launch. | |||
| data.launch.featured_at | string | No | ISO 8601 timestamp of when Product Hunt featured the launch. | |||
| data.launch.has_voted | boolean | No | Whether the viewer has upvoted this launch. | |||
| data.launch.hide_votes_count | boolean | No | Whether the maker hides the vote count for this launch. | |||
| data.launch.id | string | No | Product Hunt ID of the launch. | |||
| data.launch.is_archived | boolean | No | Whether the launch is archived. | |||
| data.launch.is_available | boolean | No | Whether Product Hunt marks the launch as available. | |||
| data.launch.is_hunter | boolean | No | Whether the viewer is the hunter who posted this launch. | |||
| data.launch.is_maker | boolean | No | Whether the viewer is a maker of this launch. | |||
| data.launch.is_top_launch | boolean | No | Whether Product Hunt marks this as a top launch. | |||
| data.launch.latest_score | integer | No | Current upvote score of the launch. | |||
| data.launch.launch_day_score | integer | No | Upvote score the launch had on its launch day. | |||
| data.launch.launch_number | integer | No | Sequence number of this launch among the product's launches. | |||
| data.launch.launch_state | string | No | Launch state as Product Hunt labels it, for example `featured`. | |||
| data.launch.launched_this_week | boolean | No | Whether the launch happened this week. | |||
| data.launch.launching_today | boolean | No | Whether the product is launching today. | |||
| data.launch.links | array | No | Download or visit links listed on the launch, one per store or website. | |||
| data.launch.links[].devices | array | No | Devices the linked app supports. | |||
| data.launch.links[].id | string | No | Product Hunt ID of the link. | |||
| data.launch.links[].redirect_path | string | No | Product Hunt redirect path that leads to the link target. | |||
| data.launch.links[].store_name | string | No | Name of the app store the link points to, when it points to one. | |||
| data.launch.links[].website_name | string | No | Name of the website the link points to. | |||
| data.launch.makers | array | No | Makers credited on the launch. | |||
| data.launch.makers[].avatar_url | string | No | Link to the member's profile picture. | |||
| data.launch.makers[].headline | string | No | Member's profile headline. | |||
| data.launch.makers[].id | string | No | Product Hunt ID of the member. | |||
| data.launch.makers[].name | string | No | Member's display name. | |||
| data.launch.makers[].username | string | No | Member's Product Hunt username. | |||
| data.launch.media | array | No | Images and videos attached to the launch. | |||
| data.launch.media[].id | string | No | Product Hunt ID of the media item. | |||
| data.launch.media[].image_uuid | string | No | Identifier of the image on Product Hunt's image host. | |||
| data.launch.media[].interactive_demo_id | string | No | Identifier of the interactive demo, when the media is one. | |||
| data.launch.media[].interactive_demo_type | string | No | Type of the interactive demo, when the media is one. | |||
| data.launch.media[].media_type | string | No | Type of media, for example `image`. | |||
| data.launch.media[].original_height | integer | No | Height of the original image in pixels. | |||
| data.launch.media[].original_width | integer | No | Width of the original image in pixels. | |||
| data.launch.media[].platform | string | No | Video platform hosting the media, when it is a video. | |||
| data.launch.media[].thumbnail_height | integer | No | Height of the media thumbnail. 0 when not provided. | |||
| data.launch.media[].thumbnail_width | integer | No | Width of the media thumbnail. 0 when not provided. | |||
| data.launch.media[].url | string | No | Link to the media item, for example a video link. | |||
| data.launch.media[].video_id | string | No | Video identifier on the hosting platform, when the media is a video. | |||
| data.launch.meta | object | No | Page metadata for the launch. | |||
| data.launch.meta.title | string | No | Page title of the launch. | |||
| data.launch.moderation_reason | string | No | Reason Product Hunt gives when the launch was moderated. | |||
| data.launch.name | string | No | Name of the launch. | |||
| data.launch.pricing_type | string | No | Pricing model of the product as Product Hunt lists it, for example `free`. | |||
| data.launch.primary_link | object | No | Main link of the launch. | |||
| data.launch.primary_link.id | string | No | Product Hunt ID of the link. | |||
| data.launch.primary_link.url | string | No | Main link of the launch. | |||
| data.launch.product | object | No | Product the launch belongs to. | |||
| data.launch.product.can_claim | boolean | No | Whether the viewer can claim the product page. | |||
| data.launch.product.can_edit | boolean | No | Whether the viewer can edit the product page. | |||
| data.launch.product.clean_url | string | No | Product website address without tracking parameters. | |||
| data.launch.product.detailed_review | object | No | Detailed review summary of the product, as Product Hunt returns it. | |||
| data.launch.product.first_launch | boolean | No | Whether this is the product's first launch. | |||
| data.launch.product.id | string | No | Product Hunt ID of the product. | |||
| data.launch.product.is_claimed | boolean | No | Whether a team has claimed the product page. | |||
| data.launch.product.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.launch.product.is_subscribed | boolean | No | Whether the viewer follows this product. | |||
| data.launch.product.is_top_product | boolean | No | Whether Product Hunt marks this as a top product. | |||
| data.launch.product.is_viewer_team_member | object | No | Whether the viewer is on the product's team, as Product Hunt returns it. | |||
| data.launch.product.latest_launch | object | No | Flags describing the product's latest launch. | |||
| data.launch.product.latest_launch.id | string | No | Product Hunt ID of the latest launch. | |||
| data.launch.product.latest_launch.launched_this_week | boolean | No | Whether the product launched this week. | |||
| data.launch.product.latest_launch.launching_today | boolean | No | Whether the product is launching today. | |||
| data.launch.product.logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.launch.product.name | string | No | Name of the product. | |||
| data.launch.product.posts_count | integer | No | Number of launch posts the product has. | |||
| data.launch.product.pro_con_tags | array | No | Pro and con tags reviewers have attached to the product. | |||
| data.launch.product.pro_con_tags[].count | integer | No | Number of reviewers who picked this tag for the product. | |||
| data.launch.product.pro_con_tags[].id | string | No | Product Hunt id of the tag. | |||
| data.launch.product.pro_con_tags[].name | string | No | Text of the tag as shown on Product Hunt. | |||
| data.launch.product.pro_con_tags[].type | string | No | Whether the tag is a strength or a downside, for example `Positive`. | |||
| data.launch.product.review_questions | array | No | Questions Product Hunt asks reviewers of the product. | |||
| data.launch.product.review_questions[].category | string | No | Review category the question belongs to, for example `Adoption`. | |||
| data.launch.product.review_questions[].id | string | No | Product Hunt ID of the question. | |||
| data.launch.product.review_questions[].question | string | No | Text of the question reviewers are asked. | |||
| data.launch.product.reviews_rating | number | No | Average review rating on Product Hunt. | |||
| data.launch.product.slug | string | No | URL slug of the product. Use it with the product endpoint. | |||
| data.launch.product.tagline | string | No | Short tagline of the product. | |||
| data.launch.product.twitter_url | string | No | Link to the product's Twitter or X profile. | |||
| data.launch.product.viewer_pending_team_request | object | No | The viewer's pending request to join the product's team, as Product Hunt returns it. | |||
| data.launch.product.website_domain | string | No | Domain name of the product website. | |||
| data.launch.product.website_url | string | No | Product website address. | |||
| data.launch.product_state | string | No | Product Hunt's state label for the product, for example `default`. | |||
| data.launch.promo | object | No | Promotion attached to the launch, as Product Hunt returns it. | |||
| data.launch.redirect_to_product | object | No | Product the launch page redirects to, when it redirects. | |||
| data.launch.redirect_to_product.id | string | No | Product Hunt ID of the product. | |||
| data.launch.redirect_to_product.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.launch.redirect_to_product.is_subscribed | boolean | No | Whether the viewer follows this product. | |||
| data.launch.redirect_to_product.is_top_product | boolean | No | Whether Product Hunt marks this as a top product. | |||
| data.launch.redirect_to_product.logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.launch.redirect_to_product.name | string | No | Name of the product. | |||
| data.launch.redirect_to_product.slug | string | No | URL slug of the product. Use it with the product endpoint. | |||
| data.launch.scheduled_at | string | No | ISO 8601 timestamp the launch is scheduled for. | |||
| data.launch.slug | string | No | URL slug of the launch. | |||
| data.launch.tagline | string | No | Short tagline of the launch. | |||
| data.launch.thumbnail_image_uuid | string | No | Identifier of the launch thumbnail image on Product Hunt's image host. | |||
| data.launch.topics | array | No | Topics the launch is tagged with. | |||
| data.launch.topics[].id | string | No | Product Hunt id of the category. | |||
| data.launch.topics[].name | string | No | Name of the category as shown on Product Hunt. | |||
| data.launch.topics[].path | string | No | Path of the category page on Product Hunt. | |||
| data.launch.topics[].slug | string | No | URL slug of the category. | |||
| data.launch.trashed_at | string | No | ISO 8601 timestamp of when the launch was trashed, when it was. | |||
| data.launch.updated_at | string | No | ISO 8601 timestamp of the last update to the launch. | |||
| data.launch.url | string | No | Product Hunt link to the launch. | |||
| data.launch.user | object | No | Member who posted the launch. | |||
| data.launch.user.avatar_url | string | No | Link to the member's profile picture. | |||
| data.launch.user.headline | string | No | Member's profile headline. | |||
| data.launch.user.id | string | No | Product Hunt ID of the member. | |||
| data.launch.user.name | string | No | Member's display name. | |||
| data.launch.user.username | string | No | Member's Product Hunt username. | |||
| data.launch.weekly_rank | integer | No | Rank on the weekly leaderboard. `0` when Product Hunt gives no rank. | |||
| data.page_variant_typename | string | No | Layout variant Product Hunt uses for the product page, for example `ProductPageVariantHighlightedLaunch`. | |||
| data.product | object | No | Product details from the about page. | |||
| data.product.badges | array | No | Badges the product has earned, such as leaderboard awards. | |||
| data.product.badges[].category | string | No | Award category of the badge, for example `Product of the Year`. Omitted for daily and weekly badges. | |||
| data.product.badges[].date | string | No | Date the badge refers to. | |||
| data.product.badges[].id | string | No | Product Hunt id of the badge. | |||
| data.product.badges[].period | string | No | Period the badge covers, for example `daily` or `weekly`. | |||
| data.product.badges[].position | integer | No | Rank the product placed at for this badge. | |||
| data.product.badges[].post_id | string | No | Product Hunt id of the launch post the badge was earned on. | |||
| data.product.badges[].post_name | string | No | Name of the launch post the badge was earned on. | |||
| data.product.badges[].post_slug | string | No | URL slug of the launch post the badge was earned on. | |||
| data.product.badges[].year | string | No | Year of the award the badge belongs to. | |||
| data.product.detailed_review | object | No | Detailed review summary of the product, as Product Hunt returns it. | |||
| data.product.discussion_forum | object | No | Discussion forum of the product. | |||
| data.product.discussion_forum.id | string | No | Product Hunt ID of the product's discussion forum. | |||
| data.product.discussion_forum.path | string | No | Product Hunt path of the discussion forum. | |||
| data.product.discussion_forum.threads | array | No | Discussion threads returned for the forum. | |||
| data.product.discussion_forum.threads[].commentable_id | string | No | Product Hunt ID used for comments on the thread. | |||
| data.product.discussion_forum.threads[].comments_count | integer | No | Number of comments on the thread. | |||
| data.product.discussion_forum.threads[].created_at | string | No | ISO 8601 timestamp of when the thread was created. | |||
| data.product.discussion_forum.threads[].description_preview | string | No | Short preview of the thread's opening text. | |||
| data.product.discussion_forum.threads[].forum | object | No | Forum the thread belongs to. | |||
| data.product.discussion_forum.threads[].forum.id | string | No | Product Hunt ID of the forum. | |||
| data.product.discussion_forum.threads[].forum.path | string | No | Product Hunt path of the forum. | |||
| data.product.discussion_forum.threads[].forum.slug | string | No | URL slug of the forum. | |||
| data.product.discussion_forum.threads[].forum.subject | object | No | Product the forum is about. | |||
| data.product.discussion_forum.threads[].forum.subject.id | string | No | Product Hunt ID of the product the forum is about. | |||
| data.product.discussion_forum.threads[].forum.subject.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.product.discussion_forum.threads[].forum.subject.logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.product.discussion_forum.threads[].forum.subject.name | string | No | Name of the product the forum is about. | |||
| data.product.discussion_forum.threads[].has_voted | boolean | No | Whether the viewer has upvoted the thread. | |||
| data.product.discussion_forum.threads[].id | string | No | Product Hunt ID of the thread. | |||
| data.product.discussion_forum.threads[].is_featured | boolean | No | Whether Product Hunt features the thread. | |||
| data.product.discussion_forum.threads[].is_pinned | boolean | No | Whether the thread is pinned in the forum. | |||
| data.product.discussion_forum.threads[].path | string | No | Product Hunt path of the thread. | |||
| data.product.discussion_forum.threads[].slug | string | No | URL slug of the thread. | |||
| data.product.discussion_forum.threads[].title | string | No | Title of the thread. | |||
| data.product.discussion_forum.threads[].user | object | No | Member who started the thread. | |||
| data.product.discussion_forum.threads[].user.avatar_url | string | No | URL of the user's profile picture. | |||
| data.product.discussion_forum.threads[].user.id | string | No | Product Hunt id of the user. | |||
| data.product.discussion_forum.threads[].user.name | string | No | Display name of the user. | |||
| data.product.discussion_forum.threads[].user.username | string | No | Product Hunt username of the user. | |||
| data.product.discussion_forum.threads[].votes_count | integer | No | Number of upvotes on the thread. | |||
| data.product.discussion_forum.total_count | integer | No | Total number of discussion threads in the forum. | |||
| data.product.followers_count | integer | No | Number of Product Hunt users following the product. | |||
| data.product.id | string | No | Product Hunt ID of the product. | |||
| data.product.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.product.is_subscribed | boolean | No | Whether the viewer follows this product. | |||
| data.product.latest_launch | object | No | Most recent launch of the product. | |||
| data.product.latest_launch.id | string | No | Product Hunt ID of the latest launch. | |||
| data.product.latest_launch.is_maker | boolean | No | Whether the viewer is a maker of this launch. | |||
| data.product.latest_launch.launch_number | integer | No | Sequence number of this launch among the product's launches. | |||
| data.product.latest_launch.launched_this_week | boolean | No | Whether the product launched this week. | |||
| data.product.latest_launch.launching_today | boolean | No | Whether the product is launching today. | |||
| data.product.latest_launch.name | string | No | Name of the latest launch. | |||
| data.product.latest_launch.product_state | string | No | Product Hunt's state label for the product, for example `default`. | |||
| data.product.latest_launch.scheduled_at | string | No | ISO 8601 timestamp the launch is scheduled for. | |||
| data.product.latest_launch.slug | string | No | URL slug of the latest launch. | |||
| data.product.latest_launch.tagline | string | No | Short tagline of the latest launch. | |||
| data.product.latest_launch.thumbnail_image_uuid | string | No | Identifier of the launch thumbnail image on Product Hunt's image host. | |||
| data.product.logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.product.media | array | No | Images and videos on the product page. | |||
| data.product.media[].id | string | No | Product Hunt ID of the media item. | |||
| data.product.media[].image_uuid | string | No | Identifier of the image on Product Hunt's image host. | |||
| data.product.media[].interactive_demo_id | string | No | Identifier of the interactive demo, when the media is one. | |||
| data.product.media[].interactive_demo_type | string | No | Type of the interactive demo, when the media is one. | |||
| data.product.media[].media_type | string | No | Type of media, for example `image`. | |||
| data.product.media[].original_height | integer | No | Height of the original image in pixels. | |||
| data.product.media[].original_width | integer | No | Width of the original image in pixels. | |||
| data.product.media[].platform | string | No | Video platform hosting the media, when it is a video. | |||
| data.product.media[].thumbnail_height | integer | No | Height of the media thumbnail. 0 when not provided. | |||
| data.product.media[].thumbnail_width | integer | No | Width of the media thumbnail. 0 when not provided. | |||
| data.product.media[].url | string | No | Link to the media item, for example a video link. | |||
| data.product.media[].video_id | string | No | Video identifier on the hosting platform, when the media is a video. | |||
| data.product.name | string | No | Name of the product. | |||
| data.product.page_variant | object | No | Layout variant Product Hunt uses for the product page. | |||
| data.product.page_variant.launch_id | string | No | Product Hunt ID of the launch the page variant highlights. | |||
| data.product.page_variant.typename | string | No | Layout variant Product Hunt uses for the product page. | |||
| data.product.posts | array | No | Launch posts of the product. | |||
| data.product.posts[].badges | array | No | Badges the launch has earned, such as leaderboard awards. | |||
| data.product.posts[].badges[].category | string | No | Award category of the badge, for example `Product of the Year`. Omitted for daily and weekly badges. | |||
| data.product.posts[].badges[].date | string | No | Date the badge refers to. | |||
| data.product.posts[].badges[].id | string | No | Product Hunt id of the badge. | |||
| data.product.posts[].badges[].period | string | No | Period the badge covers, for example `daily` or `weekly`. | |||
| data.product.posts[].badges[].position | integer | No | Rank the product placed at for this badge. | |||
| data.product.posts[].badges[].post_id | string | No | Product Hunt id of the launch post the badge was earned on. | |||
| data.product.posts[].badges[].post_name | string | No | Name of the launch post the badge was earned on. | |||
| data.product.posts[].badges[].post_slug | string | No | URL slug of the launch post the badge was earned on. | |||
| data.product.posts[].badges[].year | string | No | Year of the award the badge belongs to. | |||
| data.product.posts[].comments_count | integer | No | Number of comments on the launch. | |||
| data.product.posts[].created_at | string | No | ISO 8601 timestamp of when the launch was created. | |||
| data.product.posts[].daily_rank | integer | No | Rank on the daily leaderboard. `0` when Product Hunt gives no rank. | |||
| data.product.posts[].disabled_when_scheduled | boolean | No | Whether upvoting is disabled while the launch is scheduled. | |||
| data.product.posts[].embargo_preview_at | string | No | ISO 8601 timestamp of the embargo preview, when the launch has one. | |||
| data.product.posts[].featured_at | string | No | ISO 8601 timestamp of when Product Hunt featured the launch. | |||
| data.product.posts[].has_voted | boolean | No | Whether the viewer has upvoted this launch. | |||
| data.product.posts[].hide_votes_count | boolean | No | Whether the maker hides the vote count for this launch. | |||
| data.product.posts[].id | string | No | Product Hunt ID of the launch post. | |||
| data.product.posts[].latest_score | integer | No | Current upvote score of the launch. | |||
| data.product.posts[].launch_day_score | integer | No | Upvote score the launch had on its launch day. | |||
| data.product.posts[].monthly_rank | integer | No | Rank on the monthly leaderboard. `0` when Product Hunt gives no rank. | |||
| data.product.posts[].name | string | No | Name of the launch. | |||
| data.product.posts[].product | object | No | Product the launch belongs to. | |||
| data.product.posts[].product.id | string | No | Product Hunt ID of the product. | |||
| data.product.posts[].product.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.product.posts[].product.is_subscribed | boolean | No | Whether the viewer follows this product. | |||
| data.product.posts[].product.is_top_product | boolean | No | Whether Product Hunt marks this as a top product. | |||
| data.product.posts[].product.logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.product.posts[].product.name | string | No | Name of the product. | |||
| data.product.posts[].product.slug | string | No | URL slug of the product. Use it with the product endpoint. | |||
| data.product.posts[].product_state | string | No | Product Hunt's state label for the product, for example `default`. | |||
| data.product.posts[].randomization_status | object | No | Whether and when Product Hunt randomizes where this launch appears. | |||
| data.product.posts[].randomization_status.active | boolean | No | Whether randomization is currently in effect. | |||
| data.product.posts[].randomization_status.next_transition_at | string | No | ISO 8601 timestamp of the next change to the randomization state, when there is one. | |||
| data.product.posts[].randomization_status.random_day | boolean | No | Whether the launch day is randomized. | |||
| data.product.posts[].randomization_status.randomize_order | boolean | No | Whether the order of this launch among others is randomized. | |||
| data.product.posts[].redirect_to_product | object | No | Product the launch redirects to, when it redirects. | |||
| data.product.posts[].redirect_to_product.id | string | No | Product Hunt ID of the product. | |||
| data.product.posts[].redirect_to_product.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.product.posts[].redirect_to_product.is_subscribed | boolean | No | Whether the viewer follows this product. | |||
| data.product.posts[].redirect_to_product.is_top_product | boolean | No | Whether Product Hunt marks this as a top product. | |||
| data.product.posts[].redirect_to_product.logo_uuid | string | No | Identifier of the product logo on Product Hunt's image host. | |||
| data.product.posts[].redirect_to_product.name | string | No | Name of the product. | |||
| data.product.posts[].redirect_to_product.slug | string | No | URL slug of the product. Use it with the product endpoint. | |||
| data.product.posts[].shortened_url | string | No | Short Product Hunt link to the launch. | |||
| data.product.posts[].slug | string | No | URL slug of the launch post. | |||
| data.product.posts[].tagline | string | No | Short tagline of the launch. | |||
| data.product.posts[].thumbnail_image_uuid | string | No | Identifier of the launch thumbnail image on Product Hunt's image host. | |||
| data.product.posts[].updated_at | string | No | ISO 8601 timestamp of the last update to the launch. | |||
| data.product.posts[].weekly_rank | integer | No | Rank on the weekly leaderboard. `0` when Product Hunt gives no rank. | |||
| data.product.posts_count | integer | No | Number of launch posts the product has. | |||
| data.product.pro_con_tags | array | No | Pro and con tags reviewers have attached to the product. | |||
| data.product.pro_con_tags[].count | integer | No | Number of reviewers who picked this tag for the product. | |||
| data.product.pro_con_tags[].id | string | No | Product Hunt id of the tag. | |||
| data.product.pro_con_tags[].name | string | No | Text of the tag as shown on Product Hunt. | |||
| data.product.pro_con_tags[].type | string | No | Whether the tag is a strength or a downside, for example `Positive`. | |||
| data.product.review_questions | array | No | Questions Product Hunt asks reviewers of the product. | |||
| data.product.review_questions[].category | string | No | Review category the question belongs to, for example `Adoption`. | |||
| data.product.review_questions[].id | string | No | Product Hunt ID of the question. | |||
| data.product.review_questions[].question | string | No | Text of the question reviewers are asked. | |||
| data.product.reviews_rating | number | No | Average review rating on Product Hunt. | |||
| data.product.screenshots | array | No | Screenshots shown on the product page. | |||
| data.product.screenshots[].id | string | No | Product Hunt ID of the screenshot. | |||
| data.product.screenshots[].image_uuid | string | No | Identifier of the image on Product Hunt's image host. | |||
| data.product.screenshots[].media_type | string | No | Type of media, for example `image`. | |||
| data.product.screenshots[].original_height | integer | No | Height of the original screenshot in pixels. | |||
| data.product.screenshots[].original_width | integer | No | Width of the original screenshot in pixels. | |||
| data.product.slug | string | No | URL slug of the product. Use it with the product endpoint. | |||
| data.product.tagline | string | No | Short tagline of the product. | |||
| data.product.url | string | No | Product Hunt link to the product page. | |||
| data.product_id | string | No | Product Hunt ID of the product. | |||
| data.viewer | object | No | Details about the viewer's relationship to the product. | |||
| data.viewer.is_featured_post_maker | boolean | No | Whether the viewer is a maker of a featured post. | |||
| data.viewer.recent_launch | object | No | The viewer's most recent launch, as Product Hunt returns it. | |||
| msg | string | No | Request successful |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 404 | Product not found | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/producthunt/product/%22producthunt%22/about" \
-H "x-api-key: $CRAWLORA_API_KEY"