{
  "openapi": "3.0.1",
  "info": {
    "title": "Allegro.pl Product Scraper — Prices, Sellers, Stock & Specs",
    "description": "Scrape Allegro.pl products by keyword, category, seller or offer URL — pure HTTP, no browser. Each row: price (+ original), seller rating, condition, parameters, images, Smart!/sponsored, offer count & recent-buyer sales-velocity. Deep mode adds rating+reviews, stock, GTIN, warranty. JSON/CSV",
    "version": "0.0",
    "x-build-id": "s8GZrqsTUhG8KwWfR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~allegro-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-allegro-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/memo23~allegro-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-allegro-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/memo23~allegro-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-allegro-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 Allegro.pl. Each keyword runs its own paginated crawl. Example: \"laptop gaming\", \"iphone 15\", \"lego technic\".",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "📎 Start URLs (optional)",
            "type": "array",
            "description": "Direct Allegro URLs — offer pages (allegro.pl/oferta/…), search/category pages (allegro.pl/listing?string=… or allegro.pl/kategoria/…) or seller storefronts (allegro.pl/uzytkownik/…). Listing/category/seller URLs are paginated; offer URLs return a single product. Runs in addition to search queries.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItemsPerQuery": {
            "title": "Max products per query / URL",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound of products to extract per search query or per listing URL. Allegro serves ~60 products/page and caps at 100 pages (~6000 max per query). Also capped by your plan and charge limit.",
            "default": 100
          },
          "minPrice": {
            "title": "Min price (PLN)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return offers priced at or above this value, in Polish złoty (PLN). Maps to Allegro's price_from filter."
          },
          "maxPrice": {
            "title": "Max price (PLN)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return offers priced at or below this value, in Polish złoty (PLN). Maps to Allegro's price_to filter."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "all",
              "new",
              "used"
            ],
            "type": "string",
            "description": "Filter by product condition (Allegro's \"stan\" filter).",
            "default": "all"
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "relevance",
              "price-asc",
              "price-desc",
              "newest"
            ],
            "type": "string",
            "description": "Order of the search/category results.",
            "default": "relevance"
          },
          "scrapeProductDetails": {
            "title": "Scrape full product details (deep mode)",
            "type": "boolean",
            "description": "Visit each offer page for the deep dataset: full description, complete parameter table, rating + review count, stock quantity, GTIN/EAN, warranty, return policy, full seller reputation and full-resolution images. Costs one extra request per product (slower + more credits). Leave off for fast, rich listing-level data.",
            "default": false
          },
          "includeRawData": {
            "title": "Include raw data",
            "type": "boolean",
            "description": "Attach the raw Allegro offer object to each detailed record. Only applies when \"Scrape full product details\" is on. For debugging / power users.",
            "default": false
          },
          "barcodeQuickLookup": {
            "title": "Barcode quick-lookup (skip detail page for EAN searches)",
            "type": "boolean",
            "description": "When a search query is a pure EAN/GTIN barcode (8–14 digits) and \"Max items per query\" is 1, skip the product detail page and echo the searched barcode into the record's gtin field. The listing data still returns price, seller, rating, images and parameters — you just skip the extra per-offer fetch, which makes big barcode runs dramatically faster and cheaper. Turn OFF if you need descriptions, stock, warranty or return policy on barcode lookups. Only affects pure-EAN single-item queries; keyword and multi-item searches always fetch full details when \"Scrape full product details\" is on. Default on.",
            "default": true
          },
          "geoCode": {
            "title": "Proxy exit country",
            "type": "string",
            "description": "Country the request exits from (Allegro localises prices/availability by IP). Default \"pl\" (Poland) is correct for allegro.pl.",
            "default": "pl"
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many products/pages to fetch in parallel (1–50). Higher = much faster for large runs (e.g. thousands of barcode/EAN lookups); 30–50 recommended for big detail runs. Default 10.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}