Datasets API endpoint
Returns one product by its Product Hunt slug from dataset id enum value `producthunt-products`, including its full launch history and (once hydrated) description, website, twitter_url, pricing and makers. Returns 404 when the slug is not in the archive.
/datasets/producthunt-products/items/{slug}Dataset id enum:
producthunt-productsPath parameters:
slug: the Product Hunt product slug, e.g. chatgpt.Response behavior:
product_id, slug, name, tagline, topics, latest_score, best ranks, launches, and hydrated description/website/twitter_url/pricing_type/reviews_rating/makers).404 when the slug is not in the archive.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| date | 20 | 2015-09-13 to 2026-05-14 |
| daily_rank | 20 | 1 to 14, median 1 |
| weekly_rank | 20 | 1 to 52, median 3 |
| monthly_rank | 20 | 1 to 215, median 6 |
| score | 20 | 202 to 2,150, median 553 |
| post_id | 20 | |
| post_slug | 20 | |
| launch_day_score | 15 | 144 to 4,370, median 686 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Product Hunt product slug, e.g. chatgpt | chatgpt | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/producthunt-products/items/chatgpt" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"product_id": "94418",
"slug": "streaks",
"name": "Streaks",
"tagline": "The to-do list that helps you form good habits.",
"topics": [
{
"slug": "ios",
"name": "iOS"
}
],
"topic_slugs": [
"ios",
"task-management",
"tech"
],
"latest_score": 414,
"best_daily_rank": 1,
"won_daily": true,
"first_launch_date": "2015-06-01",
"launch_count": 1,
"launches": [
{
"date": "2015-06-01",
"daily_rank": 1,
"score": 414,
"post_id": "22928"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/datasets.producthuntProductResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | es.ProductHuntProductItem | No | ||||
| data.best_daily_rank | integer | No | Best position the product reached on a Product Hunt daily leaderboard. | |||
| data.best_monthly_rank | integer | No | Best position the product reached on a Product Hunt monthly leaderboard. | |||
| data.best_weekly_rank | integer | No | Best position the product reached on a Product Hunt weekly leaderboard. | |||
| data.comments_count | integer | No | Number of comments on the product's Product Hunt page. | |||
| data.description | string | No | Product description as the maker wrote it on Product Hunt. | |||
| data.first_launch_date | string | No | Date of the product's earliest launch, in YYYY-MM-DD format. | |||
| data.followers_count | integer | No | Number of Product Hunt users following the product. | |||
| data.is_no_longer_online | boolean | No | Whether Product Hunt marks the product as no longer online. | |||
| data.is_top_product | boolean | No | Whether Product Hunt flags the product as a top product. | |||
| data.latest_launch_date | string | No | Date of the product's most recent launch, in YYYY-MM-DD format. | |||
| data.latest_score | integer | No | Current upvote count of the product. | |||
| data.launch_count | integer | No | Number of times the product has launched on Product Hunt. | |||
| data.launch_year | integer | No | Year of the product's first launch. | |||
| data.launches | array | No | Each launch of the product on Product Hunt, with its date, ranks and score. | |||
| data.launches[].daily_rank | integer | No | Rank on the Product Hunt daily leaderboard for the launch day. | |||
| data.launches[].date | string | No | Launch date, in YYYY-MM-DD format. | |||
| data.launches[].launch_day_score | integer | No | Score the launch had on its launch day. | |||
| data.launches[].launch_number | integer | No | Sequence number of this launch among the product's Product Hunt launches. | |||
| data.launches[].monthly_rank | integer | No | Rank on the Product Hunt monthly leaderboard. | |||
| data.launches[].post_id | string | No | Product Hunt identifier of the launch post. | |||
| data.launches[].post_slug | string | No | URL slug of the launch post on Product Hunt. | |||
| data.launches[].score | integer | No | Upvote count of the launch post. | |||
| data.launches[].weekly_rank | integer | No | Rank on the Product Hunt weekly leaderboard. | |||
| data.logo_uuid | string | No | Identifier of the product logo image on Product Hunt. | |||
| data.makers | array | No | People credited as makers of the product. | |||
| data.makers[].avatar_url | string | No | URL of the maker's profile picture. | |||
| data.makers[].headline | string | No | Short headline from the maker's Product Hunt profile. | |||
| data.makers[].maker_id | string | No | Product Hunt identifier of the maker. | |||
| data.makers[].name | string | No | Maker's display name. | |||
| data.makers[].username | string | No | Maker's Product Hunt username. Use it with the maker item endpoint. | |||
| data.name | string | No | Product name as shown on Product Hunt. | |||
| data.pricing_type | string | No | Pricing model of the product, such as `free`, `paid` or `freemium`. | |||
| data.primary_topic | string | No | Slug of the product's main topic. | |||
| data.product_id | string | No | Product Hunt identifier of the product. | |||
| data.product_state | string | No | Lifecycle state of the product as Product Hunt reports it. | |||
| data.reviews_count | integer | No | Number of reviews the product has on Product Hunt. | |||
| data.reviews_rating | number | No | Average review rating out of 5. | |||
| data.slug | string | No | URL slug of the product on Product Hunt. Use it with the product item endpoint. | |||
| data.tagline | string | No | One-line tagline of the product. | |||
| data.topic_slugs | array | No | Slugs of all topics the product is filed under. | |||
| data.topics | array | No | Topics the product is filed under. | |||
| data.topics[].id | string | No | Product Hunt identifier of the topic. | |||
| data.topics[].name | string | No | Topic name as Product Hunt shows it. | |||
| data.topics[].slug | string | No | URL slug of the topic on Product Hunt. | |||
| data.twitter_url | string | No | URL of the product's X (Twitter) profile. | |||
| data.url | string | No | URL of the product's page on Product Hunt. | |||
| data.website | string | No | URL of the product's own website. | |||
| data.won_daily | boolean | No | Whether the product ranked first on a Product Hunt daily leaderboard. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/datasets/producthunt-products/items/chatgpt" \
-H "x-api-key: $CRAWLORA_API_KEY"