{
  "openapi": "3.0.1",
  "info": {
    "title": "Whatnot Marketplace Scraper & Monitor",
    "description": "Search public Whatnot listings, sellers, categories and shows, inspect listing details, or track reliable marketplace changes with stable IDs and explicit coverage.",
    "version": "0.3",
    "x-build-id": "uVVevMh8XkyJxN9cu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/luminar~whatnot-marketplace-scraper-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-luminar-whatnot-marketplace-scraper-monitor",
        "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/luminar~whatnot-marketplace-scraper-monitor/runs": {
      "post": {
        "operationId": "runs-sync-luminar-whatnot-marketplace-scraper-monitor",
        "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/luminar~whatnot-marketplace-scraper-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-luminar-whatnot-marketplace-scraper-monitor",
        "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": [
          "workflow"
        ],
        "properties": {
          "workflow": {
            "title": "What do you want to collect?",
            "enum": [
              "search",
              "seller",
              "category",
              "listing",
              "monitor"
            ],
            "type": "string",
            "description": "Search finds public marketplace records; Seller reads public profiles and shop/show links; Category reads public category activity; Listing opens exact public listings; Monitor compares repeat runs safely.",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search keywords",
            "maxItems": 4,
            "type": "array",
            "description": "One or more marketplace searches, for example pokemon, vintage comics, or sneakers. Used by Search and search-based Monitor.",
            "items": {
              "type": "string"
            },
            "default": [
              "pokemon"
            ]
          },
          "searchUrls": {
            "title": "Whatnot search URLs",
            "maxItems": 4,
            "type": "array",
            "description": "Optional full public Whatnot search URLs. URL filters and vertical are preserved.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "vertical": {
            "title": "Search result type",
            "enum": [
              "PRODUCT",
              "LIVESTREAM",
              "USER",
              "CATEGORY",
              "UNIVERSAL"
            ],
            "type": "string",
            "description": "Choose which public Whatnot result type a keyword search should return.",
            "default": "PRODUCT"
          },
          "sellerUsernames": {
            "title": "Seller usernames",
            "maxItems": 4,
            "type": "array",
            "description": "Public Whatnot handles for Seller or seller-based Monitor. Leading @ is accepted.",
            "items": {
              "type": "string"
            }
          },
          "categoryUrls": {
            "title": "Category URLs",
            "maxItems": 4,
            "type": "array",
            "description": "Public Whatnot tag or category URLs, for example a Pokémon Cards category page.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingUrls": {
            "title": "Listing URLs",
            "maxItems": 4,
            "type": "array",
            "description": "Exact public Whatnot listing URLs for detail collection or exact-listing Monitor.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "includeShop": {
            "title": "Include seller shop listings",
            "type": "boolean",
            "description": "Include public listing rows visible on Seller pages.",
            "default": true
          },
          "includeShows": {
            "title": "Include public shows",
            "type": "boolean",
            "description": "Include live or upcoming public show rows visible on Seller and Category pages.",
            "default": true
          },
          "includeCategorySellers": {
            "title": "Include public category sellers",
            "type": "boolean",
            "description": "Include public seller rows associated with shows on the selected category page. No unsupported rank is inferred.",
            "default": true
          },
          "detailLevel": {
            "title": "Listing detail level",
            "enum": [
              "core",
              "detailed"
            ],
            "type": "string",
            "description": "Detailed is available for Product search and Exact listing workflows, with at most 25 result rows per run. It can add description, quantity, seller link, images and source creation date where Whatnot publishes them.",
            "default": "core"
          },
          "monitorType": {
            "title": "Monitor target type",
            "enum": [
              "search",
              "seller",
              "category",
              "listing"
            ],
            "type": "string",
            "description": "Used only by Track changes. Choose which target fields define the baseline.",
            "default": "search"
          },
          "firstRunBehavior": {
            "title": "First monitoring run",
            "enum": [
              "seed_only",
              "emit_current_as_new"
            ],
            "type": "string",
            "description": "Seed-only avoids a first-run change flood. Emit-current returns all first observations as paid NEW events.",
            "default": "seed_only"
          },
          "stateNamespace": {
            "title": "Monitoring scope name",
            "pattern": "^[A-Za-z0-9._~-]{1,64}$",
            "type": "string",
            "description": "Separates independent baselines. Keep the same name and exact input for repeat runs.",
            "default": "default"
          },
          "maxResults": {
            "title": "Maximum result rows",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Hard cap across all targets. Use another Task when you need a separate additional scope.",
            "default": 100
          },
          "maxResultsPerTarget": {
            "title": "Maximum rows per target",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Stops one large query, seller or category from consuming the whole run.",
            "default": 100
          },
          "maxScrollRounds": {
            "title": "Maximum loading rounds",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Bounds infinite-scroll collection. Reaching this cap produces CAPPED coverage.",
            "default": 12
          },
          "maxBuyerChargeUsd": {
            "title": "Maximum charge for this run",
            "minimum": 0.01,
            "type": "number",
            "description": "The Actor refuses to start when the active event-price worst case exceeds this amount.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}