{
  "openapi": "3.0.1",
  "info": {
    "title": "Skroutz Scraper: Prices, Shop Offers & Price History",
    "description": "Scrape Skroutz products from Greece, Cyprus, Bulgaria, Romania, Germany and Malta in English, Greek, Bulgarian, Romanian or German. Paste any category, brand, shop or search URL, or search by keyword, and get prices, ratings and specs, plus every shop's offer and price history.",
    "version": "0.1",
    "x-build-id": "MtUjfvMn73EOAG6Jn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fayoussef~skroutz-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fayoussef-skroutz-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/fayoussef~skroutz-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fayoussef-skroutz-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/fayoussef~skroutz-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fayoussef-skroutz-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": {
          "start_urls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Skroutz pages to scrape, from any Skroutz country site: skroutz.gr, skroutz.cy, skroutz.bg, skroutz.ro, skroutz.de or skroutz.mt. Paste a category, brand, filtered list, shop or search results URL and the Actor goes through its pages, or a single product URL for just that product. Set filters and sorting on the site first, then copy the address bar. Start URLs always take priority: if you add any, the 'Search by keyword' section below is ignored. To search by keyword instead, remove every row here with the X button.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "max_items": {
            "title": "Maximum products",
            "minimum": 1,
            "type": "integer",
            "description": "Stop once this many products have been collected in total, across all Start URLs and searches. Leave empty to collect every product they return, which on a large category can be tens of thousands."
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "el",
              "bg",
              "ro",
              "de",
              "default"
            ],
            "type": "string",
            "description": "Language of product names, specs, categories and delivery labels. English works on every Skroutz site. Greek works on skroutz.gr, skroutz.cy and skroutz.de. Bulgarian, Romanian and German work on skroutz.gr and on their own country site. If a site does not offer the language you pick, that site's own language is used and the run log says so.",
            "default": "en"
          },
          "include_shop_offers": {
            "title": "Include every shop's offer",
            "type": "boolean",
            "description": "Also collect the list of shops selling each product: shop name, price, shop rating, stock, delivery and shipping cost, plus the number of shops and the lowest and highest offer. Adds one request per product and is billed as a separate event.",
            "default": false
          },
          "include_price_history": {
            "title": "Include price history",
            "type": "boolean",
            "description": "Also collect each product's lowest-price history as Skroutz charts it: the lowest price and the shop offering it for every day Skroutz has on record, plus the all-time low and the lowest price in the last 30 and 90 days. Adds one request per product and is billed as a separate event.",
            "default": false
          },
          "search_terms": {
            "title": "Search terms",
            "type": "array",
            "description": "Products to search for, exactly as you would type them in the Skroutz search box, for example 'iphone 17 pro' or 'πλυντήριο ρούχων'. Any language works. Add several to run them all.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Country sites",
            "type": "array",
            "description": "Which Skroutz country sites to search. Every search term runs on every site you pick, so you can compare the same product across countries. Prices are in euro everywhere except Romania, which uses lei.",
            "items": {
              "type": "string",
              "enum": [
                "gr",
                "cy",
                "bg",
                "ro",
                "de",
                "mt"
              ],
              "enumTitles": [
                "Greece (skroutz.gr)",
                "Cyprus (skroutz.cy)",
                "Bulgaria (skroutz.bg)",
                "Romania (skroutz.ro)",
                "Germany (skroutz.de)",
                "Malta (skroutz.mt)"
              ]
            },
            "default": [
              "gr"
            ]
          },
          "sort_by": {
            "title": "Sort by",
            "enum": [
              "recommended",
              "price_asc",
              "price_desc",
              "newest",
              "rating"
            ],
            "type": "string",
            "description": "How Skroutz should order the search results before they are collected.",
            "default": "recommended"
          },
          "price_min": {
            "title": "Price from",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to include, in the site's own currency."
          },
          "price_max": {
            "title": "Price to",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to include, in the site's own currency."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}