Whatnot live shows by category
The live and upcoming Whatnot shows of a category, as on its category page: title, status, start time, viewers, watchlist count, categories, tags, thumbnail and the seller (username, image, premier shop, badges), the page's highlighted sections, the category's filter facets with counts (sub-categories, show format, tags, seller rating, shipped from) and sort names. The first page of the category (about 24 shows); has_more says whether the site has more. status and sort work on the shows the page lists; when given the answer has applied_filters.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
category | string | Category slug (the part after /category/ in a whatnot.com link), e.g. pokemon_cards, sports_cards, sneakers, trading_card_games, comics, coins_and_money. Example: pokemon_cards |
status | live | upcoming | Only live shows or only upcoming ones (applied to the shows listed, the sections included). |
sort | recommended | viewers | start_time | Order of the shows listed: recommended (the site's order, default), viewers (most first) or start_time (soonest first). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/whatnot/v1/live?category=pokemon_cards" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/whatnot/v1/live",
params={"category": "pokemon_cards"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/whatnot/v1/live");
url.searchParams.set("category", "pokemon_cards");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).