{
  "openapi": "3.0.1",
  "info": {
    "title": "Whatnot Scraper: Live Shows, Products & Sellers",
    "description": "Get every Whatnot live show, product listing, and seller profile across 30+ categories. Every record includes price, condition, viewer count, seller rating, and lifetime sales. Works with Slack, Zapier, Google Sheets, Make. $1.50 per 1,000 records,",
    "version": "0.1",
    "x-build-id": "Ad1qpBWgtfDG9BhZ0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~whatnot-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-whatnot-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/getascraper~whatnot-scraper/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-whatnot-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/getascraper~whatnot-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-whatnot-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode",
          "proxyConfiguration"
        ],
        "properties": {
          "mode": {
            "title": "Pick a Mode",
            "enum": [
              "search",
              "seller",
              "category",
              "liveStreams"
            ],
            "type": "string",
            "description": "What kind of data do you want? Search looks up keywords across products, shows, sellers, and categories. Seller pulls one seller's profile, shows, and reviews. Category browses 30+ Whatnot categories. Live Streams shows what's streaming now (and what's coming up).",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search Keywords",
            "type": "array",
            "description": "Words or phrases to search for on Whatnot. Add up to 50. Each one is searched separately. Example: 'pokemon cards', 'jordan 1', 'funko pop'. Leave this empty if you're using Search URLs or another mode.",
            "default": []
          },
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Paste full Whatnot search URLs (one per line). Each URL's query, vertical, and sort are auto-detected, so you can mix different searches in one run. Example: 'https://www.whatnot.com/search?query=pokemon&searchVertical=PRODUCT'. The vertical and include* filters in the section below do NOT apply to URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "sellerUsernames": {
            "title": "Seller Usernames",
            "type": "array",
            "description": "The Whatnot usernames (the @-style handles) of the sellers you want to look up. Example: 'ah_sneakers'. Don't use their display name, use the handle shown in their profile URL. Leave this empty if you're not scraping a specific seller.",
            "default": []
          },
          "categories": {
            "title": "Whatnot Categories",
            "type": "array",
            "description": "Pick the categories you want to browse. Leave empty for all categories. Available: Trading Card Games, Entertainment Cards, Sports Cards, Sports Memorabilia, Sports & Outdoors, Anime & Manga, Comics, Video Games, Toys & Hobbies, Sneakers & Streetwear, Electronics, Coins & Money, Jewelry, Beauty, Women's Fashion, Men's Fashion, Bags & Accessories, Home & Garden, Antiques & Vintage Decor, Arts & Handmade, Baby & Kids, Pets, Food & Drink, Music, Books & Movies, Rocks & Crystals, Knives & Hunting, Wholesale & Deals, Estate Sales & Storage Units.",
            "default": []
          },
          "vertical": {
            "title": "What Type Of Results",
            "enum": [
              "UNIVERSAL",
              "PRODUCT",
              "LIVESTREAM",
              "USER",
              "CATEGORY"
            ],
            "type": "string",
            "description": "Filter results to a single type. Everything returns all types mixed together. Products For Sale returns only items listed for sale. Live Shows returns only live or upcoming streams. Seller Profiles returns only seller accounts. Categories returns only category pages. Only used in Search mode.",
            "default": "PRODUCT"
          },
          "buyingFormat": {
            "title": "Purchase Type",
            "enum": [
              "",
              "BUY_NOW",
              "ASYNC_AUCTION",
              "LIVE_AUCTION"
            ],
            "type": "string",
            "description": "Only show items in a specific format. Any Format keeps everything. Buy It Now is fixed-price listings. Async Auction ends at a set time. Live Auction ends while a show is streaming. Only used in Search mode.",
            "default": ""
          },
          "minPrice": {
            "title": "Lowest Price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip anything cheaper than this. Set to 0 to skip the filter. Only used in Search mode.",
            "default": 0
          },
          "maxPrice": {
            "title": "Highest Price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip anything more expensive than this. Set to 0 to skip the filter. Only used in Search mode.",
            "default": 0
          },
          "sortBy": {
            "title": "Sort Results By",
            "enum": [
              "VIEWER_COUNT",
              "NEWEST",
              "PRICE_ASC",
              "PRICE_DESC"
            ],
            "type": "string",
            "description": "How to order the results. Most Viewers First works best for live shows. Newest First for recent listings. Price: Low To High or High To Low for price-sorted listings.",
            "default": "NEWEST"
          },
          "showStatus": {
            "title": "Which Shows",
            "enum": [
              "live",
              "upcoming",
              "all"
            ],
            "type": "string",
            "description": "Pick which shows to get. Live Now returns only shows streaming right now. Upcoming returns shows scheduled to start later. All returns both. Only used in Live & Upcoming Shows mode.",
            "default": "live"
          },
          "includeListings": {
            "title": "Include Products For Sale",
            "type": "boolean",
            "description": "Include items that sellers have listed for sale. Turn off if you only want live shows and sellers. Only used in Search mode.",
            "default": true
          },
          "includeLivestreams": {
            "title": "Include Live Shows",
            "type": "boolean",
            "description": "Include live and upcoming shows in the results. Turn off if you only want products and sellers. Only used in Search mode.",
            "default": true
          },
          "includeSellers": {
            "title": "Include Seller Profiles",
            "type": "boolean",
            "description": "Include seller accounts in the results. Off by default since most people want products, not profiles. Only used in Search mode.",
            "default": false
          },
          "includeReviews": {
            "title": "Include Seller Reviews",
            "type": "boolean",
            "description": "Pull in each seller's recent reviews and star rating. Only used in Seller Profile mode.",
            "default": true
          },
          "maxReviews": {
            "title": "Max Reviews Per Seller",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "How many reviews to grab from each seller. Only matters if you turned on Include Seller Reviews. Default 50 is plenty for most uses.",
            "default": 50
          },
          "includeSubcategories": {
            "title": "Include Subcategories",
            "type": "boolean",
            "description": "Also return the subcategory tree under each parent category (for example, 'Basketball Cards' under 'Sports Cards'). Only used in Browse Categories mode.",
            "default": true
          },
          "includeSellerEnrichment": {
            "title": "Add Seller Info To Each Product",
            "type": "boolean",
            "description": "Look up each seller's rating, follower count, and total sales for every product. Makes results richer but costs more. Off by default.",
            "default": false
          },
          "maxSellerEnrichment": {
            "title": "Max Sellers To Look Up",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Limit how many sellers to look up in this run. Only matters if you turned on Add Seller Info above. Stops the run from looking up thousands of sellers by accident.",
            "default": 20
          },
          "maxItems": {
            "title": "Max Results",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "The most results you'll get back across all types (products, shows, sellers). Set to 0 for no limit. Higher numbers mean longer runs and higher cost.",
            "default": 100
          },
          "maxResultsPerQuery": {
            "title": "Max Results Per Keyword",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many results to pull per keyword or per seller. Lower this for faster runs when searching for popular terms.",
            "default": 100
          },
          "cookies": {
            "title": "Login Cookies (Optional)",
            "type": "string",
            "description": "OPTIONAL. If you have a Whatnot account, paste your login cookies here to get personalized data (your followed sellers, watchlist, higher rate limits). Most people should leave this blank. To find your cookies: log into Whatnot in your browser, press F12 to open Developer Tools, then copy the 'Cookie' value from any request.",
            "default": ""
          },
          "maxConcurrency": {
            "title": "Requests At The Same Time",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many requests the Actor runs in parallel. The default (5) is safe. Don't change this unless you're hitting errors.",
            "default": 5
          },
          "debugLogging": {
            "title": "Show Detailed Logs",
            "type": "boolean",
            "description": "Turn on to see exactly what the Actor is doing step by step. Useful if something goes wrong, but makes logs noisy. Off by default.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy Settings",
            "type": "object",
            "description": "Whatnot blocks automated traffic, so this Actor needs to use a residential proxy (real home internet connections, not data center IPs). The default uses Apify's residential proxy and works for most people. Only change this if you know what you're doing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}