{
  "openapi": "3.0.1",
  "info": {
    "title": "Otomoto.pl Car Listings Scraper",
    "description": "[💰 $4 / 1K] Extract car listings from Otomoto.pl, Poland's largest auto marketplace — price, make, model, year, mileage, fuel, gearbox, specs, equipment, seller phone, location & photos. Search by make/model, price, year, mileage, fuel, body type & region, or paste any Otomoto URL.",
    "version": "1.0",
    "x-build-id": "HtEAhtQxLc7A7GKl2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~otomoto-pl-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-otomoto-pl-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/solidcode~otomoto-pl-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-otomoto-pl-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/solidcode~otomoto-pl-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-otomoto-pl-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": "Otomoto URLs",
            "type": "array",
            "description": "Paste one or more Otomoto.pl URLs — a search results page, a brand/category page, or an individual listing (e.g. 'https://www.otomoto.pl/osobowe/bmw' or a single car page). When you provide URLs here, the search filters below are ignored. Handy when you already have a saved Otomoto search.",
            "items": {
              "type": "string"
            }
          },
          "make": {
            "title": "Make (brand)",
            "type": "string",
            "description": "Car brand, e.g. 'bmw', 'audi', 'volkswagen', 'toyota'. Leave empty for all makes."
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Exact Otomoto model slug for the chosen make, e.g. 'seria-3' (BMW), 'golf' (Volkswagen), 'a4-avant' (Audi). Copy it from an Otomoto URL. Leave empty for all models. An unrecognized slug returns all listings for the make."
          },
          "keyword": {
            "title": "Keyword (best effort)",
            "type": "string",
            "description": "Optional free-text term, e.g. 'kombi', 'panorama', 'salon polska'. Best-effort only — Otomoto does not expose a reliable public free-text filter, so this may not narrow results. For dependable filtering, use Make, Model, and the structured filters below. Leave empty to skip."
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "used",
              "damaged"
            ],
            "type": "string",
            "description": "Filter by vehicle condition.",
            "default": "any"
          },
          "fuelType": {
            "title": "Fuel Type",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include cars with one of these fuel types. Leave empty for all fuel types.",
            "items": {
              "type": "string",
              "enum": [
                "petrol",
                "diesel",
                "lpg",
                "hybrid",
                "plugin-hybrid",
                "electric",
                "cng",
                "hydrogen"
              ],
              "enumTitles": [
                "Petrol",
                "Diesel",
                "LPG",
                "Hybrid",
                "Plug-in Hybrid",
                "Electric",
                "CNG",
                "Hydrogen"
              ]
            },
            "default": []
          },
          "bodyType": {
            "title": "Body Type",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include cars with one of these body types. Leave empty for all body types.",
            "items": {
              "type": "string",
              "enum": [
                "sedan",
                "hatchback",
                "estate",
                "suv",
                "coupe",
                "convertible",
                "minivan",
                "compact",
                "pickup",
                "city-car"
              ],
              "enumTitles": [
                "Sedan",
                "Hatchback",
                "Estate (kombi)",
                "SUV",
                "Coupe",
                "Convertible",
                "Minivan",
                "Compact",
                "Pickup",
                "City car"
              ]
            },
            "default": []
          },
          "gearbox": {
            "title": "Gearbox",
            "enum": [
              "any",
              "manual",
              "automatic"
            ],
            "type": "string",
            "description": "Transmission type.",
            "default": "any"
          },
          "sellerType": {
            "title": "Seller Type",
            "enum": [
              "any",
              "private",
              "dealer"
            ],
            "type": "string",
            "description": "Filter listings by who is selling.",
            "default": "any"
          },
          "region": {
            "title": "Region (voivodeship)",
            "enum": [
              "any",
              "dolnoslaskie",
              "kujawsko-pomorskie",
              "lubelskie",
              "lubuskie",
              "lodzkie",
              "malopolskie",
              "mazowieckie",
              "opolskie",
              "podkarpackie",
              "podlaskie",
              "pomorskie",
              "slaskie",
              "swietokrzyskie",
              "warminsko-mazurskie",
              "wielkopolskie",
              "zachodniopomorskie"
            ],
            "type": "string",
            "description": "Limit results to a Polish voivodeship. Leave as 'Any region' to search all of Poland.",
            "default": "any"
          },
          "priceMin": {
            "title": "Minimum Price (PLN)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only include cars at or above this price, in Polish złoty. Leave empty for no lower bound."
          },
          "priceMax": {
            "title": "Maximum Price (PLN)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only include cars at or below this price, in Polish złoty. Leave empty for no upper bound."
          },
          "yearMin": {
            "title": "Minimum Year",
            "minimum": 1900,
            "maximum": 2030,
            "type": "integer",
            "description": "Only include cars produced in or after this year (e.g. 2015). Leave empty for any age."
          },
          "yearMax": {
            "title": "Maximum Year",
            "minimum": 1900,
            "maximum": 2030,
            "type": "integer",
            "description": "Only include cars produced in or before this year. Leave empty for any age."
          },
          "mileageMax": {
            "title": "Maximum Mileage (km)",
            "minimum": 0,
            "maximum": 2000000,
            "type": "integer",
            "description": "Only include cars with at most this many kilometres on the clock. Leave empty for any mileage."
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "relevance",
              "priceAsc",
              "priceDesc",
              "yearDesc",
              "mileageAsc",
              "createdDesc"
            ],
            "type": "string",
            "description": "How to order the search results. Defaults to Otomoto's relevance ranking.",
            "default": "relevance"
          },
          "includeListingDetails": {
            "title": "Include full listing details",
            "type": "boolean",
            "description": "When enabled, every result is enriched from its full listing page (complete specifications, equipment list, all gallery images, seller location, description). Disable for a faster, lighter run that returns only the fields shown on the search results.",
            "default": true
          },
          "includeSellerContacts": {
            "title": "Include seller phone numbers",
            "type": "boolean",
            "description": "When enabled, the actor also collects available dealer/seller phone numbers. This makes the run slower because each listing page must be opened to reveal the contact details.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of car listings to return in total across all searches and URLs. The actor stops exactly at this number, so you are never charged for results you didn't ask for. Set to 0 for unlimited (a single search is then capped at roughly 160,000 listings as a safety limit).",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}