{
  "openapi": "3.0.1",
  "info": {
    "title": "NAY.sk Scraper: Prices, Stock, EAN & Filters (Slovakia)",
    "description": "Scrape NAY.sk (Slovak electronics shop, formerly Datart SK) by category, search, product code, EAN or URL: EUR prices, 30-day low, discount codes, stock per store, EAN, parameters. Website filters, monitoring. Unofficial.",
    "version": "0.0",
    "x-build-id": "J4qVIIVum9gHZ3TCU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tsutseisoftware~nay-sk-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tsutseisoftware-nay-sk-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~nay-sk-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tsutseisoftware-nay-sk-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~nay-sk-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tsutseisoftware-nay-sk-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, sale, search or product URLs",
            "type": "array",
            "description": "NAY.sk URLs: a category (e.g. https://www.nay.sk/televizory), a category overview (https://www.nay.sk/tv-foto-audio-video, its categories are read one after another), a brand page (https://www.nay.sk/samsung), a sale (https://www.nay.sk/vypredaj-poslednych-kusov), search results (https://www.nay.sk/vyhladavanie?q=lg+oled) or a product (incl. bazaar products /bazar/…). Tip: set filters and sorting on the website and paste the URL (…/filter/…); the actor keeps them. ?page=N starts at that page.",
            "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, in its order (e.g. \"lg oled\", \"iphone 17\"). Up to 10 terms per run, one at a time; \"Max pages per search\" limits each.",
            "items": {
              "type": "string"
            }
          },
          "productCodes": {
            "title": "Product codes",
            "type": "array",
            "description": "NAY product codes (the \"data-match\" code, the end of the id field, e.g. LGGOLED55C66; mostly the same as on Datart.cz). Each is looked up with the website's search; only an exact code match is returned.",
            "items": {
              "type": "string"
            }
          },
          "eans": {
            "title": "EANs",
            "type": "array",
            "description": "EAN barcodes (check digit verified). The website's search finds the product and the product page confirms the EAN (one product page per EAN, so details are included). Up to 500 codes and EANs per run.",
            "items": {
              "type": "string"
            }
          },
          "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, or all EANs). 0 = no limit.",
            "default": 0
          },
          "includeDetails": {
            "title": "Add product page details",
            "type": "boolean",
            "description": "Reads each product page (one request per product, only its top part): EAN, all technical parameters, description, documents (energy label sheet, manuals), energy class, warranty, discount code and its price (\"Cena s kódom\"), promotion end. Turned on automatically by filters that need it.",
            "default": false
          },
          "descriptionMaxLength": {
            "title": "Description length",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum characters of the description (with details). 0 = the whole text.",
            "default": 1000
          },
          "includeStoreAvailability": {
            "title": "Add stock per store",
            "type": "boolean",
            "description": "Stock in each NAY store as the website's \"where to pick it up\" window shows it (pieces, unpacked pieces, pickup time, delivery to the store) and the home delivery options with dates and prices. One extra request per product.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "default",
              "recommended",
              "cheapest",
              "mostExpensive",
              "bestselling",
              "biggestDiscount"
            ],
            "type": "string",
            "description": "The website's sorting. \"Default\" keeps the sort of the URL (otherwise the website's \"Odporúčame\"; relevance for searches).",
            "default": "default"
          },
          "brands": {
            "title": "Only these brands",
            "type": "array",
            "description": "Brands as in the website's \"Značky\" filter, e.g. Samsung, LG.",
            "items": {
              "type": "string"
            }
          },
          "excludeBrands": {
            "title": "Exclude brands",
            "type": "array",
            "description": "Never these brands (the website's brand filter with all other brands).",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Min price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price incl. VAT (the website's price filter, checked again by the actor with cents)."
          },
          "maxPrice": {
            "title": "Max price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price incl. VAT (the website's price filter, checked again by the actor with cents)."
          },
          "productCondition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "bazaar"
            ],
            "type": "string",
            "description": "The website's \"Stav tovaru\": new products or bazaar offers (second-hand, opened, with defects).",
            "default": "any"
          },
          "bazaarStates": {
            "title": "Bazaar state",
            "type": "array",
            "description": "The website's \"Bazár - stav tovaru\" (any of the chosen).",
            "items": {
              "type": "string",
              "enum": [
                "unpacked",
                "likeNew",
                "cosmeticDefect",
                "minorDamage"
              ],
              "enumTitles": [
                "Unpacked (Rozbalené)",
                "Like new (Zánovné)",
                "Cosmetic defect (S kozmetickou chybou)",
                "Minor damage (S miernym poškodením)"
              ]
            }
          },
          "onlyInStock": {
            "title": "Only products in stock",
            "type": "boolean",
            "description": "The website's \"Ihneď k odoslaniu\" filter; the actor also drops products whose availability is not \"in stock\".",
            "default": false
          },
          "availableInStores": {
            "title": "In stock in these stores",
            "type": "array",
            "description": "The website's \"Dostupnosť na predajni\" filter, e.g. \"Bratislava - Aupark\", \"Košice\", \"Žilina\"; part of the name is enough (several stores = any of them).",
            "items": {
              "type": "string"
            }
          },
          "parameterFilters": {
            "title": "Parameter filters",
            "type": "object",
            "description": "The listing's parameter filters by name as the filter panel shows them, e.g. {\"Technológia displeja\": [\"OLED\"], \"Uhlopriečka obrazovky\": [\"55\\\" (139 cm)\"], \"Šírka vrátane stojana\": {\"min\": 100, \"max\": 125}}. Unknown names or values are reported in the log with the options."
          },
          "onlyDiscounted": {
            "title": "Only discounted products",
            "type": "boolean",
            "description": "Only products whose price is below the lowest price of the last 30 days.",
            "default": false
          },
          "minDiscountPercent": {
            "title": "Min discount (%)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products with at least this discount against the 30-day low."
          },
          "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"
            }
          },
          "minRating": {
            "title": "Min rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only products rated at least this (0-5)."
          },
          "minReviewCount": {
            "title": "Min number of reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Only products with at least this many reviews."
          },
          "labels": {
            "title": "Only with labels",
            "type": "array",
            "description": "Only products with one of these labels, e.g. \"doprava zadarmo\", \"+DARČEK\".",
            "items": {
              "type": "string"
            }
          },
          "excludeRefurbished": {
            "title": "Exclude bazaar products",
            "type": "boolean",
            "description": "Drops second-hand and opened (\"bazár\") offers (same as Condition: new only).",
            "default": false
          },
          "onlyWithEan": {
            "title": "Only with EAN",
            "type": "boolean",
            "description": "Only products with an EAN (turns on product page details).",
            "default": false
          },
          "energyClasses": {
            "title": "Energy classes",
            "type": "array",
            "description": "Only these energy classes (turns on product page details).",
            "items": {
              "type": "string",
              "enum": [
                "A+++",
                "A++",
                "A+",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
              ]
            }
          },
          "minWarrantyMonths": {
            "title": "Min warranty (months)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products with at least this warranty (turns on product page details)."
          },
          "onlyWithCoupon": {
            "title": "Only with a discount code",
            "type": "boolean",
            "description": "Only products whose page shows a discount code (\"Cena s kódom\"; turns on product page 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, availability, 30-day low or discount changed since the previous run with the same monitoring key. Ideal for scheduled runs (sledovanie cien).",
            "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 NAY.sk about 3x faster: at most 120 requests per minute and 4 at a time instead of 40 per minute and 2 at a time. It stays polite: the moment the website answers \"too many requests\", \"service unavailable\", \"forbidden\", shows a challenge or slows down, the run switches back to the normal speed for the rest of the run; it waits when the website asks it to wait and never changes IP address to get around a limit. Extra charge \"Fast mode\" ($0.01 per 1 000 products, see the Pricing tab) only for products saved while the fast speed was on.",
            "default": false
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute (normal speed)",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "All requests together (pages, product pages, stock per store). At most 60.",
            "default": 40
          },
          "maxPagesPerCategory": {
            "title": "Max pages per category",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Listing pages (22 products each) read per category, brand or sale URL (and per category of an overview).",
            "default": 50
          },
          "maxSearchPages": {
            "title": "Max pages per search",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Result pages (24 products each) read per search term. The website's search also lists loosely matching products further down.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "NAY.sk answers data-center IP addresses (Apify's own and Apify datacenter proxy) with a JavaScript challenge, so the default is Apify residential proxy in Slovakia (included in the price).",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "SK"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}