{
  "openapi": "3.0.1",
  "info": {
    "title": "Whatnot Search Scraper",
    "description": "Scrape Whatnot.com search results, unofficial API. Extract listings, livestreams, products, and users.",
    "version": "0.2",
    "x-build-id": "gC8j8AooxRhioddGx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/epicscrapers~whatnot-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-epicscrapers-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/epicscrapers~whatnot-scraper/runs": {
      "post": {
        "operationId": "runs-sync-epicscrapers-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/epicscrapers~whatnot-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-epicscrapers-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": [
          "query"
        ],
        "properties": {
          "query": {
            "title": "Search Query",
            "type": "string",
            "description": "The search term to query on Whatnot.com. This can be any keyword, product name, username, or category you want to search for. Examples: 'pokemon cards', 'funko pop', 'mtg', '@username'. The Actor will search across all available content types unless filtered by the vertical field.",
            "default": "pokemon"
          },
          "vertical": {
            "title": "Search Vertical",
            "enum": [
              "UNIVERSAL",
              "LIVESTREAM",
              "PRODUCT",
              "USER",
              "CATEGORY"
            ],
            "type": "string",
            "description": "Filter search results to specific content types. UNIVERSAL searches across all types. Use LIVESTREAM for active streams, PRODUCT for individual items, USER for seller profiles, or CATEGORY for product categories. This works in conjunction with the include* fields to further filter which types are extracted.",
            "default": "UNIVERSAL"
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of results to return across all content types. Set to 0 for unlimited results (scrapes until all pages are exhausted). The Actor paginates automatically, fetching 24 results per page. Use this to limit runtime and data volume, especially for broad searches.",
            "default": 100
          },
          "cookies": {
            "title": "Cookies (Optional)",
            "type": "string",
            "description": "Browser cookies from an authenticated Whatnot.com session. Required for accessing personalized results, following status, or content that requires login. To get cookies: 1) Log into Whatnot.com in Chrome/Firefox, 2) Open Dev Tools (F12), 3) Go to Network tab, 4) Reload page, 5) Find any request to whatnot.com, 6) Copy the 'Cookie' header value. Marked as secret to prevent accidental exposure."
          },
          "includeListings": {
            "title": "Include Listings",
            "type": "boolean",
            "description": "Whether to extract individual item listings (buy-it-now or auction items). Listings include price, seller info, images, and status. Disable if you only want livestreams, products, or users. Works with vertical filtering: if vertical=PRODUCT but includeListings=false, no listings will be extracted.",
            "default": true
          },
          "includeLivestreams": {
            "title": "Include Livestreams",
            "type": "boolean",
            "description": "Whether to extract active livestreams. Livestreams include viewer counts, streamer info, tags, and status. Disable if you only want static listings or products. Works with vertical filtering: if vertical=LIVESTREAM but includeLivestreams=false, no livestreams will be extracted.",
            "default": true
          },
          "includeProducts": {
            "title": "Include Products",
            "type": "boolean",
            "description": "Whether to extract product catalog entries (distinct from listings). Products represent items in Whatnot's catalog with aggregated data like last sale price and number of active listings. Disable if you only want individual listings or livestreams.",
            "default": true
          },
          "includeUsers": {
            "title": "Include Users",
            "type": "boolean",
            "description": "Whether to extract user/seller profiles. Users include follower counts, seller ratings, and live status. Requires cookies for accurate following/follower status. Disable if you only want item data.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings to avoid IP blocking and rate limits. Uses Apify Proxy by default with automatic rotation. For residential or datacenter proxies, configure groups and country selection here. Required for large-scale scraping to maintain reliability.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}