---
title: "Search Whatnot"
method: GET
path: "/v1/whatnot/search"
tags: ["Whatnot"]
---

# Search Whatnot

`GET /v1/whatnot/search`

## Request

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

Search listings, livestreams, products, users and categories. Pick a vertical or use UNIVERSAL for the mixed feed; 24 records per page. Each successful request costs 1 account credit, including partial results. Failed requests cost 0 credits.

## Query parameters

- `query` string, required
- `vertical` 'UNIVERSAL' | 'LIVESTREAM' | 'PRODUCT' | 'USER' | 'CATEGORY'
- `cursor` 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', required
      - `complete` boolean, required
      - `warnings` string[], required
    - `query` string, required
    - `vertical` 'UNIVERSAL' | 'LIVESTREAM' | 'PRODUCT' | 'USER' | 'CATEGORY', required
    - `items` union[], required
      - union
        - object
          - `type` 'listing', required
          - `listing` object, required
            - `id` string, required
            - `url` string, uri, required
            - `title` string, nullable, required
            - `subtitle` string, nullable, required
            - `description` string, nullable, required
            - `price` object, nullable, required
              - …
            - `transactionType` string, nullable, required
            - `status` string, nullable, required
            - `quantity` integer, nullable, required
            - `isLive` boolean, nullable, required
            - `currentBid` object, nullable, required
              - …
            - `currentBidCount` integer, nullable, required
            - `auction` object, nullable, required
              - …
            - `totalBookmarks` integer, nullable, required
            - `labels` string[], nullable, required
            - `images` object[], required
              - …
            - `product` object, nullable, required
              - …
            - `createdAt` string, nullable, required
            - `updatedAt` string, nullable, required
            - `user` object, nullable, required
              - …
        - object
          - `type` 'livestream', required
          - `livestream` object, required
            - `id` string, required
            - `url` string, uri, required
            - `title` string, nullable, required
            - `status` string, nullable, required
            - `activeViewers` integer, nullable, required
            - `startTime` string, nullable, required
            - `endTime` string, nullable, required
            - `thumbnail` object, nullable, required
              - …
            - `trailerUrl` string, nullable, required
            - `categories` object[], required
              - …
            - `tags` object[], required
              - …
            - `labels` string[], nullable, required
            - `isFreeShippingEnabled` boolean, nullable, required
            - `isHiddenBySeller` boolean, nullable, required
            - `totalWatchlistUsers` integer, nullable, required
            - `user` object, nullable, required
              - …
        - object
          - `type` 'product', required
          - `product` object, required
            - `id` string, required
            - `name` string, nullable, required
            - `image` object, nullable, required
              - …
            - `listingPrice` object, nullable, required
              - …
            - `lastSalePrice` object, nullable, required
              - …
            - `numListings` integer, nullable, required
        - object
          - `type` 'user', required
          - `user` object, required
            - `id` string, required
            - `userId` string, nullable, required
            - `username` string, required
            - `displayName` string, nullable, required
            - `profileImage` object, nullable, required
              - …
            - `isLive` boolean, nullable, required
            - `isVerifiedSeller` boolean, nullable, required
            - `followerCount` integer, nullable, required
            - `soldCount` integer, nullable, required
            - `rating` number, nullable, required
            - `numReviews` integer, nullable, required
        - object
          - `type` 'category', required
          - `category` object, required
            - `id` string, required
            - `type` string, nullable, required
            - `label` string, nullable, required
            - `parentId` string, nullable, required
            - `image` object, nullable, required
              - …
            - `subcategories` object[], required
              - …
        - object
          - `type` 'tag', required
          - `tag` object, required
            - `id` string, required
            - `name` string, nullable, required
            - `label` string, nullable, required
            - `deeplink` string, nullable, required
            - `viewerCount` integer, nullable, required
            - `image` object, nullable, required
              - …
    - `pagination` object, required
      - `cursor` string, nullable, required
      - `hasMore` boolean, required
      - `totalCount` integer, nullable, 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)
