{
  "openapi": "3.0.1",
  "info": {
    "title": "Alza.cz Scraper & Price Tracker (CZ, SK, HU, AT, DE)",
    "description": "Scrape Alza.cz, Alza.sk, .hu, .at and .de by category, brand, search, Alza code, MPN or product URL. Prices, crossed-out prices, discount codes, stock, stores and pickup, MPN, all parameters, rating distribution, complaint rate, reviews without names. Filters, price monitoring. Unofficial.",
    "version": "0.0",
    "x-build-id": "ducqDhHRFtcLu3Qgs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tsutseisoftware~alza-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tsutseisoftware-alza-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/tsutseisoftware~alza-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tsutseisoftware-alza-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/tsutseisoftware~alza-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tsutseisoftware-alza-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": {
          "startUrls": {
            "title": "Category, brand, search or product URLs",
            "type": "array",
            "description": "Alza URLs from alza.cz, alza.sk, alza.hu, alza.at or alza.de: a category (e.g. https://www.alza.cz/notebooky/18842920.htm), a category filtered by a brand or parameter (…/notebooky/apple/18842920-v1627.htm, …/notebooky/amd-ryzen-7/18842920-par65-106755006.htm), a sorted or promotion page (…/levne-notebooky/18842920.htm, …/18842920-e40.htm), a later page (…-p3.htm), a search (https://www.alza.cz/search.htm?exps=iphone) or a product (…-d13268819.htm). Filters chosen in the browser after '#' are not part of the address; use the filters below.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "Searched with the website's own search on the website of \"Country\" (e.g. \"iphone 17\", \"sluchátka sony\"). Alza opens the matching category for many terms. Up to 20 terms; \"Max pages per search\" limits each.",
            "items": {
              "type": "string"
            }
          },
          "productCodes": {
            "title": "Alza codes or product IDs",
            "type": "array",
            "description": "Alza order codes (\"Objednací kód\", e.g. NL253a1a; looked up with the website's search) or product IDs (the number after -d in the URL, e.g. 13268819; read directly). On the website of \"Country\".",
            "items": {
              "type": "string"
            }
          },
          "mpns": {
            "title": "MPNs (manufacturer part numbers)",
            "type": "array",
            "description": "Manufacturer part numbers (\"Kód výrobce\", e.g. MDHH4CZ/A). Looked up with the website's search; a product is returned only when its MPN matches exactly (spaces, dashes and slashes ignored). Alza publishes no EAN codes, so use MPNs to match products with other shops.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country (for search terms and codes)",
            "enum": [
              "CZ",
              "SK",
              "HU",
              "AT",
              "DE"
            ],
            "type": "string",
            "description": "Website for search terms, codes and MPNs. URLs are read on their own website.",
            "default": "CZ"
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of products saved (and charged) in total. 0 = no limit.",
            "default": 100
          },
          "maxItemsPerStartUrl": {
            "title": "Max products per URL",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of products from each start URL or search term (and from all codes and MPNs together). 0 = no limit.",
            "default": 0
          },
          "includeDetails": {
            "title": "Add product details",
            "type": "boolean",
            "description": "Reads each product's data (one small request per product, included in the price): MPN, brand, price without VAT, all parameters, all photos, warranty, stores with stock, fastest delivery, code validity, promotions and the full category path. Without it, rows have only what the listing shows (faster).",
            "default": true
          },
          "includeRatingStats": {
            "title": "Add rating summary",
            "type": "boolean",
            "description": "The product page's rating box: rating distribution (5 to 1 stars), text review count, how many bought it (\"1 000+\"), recommendation rate and the complaint rate (\"reklamovanost\"). One tiny extra request per product. Needs product details.",
            "default": true
          },
          "includeReviews": {
            "title": "Add reviews",
            "type": "boolean",
            "description": "Customer reviews (rating, date, text, pros and cons, variant, verified purchase, likes, shop response) without the reviewer's name or photo. One request per 10 reviews. Needs product details.",
            "default": false
          },
          "maxReviewsPerProduct": {
            "title": "Max reviews per product",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Newest reviews per product (with \"Add reviews\").",
            "default": 10
          },
          "includeDescription": {
            "title": "Add description",
            "type": "boolean",
            "description": "The full product description as plain text. One extra request per product (descriptions are large pages, so runs are slower). Needs product details.",
            "default": false
          },
          "pickupCity": {
            "title": "Pickup places near",
            "enum": [
              "Praha",
              "Brno",
              "Ostrava",
              "Plzeň",
              "Liberec",
              "Olomouc",
              "České Budějovice",
              "Hradec Králové",
              "Ústí nad Labem",
              "Pardubice",
              "Zlín",
              "Jihlava",
              "Karlovy Vary",
              "Bratislava",
              "Košice",
              "Žilina",
              "Banská Bystrica",
              "Nitra",
              "Prešov",
              "Trnava",
              "Budapest",
              "Wien",
              "Berlin",
              "München"
            ],
            "type": "string",
            "description": "Adds the delivery date to this town and the nearest Alza stores, AlzaBoxes and partner pickup points with when the product can be picked up there (as the product page's \"Dostupnost\" window shows it). One extra request per product. Needs product details. Only for products from the town's country."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "default",
              "bestselling",
              "cheapest",
              "mostExpensive",
              "rating"
            ],
            "type": "string",
            "description": "The website's sorting of a category (its \"Nejprodávanější\", \"Nejlevnější\", \"Nejdražší\" and \"Dle hodnocení\" pages). \"Default\" keeps the order of the URL. Searches and categories filtered by a brand have no sorted pages and keep the website's order.",
            "default": "default"
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Only these brands (e.g. Apple, Lenovo). In a category the actor reads the website's brand pages (…/notebooky/apple/18842920-v1627.htm); elsewhere it checks the brand of each product.",
            "items": {
              "type": "string"
            }
          },
          "excludeBrands": {
            "title": "Exclude brands",
            "type": "array",
            "description": "Never these brands (checked by the actor on each product; case and diacritics ignored).",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "number",
            "description": "Lowest price incl. VAT, in the website's currency."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "number",
            "description": "Highest price incl. VAT, in the website's currency."
          },
          "onlyInStock": {
            "title": "Only in stock",
            "type": "boolean",
            "description": "Only products in stock now (\"Skladem\", in Alza's warehouse or a store; not \"u dodavatele\").",
            "default": false
          },
          "availabilities": {
            "title": "Availability",
            "type": "array",
            "description": "Only these availabilities.",
            "items": {
              "type": "string",
              "enum": [
                "in_stock",
                "in_store_only",
                "at_supplier",
                "in_transit",
                "on_order",
                "expected",
                "preorder",
                "unavailable",
                "out_of_stock",
                "unknown"
              ],
              "enumTitles": [
                "In stock",
                "In a store only",
                "At the supplier",
                "On the way to the warehouse (\"Na cestě\")",
                "On order",
                "Expected (date)",
                "Pre-order",
                "Currently unavailable",
                "Sold out",
                "Unknown"
              ]
            }
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Only these conditions. Unpacked, like-new and used (bazaar) goods are separate products on Alza.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "unpacked",
                "like_new",
                "used"
              ],
              "enumTitles": [
                "New",
                "Unpacked (\"Rozbaleno\")",
                "Like new (\"Zánovní\")",
                "Used / bazaar (\"Použité\")"
              ]
            }
          },
          "onlyDiscounted": {
            "title": "Only discounted",
            "type": "boolean",
            "description": "Only products with a crossed-out price, a discount or savings.",
            "default": false
          },
          "minDiscountPercent": {
            "title": "Min discount (%)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products with at least this discount."
          },
          "onlyWithCoupon": {
            "title": "Only with a discount code",
            "type": "boolean",
            "description": "Only products offered with a discount code (\"Koupit s kódem\").",
            "default": false
          },
          "minRating": {
            "title": "Min rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only products rated at least this (0–5)."
          },
          "minRatingCount": {
            "title": "Min number of ratings",
            "minimum": 0,
            "type": "integer",
            "description": "Only products with at least this many ratings."
          },
          "nameKeywords": {
            "title": "Name must contain",
            "type": "array",
            "description": "Any of these words (case and diacritics ignored).",
            "items": {
              "type": "string"
            }
          },
          "excludeNameKeywords": {
            "title": "Name must not contain",
            "type": "array",
            "description": "None of these words (case and diacritics ignored).",
            "items": {
              "type": "string"
            }
          },
          "excludeSponsored": {
            "title": "Exclude sponsored",
            "type": "boolean",
            "description": "Drops sponsored positions (\"Sponzorováno\") at the top of listings.",
            "default": false
          },
          "onlyWithMpn": {
            "title": "Only with MPN",
            "type": "boolean",
            "description": "Only products with a manufacturer part number (needs product details).",
            "default": false
          },
          "onlyNewOrChanged": {
            "title": "Monitoring: only new or changed products",
            "type": "boolean",
            "description": "Saves (and charges) only products that are new or whose price, crossed-out price, price with code or availability changed since the previous run with the same monitoring key. Product details are read only for those.",
            "default": false
          },
          "monitoringKey": {
            "title": "Monitoring key",
            "type": "string",
            "description": "Name of the saved state. Use a different key for each tracked list.",
            "default": "default"
          },
          "onlyPriceChanges": {
            "title": "Monitoring: only price changes",
            "type": "boolean",
            "description": "Of the changed products, only those whose price changed (new products are still saved).",
            "default": false
          },
          "minPriceDropPercent": {
            "title": "Monitoring: min price drop (%)",
            "minimum": 0,
            "type": "number",
            "description": "Only products whose price fell by at least this many percent since the previous run."
          },
          "includeRemovedProducts": {
            "title": "Monitoring: include removed products",
            "type": "boolean",
            "description": "Adds rows with changeType \"removed\" for products that disappeared since the previous run (only after a run that read everything) and \"reappeared\" when they are back.",
            "default": false
          },
          "fastMode": {
            "title": "Fast mode (small extra charge)",
            "type": "boolean",
            "description": "Reads Alza about 4x faster: at most 120 requests per minute and 5 at a time instead of 30 per minute and 3 at a time. It stays polite: the moment the website answers \"too many requests\", rejects a request or slows down, the rest of the run uses the normal speed. Costs $0.01 per 1,000 products saved in fast mode (the \"fast-mode\" event), nothing after the switch back.",
            "default": false
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute (normal speed)",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "All requests together (pages, product data, extras). At most 60.",
            "default": 30
          },
          "maxPagesPerCategory": {
            "title": "Max pages per category",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Listing pages (24 products each) read per category or brand URL.",
            "default": 50
          },
          "maxPagesPerSearch": {
            "title": "Max pages per search",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Result pages (24 products each) read per search term or search URL.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Alza answers requests from data centers (also Apify's) with a Cloudflare challenge, so the default is Apify residential proxy. With the default setting each website is read through IPs of its own country (alza.sk through Slovak IPs …). The residential proxy is included in the price.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "CZ"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}