{
  "openapi": "3.0.1",
  "info": {
    "title": "RU Marketplace Search: Wildberries + Avito + Yandex Market",
    "description": "Search Wildberries and Yandex Market by keyword, and scan Avito by category, to get back a single unified product dataset: title, price, rating, reviews, seller, and stock status, tagged by marketplace. Built for cross-marketplace price comparison and catalog research.",
    "version": "0.6",
    "x-build-id": "2wQ5ctIoSkZPtimcW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/getascraper~ru-marketplace-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-getascraper-ru-marketplace-search",
        "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~ru-marketplace-search/runs": {
      "post": {
        "operationId": "runs-sync-getascraper-ru-marketplace-search",
        "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~ru-marketplace-search/run-sync": {
      "post": {
        "operationId": "run-sync-getascraper-ru-marketplace-search",
        "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",
        "properties": {
          "keywords": {
            "title": "Search keywords (Wildberries + Yandex Market)",
            "type": "array",
            "description": "Product keywords to search, in Russian or English (e.g. \"робот пылесос\", \"iphone 15\"). Each keyword is searched on Wildberries and Yandex Market (whichever you select below). Avito uses category URLs instead - see below.",
            "default": [
              "робот пылесос"
            ],
            "items": {
              "type": "string"
            }
          },
          "avitoCategoryUrls": {
            "title": "Avito category URLs",
            "type": "array",
            "description": "Avito category browse pages to scan (e.g. \"https://www.avito.ru/moskva/telefony\"). Avito does not support free-text keyword search over a stable connection, so this Actor scans real category listings instead of searching by keyword for this one marketplace - see AGENTS.md.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "marketplaces": {
            "title": "Marketplaces",
            "type": "array",
            "description": "Which marketplaces to search. Ozon is not offered (CAPTCHA-walled, out of scope).",
            "items": {
              "type": "string",
              "enum": [
                "wildberries",
                "yandex_market",
                "avito"
              ],
              "enumTitles": [
                "Wildberries",
                "Yandex Market",
                "Avito (category URLs only)"
              ]
            },
            "default": [
              "wildberries",
              "yandex_market",
              "avito"
            ]
          },
          "maxItemsPerMarketplace": {
            "title": "Max products per marketplace",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum products per marketplace for the whole run, counted across all keywords and categories combined. Set 20 and each marketplace returns at most 20 rows total, no matter how many keywords you search.",
            "default": 50
          },
          "region": {
            "title": "Wildberries warehouse region",
            "enum": [
              "MOSCOW",
              "KRASNODAR",
              "NOVOSIBIRSK",
              "EKATERINBURGO",
              "KAZAHSTAN",
              "ST_PETERSBURG"
            ],
            "type": "string",
            "description": "Regional warehouse used for Wildberries pricing/availability. Does not affect Yandex Market or Avito.",
            "default": "MOSCOW"
          },
          "debugLogging": {
            "title": "Verbose debug logs",
            "type": "boolean",
            "description": "Print extra per-keyword/category tracing to the run log.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode (only new or price-changed products)",
            "type": "boolean",
            "description": "Turn this on to track prices over time. The Actor remembers each product's last price under the monitor name below and, on later runs with the same name, returns only products that are new or whose price changed, each tagged with changeType, previousPrice, priceDelta and priceChangePct. Off by default: every matching product is returned. Wildberries rows carry no price today (its price API is blocked), so Wildberries products appear once as new and then stay quiet until a price source returns.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "A short name for this monitor's memory, for example 'robot-vacuum'. Re-use the same name across runs to compare prices against the previous run. Required when monitor mode is on. Different names keep separate memories.",
            "default": ""
          },
          "webhookUrl": {
            "title": "Price-change notification link (optional)",
            "type": "string",
            "description": "An https link that receives a POST with the new and price-changed products found on a monitor run. Slack and Discord incoming-webhook links get a ready-to-read message; any other link gets structured JSON. Used only when monitor mode is on. Leave empty for no notification.",
            "default": ""
          },
          "proxyConfiguration": {
            "title": "Avito proxy configuration",
            "type": "object",
            "description": "Proxy used only for the Avito leg. RU residential (the default) is required to clear Avito's anti-bot gate. Wildberries and Yandex Market manage their own proxy tiers internally.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}