{
  "openapi": "3.0.1",
  "info": {
    "title": "Stradivarius Product Scraper — Prices, Sizes & Stock",
    "description": "Scrape Stradivarius into a clean 58-column dataset: price, discount, currency, colours, images, per-SKU sizes, stock and GTIN barcodes, across 200+ country stores. Sweep the catalogue, one category, the sitemap, or paste product URLs. No account or proxy needed.",
    "version": "1.0",
    "x-build-id": "KIf6DBdgWTGbkBUcD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sian.agency~stradivarius-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sian.agency-stradivarius-product-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/sian.agency~stradivarius-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sian.agency-stradivarius-product-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/sian.agency~stradivarius-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sian.agency-stradivarius-product-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": {
          "mode": {
            "title": "🎛️ Run Mode",
            "enum": [
              "overview",
              "detail"
            ],
            "type": "string",
            "description": "**Overview** walks the category tree (and optionally the sitemap) and returns every product it finds.\n\n**Detail** takes the product URLs you paste below and returns one full record each. Detail mode needs at least one URL or it stops immediately.",
            "default": "overview"
          },
          "country": {
            "title": "🌍 Market",
            "enum": [
              "AD",
              "AE",
              "AG",
              "AI",
              "AL",
              "AM",
              "AO",
              "AR",
              "AS",
              "AT",
              "AU",
              "AW",
              "AX",
              "AZ",
              "BA",
              "BB",
              "BD",
              "BE",
              "BF",
              "BG",
              "BH",
              "BJ",
              "BL",
              "BM",
              "BN",
              "BO",
              "BQ",
              "BR",
              "BS",
              "BT",
              "BW",
              "BY",
              "BZ",
              "CA",
              "CC",
              "CG",
              "CH",
              "CI",
              "CK",
              "CL",
              "CM",
              "CO",
              "CR",
              "CV",
              "CW",
              "CX",
              "CY",
              "CZ",
              "DE",
              "DJ",
              "DK",
              "DM",
              "DO",
              "DZ",
              "EC",
              "EE",
              "EG",
              "ER",
              "ES",
              "ET",
              "FI",
              "FJ",
              "FM",
              "FO",
              "FR",
              "GA",
              "GB",
              "GD",
              "GE",
              "GF",
              "GG",
              "GH",
              "GL",
              "GM",
              "GP",
              "GQ",
              "GR",
              "GS",
              "GT",
              "GU",
              "GY",
              "HK",
              "HN",
              "HR",
              "HT",
              "HU",
              "IC",
              "ID",
              "IE",
              "IL",
              "IN",
              "IQ",
              "IS",
              "IT",
              "JE",
              "JM",
              "JO",
              "JP",
              "KE",
              "KG",
              "KH",
              "KI",
              "KM",
              "KN",
              "KR",
              "KW",
              "KY",
              "KZ",
              "LA",
              "LB",
              "LC",
              "LK",
              "LR",
              "LS",
              "LT",
              "LU",
              "LV",
              "MA",
              "MC",
              "ME",
              "MF",
              "MG",
              "MH",
              "MK",
              "ML",
              "MN",
              "MO",
              "MP",
              "MQ",
              "MR",
              "MS",
              "MT",
              "MU",
              "MV",
              "MW",
              "MX",
              "MY",
              "MZ",
              "NA",
              "NC",
              "NE",
              "NF",
              "NG",
              "NI",
              "NL",
              "NO",
              "NP",
              "NR",
              "NU",
              "NZ",
              "OM",
              "PA",
              "PE",
              "PF",
              "PG",
              "PH",
              "PK",
              "PL",
              "PM",
              "PR",
              "PT",
              "PW",
              "PY",
              "QA",
              "RE",
              "RO",
              "RS",
              "RW",
              "SA",
              "SB",
              "SC",
              "SE",
              "SG",
              "SH",
              "SI",
              "SK",
              "SL",
              "SM",
              "SN",
              "SR",
              "ST",
              "SV",
              "SX",
              "SZ",
              "TC",
              "TD",
              "TG",
              "TH",
              "TK",
              "TL",
              "TN",
              "TO",
              "TR",
              "TT",
              "TV",
              "TW",
              "TZ",
              "UA",
              "UG",
              "US",
              "UY",
              "UZ",
              "VA",
              "VC",
              "VE",
              "VG",
              "VI",
              "VN",
              "VU",
              "WF",
              "WS",
              "XK",
              "YT",
              "ZA",
              "ZM",
              "ZW"
            ],
            "type": "string",
            "description": "Two-letter store country, e.g. `DE`, `ES`, `FR`, `GB`, `JP`. Around 210 markets are open.\n\nPrices, names and stock are per market. The actor divides the raw minor units by the market divisor, so `price` is already in major units and `currency` tells you which.\n\nIf the market you pass is closed, the run stops and prints the codes that are open.",
            "default": "DE"
          },
          "language": {
            "title": "🗣️ Language",
            "enum": [
              "",
              "ar",
              "bg",
              "ca",
              "cs",
              "da",
              "de",
              "el",
              "en",
              "es",
              "et",
              "eu",
              "fi",
              "fr",
              "gl",
              "he",
              "hr",
              "hu",
              "id",
              "it",
              "kk",
              "lt",
              "lv",
              "nl",
              "no",
              "pl",
              "pt",
              "ro",
              "ru",
              "sk",
              "sl",
              "sq",
              "sr",
              "sv",
              "tr",
              "uk"
            ],
            "type": "string",
            "description": "Two-letter language for names and descriptions. Leave empty and the store serves its own default for the market you picked.\n\nAn unsupported code stops the run with the list the market does support.",
            "default": ""
          },
          "allCategories": {
            "title": "🗂️ Sweep All Categories",
            "type": "boolean",
            "description": "Walk every category in the tree. On by default so a bare run returns data.\n\n**This wins over the single category below.** Turn it off to scrape one category.\n\nCategories that are containers rather than product grids return nothing and are skipped, which is normal — the run summary counts them under `categoriesSkipped`.",
            "default": true
          },
          "category": {
            "title": "📂 Single Category",
            "type": "string",
            "description": "One category, by slug or numeric id. The slug is the last path segment of a category URL on the brand site.\n\nTurn off **Sweep All Categories** above or this field is ignored."
          },
          "fromSitemap": {
            "title": "🗺️ Also Crawl the Sitemap",
            "type": "boolean",
            "description": "After the categories, read the product sitemap and fetch everything the categories missed.\n\nThis is the expensive half of a full-catalogue run: sitemap products are fetched one at a time instead of a hundred per call, so those rows are charged as the \"Scraped product detail\" event at $0.0075 instead of $0.003 — 2.5× the category-sweep price.\n\nUse it when you want the complete catalogue rather than what merchandising currently surfaces.",
            "default": false
          },
          "maxItems": {
            "title": "🔢 Max Products",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many products. `0` means no cap — the run goes until the catalogue is exhausted.\n\nDuplicates are removed before the cap is counted, so the number you set is the number of distinct products you get.",
            "default": 100
          },
          "productUrls": {
            "title": "🔗 Product URLs or IDs",
            "uniqueItems": true,
            "type": "array",
            "description": "One product per line. A full Stradivarius product URL works, and so does the bare numeric product id.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "↕️ Sort",
            "enum": [
              "default",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "The grid returns pre-sorted id lists rather than accepting a sort parameter, so sorting is applied over the ids the category ships.",
            "default": "default"
          },
          "filters": {
            "title": "🎚️ Facet Filters",
            "uniqueItems": true,
            "type": "array",
            "description": "Facet filters as `GROUP=VALUE`, one per line. Values in the same group are OR-ed, different groups are AND-ed.\n\nShortcuts: `color=Gelb`, `size=M`, `category=...`, `discount=...`. Anything else is passed through as the facet group id, e.g. `colFilter=Gelb`.\n\nThe grid ships each facet value with its own product ids, so filtering is a set intersection rather than a query parameter. When a group or value does not exist in the category you picked, the run stops and prints the exact list that does.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "💶 Min Price",
            "minimum": 0,
            "type": "integer",
            "description": "Drop products cheaper than this, in major units of the market currency. Leave empty for no floor."
          },
          "maxPrice": {
            "title": "💶 Max Price",
            "minimum": 0,
            "type": "integer",
            "description": "Drop products dearer than this, in major units of the market currency. Leave empty for no ceiling."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}