# Whatnot Scraper API (x402)

> Whatnot Scraper API (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured data from Whatnot (live shopping platform) including search results, seller profiles, and category feeds — charged per successful call via x402 micropayment.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/whatnot?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/whatnot-scraper-api-x402-42e43182
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CEvckSMycxLh5Yof7UCR0

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability whatnot-scraper-api-x402-42e43182 -d '<json body>'
```

Example prompt: Search Whatnot for 'vintage Pokémon cards' using the PRODUCT vertical, return up to 50 results, and also pull seller data for usernames 'cardking' and 'pokevault' including their live shows and first 24 reviews each.

## When to prefer this

Use this endpoint when you need structured, pay-per-use Whatnot data without managing your own scraping infrastructure. It is purpose-built for Whatnot (vs generic scrapers) and covers the platform's core content types: search, sellers, and categories. Prefer it over generic web scraping APIs when you specifically need Whatnot seller profiles, live show schedules, shop inventory, or search result pages — especially when you want to avoid paying for failed runs.

## Known failure modes

- Empty result set (0 items) — not charged, may indicate bad username or no matching content
- Invalid mode enum value — request rejected
- maxShows exceeds 24 or maxListings exceeds 20 — clamped or rejected
- Search URL not a valid Whatnot URL — no results returned
- Payment failure via x402 — request blocked before execution
- Whatnot anti-scraping measures triggered — partial or empty response
- Unknown category slug — empty category feed returned

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object with a count field and an items array; each item includes id, url, type, title, vertical, scrapedAt, sourceUrl, and searchQuery. The product field confirms 'whatnot'. Items cover products, sellers, shows, reviews, or categories depending on the mode used. Failed or empty runs return no charge.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "mode": {
   "enum": [
    "search",
    "seller",
    "category"
   ],
   "type": "string",
   "default": "search",
   "description": "Choose search results, seller data, or category activity."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Hard cap across all records in this run; 0 means no total cap."
  },
  "maxShows": {
   "type": "integer",
   "default": 15,
   "maximum": 24,
   "minimum": 1,
   "description": "Maximum shows per seller or selected category, up to the first rendered batch."
  },
  "vertical": {
   "enum": [
    "PRODUCT",
    "LIVESTREAM",
    "USER",
    "CATEGORY",
    "UNIVERSAL"
   ],
   "type": "string",
   "default": "PRODUCT",
   "description": "Content type for search terms. Search URLs use their own vertical."
  },
  "usernames": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Public seller usernames for seller mode, without needing a login."
  },
  "maxReviews": {
   "type": "integer",
   "default": 24,
   "maximum": 24,
   "minimum": 1,
   "description": "Maximum buyer reviews per seller, up to the first 24 public reviews."
  },
  "searchUrls": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Optional Whatnot search URLs; each URL uses its own query and vertical."
  },
  "includeShop": {
   "type": "boolean",
   "default": false,
   "description": "Return the first available listings in each seller shop."
  },
  "maxListings": {
   "type": "integer",
   "default": 20,
   "maximum": 20,
   "minimum": 1,
   "description": "Maximum shop listings per seller, up to the first 20 public listings."
  },
  "categoryView": {
   "enum": [
    "list",
    "trending",
    "deep-dive"
   ],
   "type": "string",
   "default": "list",
   "description": "List categories, sort the first page by viewer count, or inspect selected category feeds."
  },
  "includeShows": {
   "type": "boolean",
   "default": true,
   "description": "Return public live and scheduled show records for each seller."
  },
  "includeTypes": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Optional result type filter. Empty includes every returned type."
  },
  "categorySlugs": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Category path slugs for deep-dive view, such as entertainment_cards."
  },
  "maxCategories": {
   "type": 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "type": null,
    "title": null,
    "vertical": null,
    "scrapedAt": null,
    "sourceUrl": null,
    "searchQuery": null
   }
  ],
  "product": "whatnot"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/whatnot-scraper-api-x402-42e43182/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
