---
title: "Get a Product Hunt product"
method: GET
path: "/v1/producthunt/product"
tags: ["Product Hunt"]
---

# Get a Product Hunt product

`GET /v1/producthunt/product`

## Request

- Base URL: `https://api.scrapeatlas.com`
- URL: `https://api.scrapeatlas.com/v1/producthunt/product`
- Auth: API key in header `x-api-key`

Retrieve a Product Hunt product. view=overview (default) returns the product page: tagline, description, website and social links, rating, review, follower, launch, maker and alternative counts, categories, first and latest launch, media, pros-and-cons tags, Golden Kitty badges and its forum. view=launches lists every launch; view=reviews lists written reviews with aspect ratings, filterable by reviewer type and star rating; view=alternatives lists the alternatives shown for it; view=makers lists its makers. List views page with cursor. Each successful request costs 1 account credit, including partial results. Failed requests cost 0 credits.

## Query parameters

- `slug` string, required
- `view` 'overview' | 'launches' | 'reviews' | 'alternatives' | 'makers'
- `order` 'date' | 'votes' | 'informative' | 'newest' | 'oldest' | 'highest_rated' | 'lowest_rated' | 'most_relevant' | 'recent_launches'
- `filter` 'all' | 'founder' | 'personal'
- `rating` string
- `cursor` string
- `limit` string

## Response `200`

Inspect the response status and failure or coverage fields.

- union
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_feed', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `product` object, required
      - `id` string, required
      - `slug` string, required
      - `name` string, required
      - `tagline` string, nullable, required
      - `description` string, nullable, required
      - `url` string, required
      - `websiteUrl` string, nullable, required
      - `websiteDomain` string, nullable, required
      - `cleanUrl` string, nullable, required
      - `logoUuid` string, nullable, required
      - `logoUrl` string, nullable, required
      - `isClaimed` boolean, required
      - `isTopProduct` boolean, required
      - `isNoLongerOnline` boolean, required
      - `reviewsRating` number, nullable, required
      - `reviewsCount` integer, required
      - `detailedReviewsCount` integer, required
      - `followersCount` integer, required
      - `postsCount` integer, required
      - `addonsCount` integer, nullable, required
      - `alternativesCount` integer, required
      - `makersCount` integer, required
      - `categoriesCount` integer, nullable, required
      - `employeeSize` string, nullable, required
      - `fundingAmount` string, nullable, required
      - `wasInYCombinator` boolean, nullable, required
      - `pricingType` string, nullable, required
      - `aiReviewSummary` string, nullable, required
      - `twitterUrl` string, nullable, required
      - `facebookUrl` string, nullable, required
      - `instagramUrl` string, nullable, required
      - `linkedinUrl` string, nullable, required
      - `angellistUrl` string, nullable, required
      - `threadsUrl` string, nullable, required
      - `mediumUrl` string, nullable, required
      - `githubUrl` string, nullable, required
      - `iosUrl` string, nullable, required
      - `androidUrl` string, nullable, required
      - `categories` object[], required
        - `id` string, required
        - `slug` string, required
        - `name` string, required
        - `path` string, required
        - `url` string, required
      - `firstPost` object, nullable, required
        - `id` string, required
        - `slug` string, required
        - `createdAt` string, required
      - `latestLaunch` object, nullable, required
        - `id` string, required
        - `slug` string, required
        - `name` string, required
        - `tagline` string, nullable, required
        - `createdAt` string, required
        - `featuredAt` string, nullable, required
        - `votesCount` integer, nullable, required
        - `hideVotesCount` boolean, required
        - `commentsCount` integer, required
      - `media` object[], required
        - `id` string, required
        - `imageUuid` string, nullable, required
        - `imageUrl` string, nullable, required
        - `mediaType` string, required
        - `originalWidth` integer, nullable, required
        - `originalHeight` integer, nullable, required
        - `metadata` object, nullable, required
          - `url` string, nullable, required
          - `videoId` string, nullable, required
          - `platform` string, nullable, required
      - `proConTags` object[], required
        - `id` string, required
        - `name` string, required
        - `type` string, required
        - `count` integer, required
      - `goldenKittyBadges` object[], required
        - `type` string, required
        - `id` string, required
        - `position` integer, nullable
        - `period` string, nullable
        - `date` string, nullable
        - `category` string, nullable
        - `year` string, nullable
      - `discussionForum` object, nullable, required
        - `id` string, required
        - `slug` string, required
        - `path` string, required
        - `url` string, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex', required
      - `message` string, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_feed', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `product` object, required
      - `id` string, required
      - `slug` string, required
      - `name` string, required
    - `launches` object[], required
      - `id` string, required
      - `slug` string, required
      - `name` string, required
      - `tagline` string, nullable, required
      - `url` string, required
      - `createdAt` string, required
      - `featuredAt` string, nullable, required
      - `scheduledAt` string, nullable, required
      - `votesCount` integer, nullable, required
      - `hideVotesCount` boolean, required
      - `commentsCount` integer, required
      - `dailyRank` string, nullable, required
      - `weeklyRank` string, nullable, required
      - `monthlyRank` string, nullable, required
      - `thumbnailImageUuid` string, nullable, required
      - `thumbnailImageUrl` string, nullable, required
      - `user` object, nullable, required
        - `id` string, required
        - `name` string, nullable, required
        - `username` string, required
        - `headline` string, nullable, required
        - `avatarUrl` string, nullable, required
        - `url` string, required
      - `product` object, nullable, required
        - `id` string, required
        - `slug` string, required
        - `name` string, required
      - `topics` object[], required
        - `id` string, required
        - `slug` string, required
        - `name` string, required
    - `totalCount` integer, nullable, required
    - `nextCursor` string, nullable, required
    - `hasMore` boolean, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex', required
      - `message` string, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_feed', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `product` object, required
      - `id` string, required
      - `slug` string, required
      - `name` string, required
      - `detailedReviewsCount` integer, required
      - `detailedReviewsRating` number, nullable, required
    - `reviews` object[], required
      - `id` string, required
      - `reviewType` string, nullable, required
      - `overallRating` integer, nullable, required
      - `easeOfUseRating` integer, nullable, required
      - `reliabilityRating` integer, nullable, required
      - `valueForMoneyRating` integer, nullable, required
      - `customizationRating` integer, nullable, required
      - `overallExperience` string, nullable, required
      - `positiveFeedback` string, nullable, required
      - `negativeFeedback` string, nullable, required
      - `alternativesFeedback` string, nullable, required
      - `createdAt` string, required
      - `votesCount` integer, required
      - `commentsCount` integer, required
      - `path` string, nullable, required
      - `url` string, nullable, required
      - `user` object, nullable, required
        - `id` string, required
        - `name` string, nullable, required
        - `username` string, required
        - `headline` string, nullable, required
        - `avatarUrl` string, nullable, required
        - `url` string, required
      - `fromPost` object, nullable, required
        - `id` string, required
        - `slug` string, required
        - `name` string, required
    - `totalCount` integer, nullable, required
    - `nextCursor` string, nullable, required
    - `hasMore` boolean, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex', required
      - `message` string, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_feed', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `product` object, required
      - `id` string, required
      - `slug` string, required
      - `name` string, required
    - `alternatives` object[], required
      - `id` string, required
      - `slug` string, required
      - `name` string, required
      - `tagline` string, nullable, required
      - `url` string, required
      - `websiteUrl` string, nullable, required
      - `logoUuid` string, nullable, required
      - `logoUrl` string, nullable, required
      - `reviewsRating` number, nullable, required
      - `reviewsCount` integer, required
      - `followersCount` integer, required
      - `postsCount` integer, required
      - `isTopProduct` boolean, required
      - `isNoLongerOnline` boolean, required
    - `totalCount` integer, nullable, required
    - `nextCursor` string, nullable, required
    - `hasMore` boolean, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex', required
      - `message` string, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api' | 'public_feed', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `product` object, required
      - `id` string, required
      - `slug` string, required
      - `name` string, required
    - `makers` object[], required
      - `id` string, required
      - `name` string, nullable, required
      - `username` string, required
      - `headline` string, nullable, required
      - `avatarUrl` string, nullable, required
      - `url` string, required
      - `followersCount` integer, required
      - `twitterUrl` string, nullable, required
    - `totalCount` integer, nullable, required
    - `nextCursor` string, nullable, required
    - `hasMore` boolean, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex', required
      - `message` string, required

## Other responses

- `400`: Request could not complete; inspect error or failure.code.
- `401`: Request could not complete; inspect error or failure.code.
- `402`: Request could not complete; inspect error or failure.code.
- `403`: Request could not complete; inspect error or failure.code.
- `404`: Request could not complete; inspect error or failure.code.
- `408`: Request could not complete; inspect error or failure.code.
- `413`: Request could not complete; inspect error or failure.code.
- `429`: Request could not complete; inspect error or failure.code.
- `500`: Request could not complete; inspect error or failure.code.
- `502`: Request could not complete; inspect error or failure.code.
- `503`: Request could not complete; inspect error or failure.code.
- `504`: Request could not complete; inspect error or failure.code.

---

[API](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api.md) · [All operations](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeatlas/apis/scrapeatlas-api/revisions/9ba049316894?raw)
