{
  "openapi": "3.0.1",
  "info": {
    "title": "Yoox Scraper — Outlet Prices With Supplier RRP",
    "description": "Scrape yoox.com, YNAP's luxury outlet. Every product comes back with the supplier-stated RRP, its source and its date, next to the current outlet price and the markdown between them. Plus brand, sizes, stock, category, colour and images.",
    "version": "0.1",
    "x-build-id": "GRwidZDd6XFLENmdr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/studio-amba~yoox-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-studio-amba-yoox-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/studio-amba~yoox-scraper/runs": {
      "post": {
        "operationId": "runs-sync-studio-amba-yoox-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/studio-amba~yoox-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-studio-amba-yoox-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",
        "properties": {
          "searchQuery": {
            "title": "Search query",
            "type": "string",
            "description": "A single keyword search, e.g. 'gucci bag', 'alexander mcqueen', 'sneakers'. Leave empty to browse the whole catalogue for the selected market."
          },
          "searchQueries": {
            "title": "Search queries (multiple)",
            "uniqueItems": true,
            "type": "array",
            "description": "Run several keyword searches in one go. Takes precedence over the single Search query field. Results are de-duplicated on the Yoox product code.",
            "items": {
              "type": "string"
            }
          },
          "market": {
            "title": "Market",
            "enum": [
              "BE",
              "LU",
              "NL",
              "FR",
              "DE"
            ],
            "type": "string",
            "description": "Which Yoox market to read. Each market is a separate catalogue with its own assortment and ranking, not a currency switch. Prices are EUR in all five.",
            "default": "BE"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Maximum number of products to return across all queries. Yoox's index caps any single query at 20,000 retrievable results — narrow with brand, department or price filters to go beyond that.",
            "default": 100
          },
          "brand": {
            "title": "Brand",
            "type": "string",
            "description": "Filter by brand, in plain language ('gucci', 'prada', 'dolce&gabbana'). The actor resolves it against the index's own brand list, so you don't need Yoox's internal brand codes. Ignored if no brand matches."
          },
          "gender": {
            "title": "Gender",
            "enum": [
              "any",
              "Women",
              "Men"
            ],
            "type": "string",
            "description": "Restrict to the women's or men's catalogue. Matched on the product's own gender attribute rather than Yoox's department tags, because some brands carry no department tag at all. Unisex items are returned for both.",
            "default": "any"
          },
          "department": {
            "title": "Department",
            "type": "string",
            "description": "Yoox department code for a finer category filter, e.g. 'ShoesWomen', 'ClothingMen'. Read the exact codes off the 'departments' field of any scraped item. Note that department tagging is incomplete on some brands, so a department filter can return fewer items than you expect. Use the Gender field for gender, not a department."
          },
          "minPrice": {
            "title": "Min price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products whose current outlet price is at least this amount."
          },
          "maxPrice": {
            "title": "Max price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return products whose current outlet price is at most this amount."
          },
          "minDiscountPercent": {
            "title": "Min discount vs RRP (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Only return products discounted at least this much against the supplier-stated RRP (markdownPercentage). Applied after fetching, because Yoox's index does not allow numeric filtering on the markdown field."
          },
          "onlyPurchasable": {
            "title": "Only purchasable items",
            "type": "boolean",
            "description": "Skip products that are in the index but cannot currently be bought. Leave on unless you specifically want sold-out records.",
            "default": true
          },
          "algoliaAppId": {
            "title": "Algolia application ID (override)",
            "type": "string",
            "description": "Only needed if Yoox changes its public search application. Read props.pageProps.algolia.app from the __NEXT_DATA__ script tag on any Yoox catalogue page."
          },
          "algoliaApiKey": {
            "title": "Algolia search key (override)",
            "type": "string",
            "description": "Only needed if Yoox rotates its public search-only key and the run fails with HTTP 401. Read props.pageProps.algolia.key from the __NEXT_DATA__ script tag on any Yoox catalogue page."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Deliberately ignored. Yoox's catalogue index is queried directly and residential exits are counter-productive here (they get 403 from Yoox and cost money for nothing), so the default is proxy off. Kept for Apify Store compatibility."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}