ProductHunt API endpoint
Lists the makers of a Product Hunt product, looked up by its slug in `id`. Each maker has a name, username, headline, avatar, follower count and the posts they made. The response includes `total_count` and claim status, and the returned `end_cursor` can be passed as `cursor` for the next page.
/producthunt/product/{id}/makersPath parameters:
id: required. Product Hunt slug. Example: "clico".Query parameters:
cursor: optional. Pagination cursor.Notable response behavior:
cursor value from a previous response to continue pagination.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| id | 10 | |
| name | 10 | “Sam Altman” and 8 other values |
| username | 10 | |
| headline | 6 | “President, YC” and 5 other values |
| avatar_url | 10 | ph-avatars.imgix.net |
| followers_count | 10 | 28 to 52,839, median 88 |
| is_followed | 10 | true in 0 of 10 |
| made_posts | 10 | median 2 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | Product Hunt slug | "clico" | |
| cursor | string | No | Pagination cursor | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/producthunt/product/%22clico%22/makers" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"product_id": "1191613",
"slug": "clico",
"connection": "makers",
"total_count": 3,
"end_cursor": "Mw",
"has_next_page": false
}
}Request schema
No body schema
Response schema
#/definitions/producthunt.makersResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | producthunt.ProductMakersPage | No | ||||
| data.can_claim | boolean | No | Whether the requesting viewer can claim the product. | |||
| data.connection | string | No | makers | Kind of list the items come from, for example `makers`. | ||
| data.end_cursor | string | No | Cursor of the last maker on this page. Pass it as `cursor` to get the next page. | |||
| data.has_next_page | boolean | No | false | Whether another page of makers follows this one. | ||
| data.is_claimed | boolean | No | Whether the product page has been claimed by its team. | |||
| data.is_trashed | boolean | No | Whether the product has been removed from Product Hunt. | |||
| data.items | array | No | Makers of the product, one per entry. | |||
| data.items[].avatar_url | string | No | URL of the maker's profile picture. | |||
| data.items[].followers_count | integer | No | Number of Product Hunt users following the maker. | |||
| data.items[].headline | string | No | Maker's profile headline. | |||
| data.items[].id | string | No | Product Hunt id of the maker. | |||
| data.items[].is_followed | boolean | No | Whether the requesting viewer follows the maker. | |||
| data.items[].made_posts | array | No | Launch posts the maker worked on. | |||
| data.items[].made_posts[].id | string | No | Product Hunt id of the launch post. | |||
| data.items[].made_posts[].name | string | No | Name of the launch post. | |||
| data.items[].made_posts[].product_id | string | No | Product Hunt id of the product the post belongs to. | |||
| data.items[].made_posts[].product_slug | string | No | URL slug of the product the post belongs to. | |||
| data.items[].made_posts[].product_state | string | No | State of the product on Product Hunt, for example `default`. | |||
| data.items[].made_posts[].slug | string | No | URL slug of the launch post. | |||
| data.items[].made_posts[].thumbnail_image_uuid | string | No | Identifier of the launch post's thumbnail image file. | |||
| data.items[].name | string | No | Maker's display name. | |||
| data.items[].username | string | No | Maker's Product Hunt username. | |||
| data.name | string | No | Name of the product. | |||
| data.product_id | string | No | 1191613 | Product Hunt id of the product. | ||
| data.raw_page_info | object | No | Pagination details for this page as Product Hunt returns them. | |||
| data.slug | string | No | clico | URL slug of the product on Product Hunt. | ||
| data.total_count | integer | No | 3 | Total number of makers the product has. | ||
| data.viewer_pending_team_request | object | No | The viewer's pending request to join the product's team, as Product Hunt returns it. Omitted when none. | |||
| msg | string | No | OK |
| 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/%22clico%22/makers" \
-H "x-api-key: $CRAWLORA_API_KEY"