{
  "openapi": "3.0.1",
  "info": {
    "title": "Ceneo Scraper — Polish Prices, Shop Offers & Specs",
    "description": "Scrape Ceneo.pl products by keyword, category or ID: lowest price in PLN, every shop offer with delivery and shop rating, full specs, manufacturer code, units bought, ratings, AI review summary and reviews. Price-change tracking. Pay per result.",
    "version": "0.0",
    "x-build-id": "GH7dLM1PBAALkQun5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unfenced-group~ceneo-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unfenced-group-ceneo-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/unfenced-group~ceneo-scraper/runs": {
      "post": {
        "operationId": "runs-sync-unfenced-group-ceneo-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/unfenced-group~ceneo-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-unfenced-group-ceneo-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": {
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Keywords to search on Ceneo.pl, in Polish or English (for example \"iphone 17\", \"ekspres do kawy\", \"lego\"). Each query is followed to the category result pages Ceneo sends it to.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Ceneo.pl pages to scrape: a category (https://www.ceneo.pl/Smartfony), a category search (https://www.ceneo.pl/Klocki_LEGO;szukaj-lego), a filtered listing (brand, price or feature filters) or a product page (https://www.ceneo.pl/157207959).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "productIds": {
            "title": "Product IDs",
            "type": "array",
            "description": "Ceneo product IDs, the number in a product URL (157207959 in https://www.ceneo.pl/157207959). Useful for monitoring a fixed list of products. Product IDs and product URLs always return the full product record, billed as a product with details.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum products",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many products across all queries, URLs and IDs. 0 means no limit.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort listings by",
            "enum": [
              "recommended",
              "popularity",
              "priceAsc",
              "priceDesc",
              "rating"
            ],
            "type": "string",
            "description": "Order of category and search listings. Does not apply to product IDs or product URLs.",
            "default": "recommended"
          },
          "minPrice": {
            "title": "Minimum price (PLN)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products whose lowest price is at least this many PLN. Applied through Ceneo's own price filter."
          },
          "maxPrice": {
            "title": "Maximum price (PLN)",
            "minimum": 0,
            "type": "integer",
            "description": "Only products whose lowest price is at most this many PLN. Applied through Ceneo's own price filter."
          },
          "skipSponsored": {
            "title": "Skip sponsored products",
            "type": "boolean",
            "description": "Leave out listing positions that shops or brands paid for. Sponsored rows are kept and flagged with isSponsored when this is off.",
            "default": false
          },
          "fetchDetails": {
            "title": "Fetch product details",
            "type": "boolean",
            "description": "Open each product page to add every shop offer (shop, price, delivery, shipping time, shop rating), the full specification table, category path, manufacturer code, description, all images, Ceneo's AI review summary and reviews. Billed as a product with details.",
            "default": false
          },
          "includeAllOffers": {
            "title": "Include all shop offers",
            "type": "boolean",
            "description": "With details on: load the complete offer list, not only the first 15 offers Ceneo shows on the product page. Costs one extra page load per product with many offers.",
            "default": true
          },
          "maxOffersPerProduct": {
            "title": "Maximum offers per product",
            "minimum": 0,
            "type": "integer",
            "description": "With details on: keep at most this many shop offers per product, in Ceneo's display order. 0 keeps all.",
            "default": 0
          },
          "maxReviewsPerProduct": {
            "title": "Maximum reviews per product",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "With details on: number of customer reviews to include per product, in Ceneo's default order (most helpful first). The product page carries 10; more are loaded 10 per page. 0 skips reviews.",
            "default": 10
          },
          "splitLargeListings": {
            "title": "Split large listings by price",
            "type": "boolean",
            "description": "Ceneo shows at most 50 pages (about 1,500 products) per listing. When you ask for more, the listing is split into price bands so every product can be reached.",
            "default": true
          },
          "onlyChanges": {
            "title": "Only new or changed products",
            "type": "boolean",
            "description": "Return only products that are new or whose lowest price changed since this actor last saw them. Use with scheduled runs for price monitoring.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}