{
  "openapi": "3.0.1",
  "info": {
    "title": "Allegro Scraper: Products, Prices & Sellers (PL/CZ/SK/HU)",
    "description": "Scrape Allegro search, category & seller pages: price, delivery, Smart!, seller + feedback %, sales velocity, review rating, multi-seller count, full specs & images. Deep mode adds description, stock & GTIN; seller mode adds NIP/REGON. allegro.pl/cz/sk/hu. No login, no API key.",
    "version": "1.0",
    "x-build-id": "obuAVrKgCinLeAfHK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dltik~allegro-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dltik-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/dltik~allegro-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dltik-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/dltik~allegro-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dltik-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "detail"
            ],
            "type": "string",
            "description": "'search' = find offers by keyword/category/seller (or from pasted startUrls). 'detail' = fetch full records (description, specs, stock, rating) for specific offer URLs.",
            "default": "search"
          },
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Keywords to search, each run separately, e.g. [\"laptop\", \"iphone 15\", \"ekspres do kawy\"]. Leave empty to browse a category or seller via startUrls. Used in 'search' mode.",
            "items": {
              "type": "string"
            }
          },
          "domain": {
            "title": "Marketplace",
            "enum": [
              "pl",
              "cz",
              "sk",
              "hu"
            ],
            "type": "string",
            "description": "Which Allegro marketplace to scrape. The proxy exit country is matched automatically so DataDome sees a local IP.",
            "default": "pl"
          },
          "startUrls": {
            "title": "Start URLs (advanced)",
            "type": "array",
            "description": "Paste Allegro listing, category or seller URLs to scrape verbatim (any filter combination you built on the site), or offer URLs in 'detail' mode. The URL is authoritative and overrides the keyword/category/seller fields. Best way to target exotic categories or complex filters.",
            "items": {
              "type": "string"
            }
          },
          "categoryUrl": {
            "title": "Category URL (optional)",
            "type": "string",
            "description": "Narrow a keyword search to one Allegro category by pasting its URL (e.g. https://allegro.pl/kategoria/laptopy-491). Combined with a search query if both are given."
          },
          "seller": {
            "title": "Seller (optional)",
            "type": "string",
            "description": "Restrict to one seller's storefront: a login (e.g. 'Apollo_HP'), a /uzytkownik/<login> or /sklep/<name> path, or the full storefront URL."
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Only offers priced at or above this (in the marketplace currency: PLN/CZK/EUR/HUF). Used in 'search' mode."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Only offers priced at or below this (in the marketplace currency). Used in 'search' mode."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "",
              "new",
              "used"
            ],
            "type": "string",
            "description": "Filter by item condition: new (nowe) or used (używane). Leave empty for all.",
            "default": ""
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "price-asc",
              "price-desc",
              "newest",
              "popularity"
            ],
            "type": "string",
            "description": "Result ordering. 'relevance' (Allegro default), cheapest/most expensive by total price, or newest.",
            "default": "relevance"
          },
          "maxResults": {
            "title": "Max results per query",
            "minimum": 1,
            "maximum": 6000,
            "type": "integer",
            "description": "Maximum offers to return per query/URL (search mode). Allegro caps a single search at ~6000 offers (100 pages). Detail mode returns one record per URL.",
            "default": 100
          },
          "scrapeProductDetails": {
            "title": "Deep mode: scrape offer details",
            "type": "boolean",
            "description": "Visit each offer page for the full description, complete specification table, exact stock quantity and review rating (one extra page per offer — slower, higher cost). Off by default: the listing already returns price, delivery, Smart!, seller, sales velocity, rating, parameters and images.",
            "default": false
          },
          "scrapeSellerContact": {
            "title": "Seller mode: business trader data",
            "type": "boolean",
            "description": "Fetch each seller's public business data (legal name, NIP tax ID, REGON, KRS, address) from their 'about seller' page. Company sellers only; coverage is partial. For lead generation and B2B research.",
            "default": false
          },
          "proxyMode": {
            "title": "Engine",
            "enum": [
              "auto",
              "unblocker",
              "browser"
            ],
            "type": "string",
            "description": "'auto' (recommended): try Apify Unblocker first (a managed, server-side DataDome bypass — no residential bandwidth, immune to IP reputation), then fall back to a stealth browser over residential. 'unblocker' forces the Unblocker; 'browser' forces the residential browser.",
            "default": "auto"
          },
          "customProxyUrl": {
            "title": "Custom residential proxy (optional)",
            "type": "string",
            "description": "Your own residential proxy URL (http://user:pass@host:port), used as the ONLY proxy. Allegro needs a residential IP in the marketplace country; leave empty to use Apify Residential (country matched automatically)."
          },
          "twoCaptchaApiKey": {
            "title": "2Captcha API key (optional)",
            "type": "string",
            "description": "Optional DataDome slider fallback. A clean residential IP clears DataDome on its own in almost all runs; supply a 2Captcha (or CapSolver) key only if you see repeated blocks on a noisy pool."
          },
          "proxyConfig": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify proxy configuration. Allegro requires the RESIDENTIAL group; the country is matched to the marketplace automatically if left unset.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}