{
  "openapi": "3.0.1",
  "info": {
    "title": "Wildberries Product Search Scraper",
    "description": "Search public Wildberries product listings by keyword. Returns ranked products with RUB prices, discounts, brand, supplier, rating, and reviews.",
    "version": "0.1",
    "x-build-id": "GIK88DrXasa7WtHPh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~wildberries-product-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-wildberries-product-search-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/khadinakbar~wildberries-product-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-wildberries-product-search-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/khadinakbar~wildberries-product-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-wildberries-product-search-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": [
          "searchQueries"
        ],
        "properties": {
          "searchQueries": {
            "title": "Search queries",
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "description": "Use this when you want to search Wildberries by product keyword, brand, or phrase. Pass up to 10 distinct queries, for example 'ноутбук' or 'wireless headphones'; the Actor deduplicates repeated products across queries. At least one non-empty query is required. This field searches public listings only and is not a category URL or product-ID input.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum products",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Use this when you need a strict overall cap on saved product records across all search queries. Each product saved to the dataset is one billable product-found event at $0.005, so this also bounds event charges before platform usage. Defaults to 50 and accepts 1 through 1,000. A smaller value is best for a quick price check; a larger value suits catalog research.",
            "default": 50
          },
          "maxPagesPerQuery": {
            "title": "Maximum pages per query",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Use this when you need to bound how far the Actor paginates each keyword search before moving to the next query. Wildberries does not guarantee a fixed page size, so this is a request-safety cap rather than a product cap. Defaults to 10 pages and accepts 1 through 50. If this cap is reached before the natural end of a search, the run succeeds with a PARTIAL outcome and warning.",
            "default": 10
          },
          "destination": {
            "title": "Wildberries destination ID",
            "type": "integer",
            "description": "Use this when you need product results for a specific Wildberries delivery destination. Defaults to -1257786, Wildberries' Moscow destination used by the built-in example. Change it only when you know the numeric Wildberries destination identifier for your target market. This affects the marketplace response and does not change the Actor's proxy country automatically.",
            "default": -1257786
          },
          "sortBy": {
            "title": "Sort products by",
            "enum": [
              "popular",
              "rate",
              "priceup",
              "pricedown",
              "newly",
              "benefit"
            ],
            "type": "string",
            "description": "Use this when Wildberries' public search ranking should be ordered differently. Choose popular for the marketplace default, rate for rating, priceup for low-to-high price, pricedown for high-to-low price, newly for newer items, or benefit for value-oriented ranking. Defaults to popular. Sorting changes the native search rank returned in searchRank; it does not filter products.",
            "default": "popular"
          },
          "minPriceRub": {
            "title": "Minimum price (RUB)",
            "minimum": 0,
            "type": "number",
            "description": "Use this when you only want products whose current public sale price is at or above a RUB threshold. For example, set 1000 to exclude products below 1,000 RUB. Leave it empty to keep all prices. This filter is applied after Wildberries returns public search results, so records without a price are excluded when a minimum is set."
          },
          "maxPriceRub": {
            "title": "Maximum price (RUB)",
            "minimum": 0,
            "type": "number",
            "description": "Use this when you only want products whose current public sale price is at or below a RUB threshold. For example, set 5000 to keep products priced at 5,000 RUB or less. Leave it empty to keep all prices. This post-search filter must be greater than or equal to minPriceRub when both fields are supplied."
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Use this when you only want public product listings at or above a rating threshold from 0 to 5. For example, set 4.5 to keep strongly rated products in a sourcing or competitor-research workflow. Leave it empty to keep products regardless of rating. Products without a rating are excluded only when this filter is set."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use this when you need to control the proxy route used for Wildberries' public search endpoint. Residential Apify Proxy in Russia is the default attempt because direct requests are frequently rate limited with HTTP 429. Leave the default unless you have a tested proxy configuration. This field configures network access only; it does not collect credentials or log proxy URLs.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "countryCode": "RU"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}