{
  "openapi": "3.0.1",
  "info": {
    "title": "Otodom Property Search Scraper",
    "description": "Unlock comprehensive property data from Poland's leading real estate platform with our Otodom.pl scraper. Extract listings, prices, locations, and detailed property information for market analysis, investment research, and business intelligence.",
    "version": "0.0",
    "x-build-id": "WsHWdXfmZFR2a9qGx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ecomscrape~otodom-property-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ecomscrape-otodom-property-search-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/ecomscrape~otodom-property-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-ecomscrape-otodom-property-search-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/ecomscrape~otodom-property-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-ecomscrape-otodom-property-search-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": {
          "urls": {
            "title": "URLs of the Property list page urls to scrape",
            "type": "array",
            "description": "Add the URLs of the Property list page urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
            "items": {
              "type": "string"
            }
          },
          "ignore_url_failures": {
            "title": "Ignore URL failures",
            "type": "boolean",
            "description": "If true, the scraper will continue running even if some URLs fail to be scraped after the maximum number of retries is reached."
          },
          "location": {
            "title": "Location to search",
            "type": "string",
            "description": "Enter the Location to search for items. Make sure the location is accurate by selecting a location on the website and then searching. Copy the location value directly from the URL. For example, for the URL 'https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie,3-pokoje/mazowieckie/warszawa/warszawa/warszawa/bialoleka?distanceRadius=25&limit=36&ownerTypeSingleSelect=ALL&priceMin=10&priceMax=10000&areaMin=10&areaMax=1000&daysSinceCreated=7&by=LATEST&direction=DESC', the correct location is 'mazowieckie/warszawa/warszawa/warszawa/bialoleka'."
          },
          "property_type": {
            "title": "Filter Items by Property Type",
            "enum": [
              "mieszkanie",
              "kawalerki",
              "domy",
              "inwestycje",
              "pokoje",
              "dzialki",
              "lokale-uzytkowe",
              "hale-i-magazyny",
              "garaze"
            ],
            "type": "string",
            "description": "Filter items by Property Type"
          },
          "operation_type": {
            "title": "Filter Items by Operation Type",
            "enum": [
              "wynajem",
              "sprzedaz"
            ],
            "type": "string",
            "description": "Filter items by Operation Type"
          },
          "radius": {
            "title": "Filter Items by distance radius",
            "enum": [
              "",
              "5",
              "10",
              "15",
              "25",
              "50",
              "75"
            ],
            "type": "string",
            "description": "Filter items by distance radius"
          },
          "posted_date": {
            "title": "Filter Items by Published Date",
            "enum": [
              "",
              "1",
              "3",
              "7"
            ],
            "type": "string",
            "description": "Filter items by Published Date"
          },
          "min_price": {
            "title": "Filter Items by Min Price",
            "type": "integer",
            "description": "Filter items by Min Price"
          },
          "max_price": {
            "title": "Filter Items by Min Price",
            "type": "integer",
            "description": "Filter items by Min Price"
          },
          "min_area": {
            "title": "Filter Items by Min Area",
            "type": "integer",
            "description": "Filter items by Min Area"
          },
          "max_area": {
            "title": "Filter Items by Min Area",
            "type": "integer",
            "description": "Filter items by Min Area"
          },
          "number_of_rooms": {
            "title": "Filter Items by Number of Rooms",
            "enum": [
              "",
              "ONE",
              "TWO",
              "THREE",
              "FOUR",
              "FIVE",
              "SIX_OR_MORE"
            ],
            "type": "string",
            "description": "Filter items by Number of Rooms"
          },
          "sort_by": {
            "title": "Sort Items by",
            "enum": [
              "",
              "LATEST-DESC",
              "LATEST-ASC",
              "PRICE-ASC",
              "PRICE-DESC",
              "AREA-ASC",
              "AREA-DESC"
            ],
            "type": "string",
            "description": "Sort items by (e.g. LATEST-DESC, LATEST-ASC, PRICE-ASC, PRICE-DESC, AREA-ASC, AREA-DESC)"
          },
          "page": {
            "title": "Page start",
            "type": "integer",
            "description": "Specify the page number to start scraping from"
          },
          "max_items_per_url": {
            "title": "Limit the number of items per URL or search filters",
            "type": "integer",
            "description": "Limit the number of items per URL or search filters you want to scrape"
          },
          "max_retries_per_url": {
            "title": "Limit the number of retries",
            "type": "integer",
            "description": "Limit the number of retries for each URL or search filters if the scrape is detected as a bot or the page fails to load"
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Select proxies to be used by your scraper."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}