Product Hunt

List Product Hunt post comments

List Product Hunt post comments, cursor-paged, with the first 20 replies on each thread.

GET/v1/product-hunt/posts/{slug}/comments
1credit
x-api-keystringheader

API key (`sfk_...`)

Parameters
2
slugstringrequiredpath

Post slug, e.g. `teamily-ai`; case does not matter.

min 1 chars · max 120 chars · pattern: ^[A-Za-z0-9][A-Za-z0-9._-]*$

cursorstringoptionalquery

Cursor from `page.nextCursor` of the previous response. It only works with the same endpoint and filters.

min 1 chars · max 1024 chars

Response fields
29

Endpoint-specific response payload.

datalookupStatus
string

`not_found` when no public post has that slug. A post with no comments is `found` with an empty list.

one of: found, not_found

datapostSlug
string

The post the comments belong to.

The comment threads on this page, ordered by score.

datacomments[]id
string

Thread id.

datacomments[]bodyText
stringnullable

Comment text; null for an image-only comment.

datacomments[]createdAt
stringnullable

When the comment was written.

datacomments[]votesCount
integer

Votes on the comment.

The user who wrote the comment.

datacomments[]userusername
string

Username.

datacomments[]username
stringnullable

Display name.

datacomments[]repliesCount
integer

How many replies the thread has.

≥ 0

datacomments[]repliesHasMore
boolean

Whether the thread has more replies than the 20 returned here.

The first 20 replies on the thread.

datacomments[]replies[]id
string

Reply id.

datacomments[]replies[]bodyText
stringnullable

Reply text; null for an image-only reply.

datacomments[]replies[]createdAt
stringnullable

When the reply was written.

datacomments[]replies[]votesCount
integer

Votes on the reply.

The user who wrote the reply.

datacomments[]replies[]userusername
string

Username.

datacomments[]replies[]username
stringnullable

Display name.

datatotalCount
integer

Top-level comment threads on the post. Replies are nested in each thread and are not counted here.

≥ 0

Pagination state for the current page.

datapagehasMore
boolean

Whether another page is available.

datapagenextCursor
stringnullable

Cursor to pass in the next request when more pages exist; null on the last page.

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/product-hunt/posts/teamily-ai/comments" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Comment threads of a Product Hunt post.