{
  "openapi": "3.0.1",
  "info": {
    "title": "Bezrealitky Property Scraper - Czech Real Estate Listings",
    "description": "Scrape bezrealitky.cz, the Czech property portal where owners list without an agent. Flats, houses, land and cottages for rent or sale: price, monthly charges, deposit, floor area, layout, energy class, GPS, full description and every photo.",
    "version": "1.0",
    "x-build-id": "W4y8qVkgioqRIBZVb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sian.agency~bezrealitky-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sian.agency-bezrealitky-property-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/sian.agency~bezrealitky-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sian.agency-bezrealitky-property-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/sian.agency~bezrealitky-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sian.agency-bezrealitky-property-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": {
          "operation": {
            "title": "🎯 What do you want to scrape?",
            "enum": [
              "search",
              "detail"
            ],
            "type": "string",
            "description": "Pick one per run. Property Search returns full listings for a deal type, property type and place, with every filter the site offers. Property Detail takes bezrealitky.cz listing URLs and returns the same full record for each.",
            "default": "search"
          },
          "dealType": {
            "title": "🤝 Rent or sale",
            "enum": [
              "pronajem",
              "prodej"
            ],
            "type": "string",
            "description": "About two thirds of the Czech flats for rent here are posted by their owners. Rent comes back as the monthly rent, with service charges, utilities and deposit in their own columns.",
            "default": "pronajem"
          },
          "propertyType": {
            "title": "🏘️ Property type",
            "enum": [
              "byt",
              "dum",
              "pozemek",
              "garaz",
              "kancelar",
              "nebytovy-prostor",
              "chata-chalupa"
            ],
            "type": "string",
            "description": "Which section of the site to list. Flats carry the richest data. Cottage rentals are mostly holiday lets from a partner feed and often have no price.",
            "default": "byt"
          },
          "locations": {
            "title": "🗺️ Places",
            "uniqueItems": true,
            "type": "array",
            "description": "One or more places. Each runs its own search. Pick All of Czechia for the whole country. For any other town or a Prague quarter, open it on bezrealitky.cz and paste the address into Search page URLs.",
            "items": {
              "type": "string",
              "enum": [
                "ceska-republika",
                "praha",
                "stredocesky-kraj",
                "jihocesky-kraj",
                "plzensky-kraj",
                "karlovarsky-kraj",
                "ustecky-kraj",
                "liberecky-kraj",
                "kralovehradecky-kraj",
                "pardubicky-kraj",
                "kraj-vysocina",
                "jihomoravsky-kraj",
                "olomoucky-kraj",
                "zlinsky-kraj",
                "moravskoslezsky-kraj",
                "brno",
                "ostrava",
                "plzen",
                "olomouc",
                "liberec",
                "ceske-budejovice",
                "hradec-kralove",
                "pardubice",
                "usti-nad-labem",
                "zlin",
                "jihlava",
                "karlovy-vary",
                "kladno",
                "okres-praha-vychod",
                "okres-praha-zapad",
                "okres-brno-venkov",
                "nemecko",
                "slovensko"
              ],
              "enumTitles": [
                "🇨🇿 All of Czechia",
                "🏙️ Praha",
                "📍 Středočeský kraj",
                "📍 Jihočeský kraj",
                "📍 Plzeňský kraj",
                "📍 Karlovarský kraj",
                "📍 Ústecký kraj",
                "📍 Liberecký kraj",
                "📍 Královéhradecký kraj",
                "📍 Pardubický kraj",
                "📍 Kraj Vysočina",
                "📍 Jihomoravský kraj",
                "📍 Olomoucký kraj",
                "📍 Zlínský kraj",
                "📍 Moravskoslezský kraj",
                "🏙️ Brno",
                "🏙️ Ostrava",
                "🏙️ Plzeň",
                "🏙️ Olomouc",
                "🏙️ Liberec",
                "🏙️ České Budějovice",
                "🏙️ Hradec Králové",
                "🏙️ Pardubice",
                "🏙️ Ústí nad Labem",
                "🏙️ Zlín",
                "🏙️ Jihlava",
                "🏙️ Karlovy Vary",
                "🏙️ Kladno",
                "🏘️ okres Praha-východ",
                "🏘️ okres Praha-západ",
                "🏘️ okres Brno-venkov",
                "🇩🇪 Germany (partner listings)",
                "🇸🇰 Slovakia"
              ]
            },
            "default": [
              "praha"
            ]
          },
          "dispositions": {
            "title": "🚪 Layouts",
            "uniqueItems": true,
            "type": "array",
            "description": "Czech layouts to keep: 1+kk is one room with a kitchenette, 2+1 two rooms plus a separate kitchen. Leave it empty for every layout. Only flats and houses carry a layout.",
            "items": {
              "type": "string",
              "enum": [
                "garsoniera",
                "1+kk",
                "1+1",
                "2+kk",
                "2+1",
                "3+kk",
                "3+1",
                "4+kk",
                "4+1",
                "5+kk",
                "5+1",
                "6+kk",
                "6+1",
                "7+kk",
                "7+1",
                "ostatni"
              ],
              "enumTitles": [
                "🛏️ Studio (garsoniéra)",
                "1️⃣ 1+kk",
                "1️⃣ 1+1",
                "2️⃣ 2+kk",
                "2️⃣ 2+1",
                "3️⃣ 3+kk",
                "3️⃣ 3+1",
                "4️⃣ 4+kk",
                "4️⃣ 4+1",
                "5️⃣ 5+kk",
                "5️⃣ 5+1",
                "6️⃣ 6+kk",
                "6️⃣ 6+1",
                "7️⃣ 7+kk",
                "7️⃣ 7+1",
                "🔹 Other layout"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "💵 Min price (CZK)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price in Czech koruna. For rentals this is the monthly rent without charges. Leave it empty for no floor."
          },
          "maxPrice": {
            "title": "💰 Max price (CZK)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price in Czech koruna. For rentals this is the monthly rent without charges. Leave it empty for no ceiling."
          },
          "minArea": {
            "title": "📐 Min floor area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest floor area in square metres. Leave it empty for no minimum."
          },
          "maxArea": {
            "title": "📏 Max floor area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Largest floor area in square metres. Leave it empty for no maximum."
          },
          "ownership": {
            "title": "📜 Ownership",
            "enum": [
              "any",
              "osobni",
              "druzstevni",
              "obecni"
            ],
            "type": "string",
            "description": "Personal ownership versus a cooperative share decides whether a Czech flat can be mortgaged. Mostly relevant for sales.",
            "default": "any"
          },
          "buildingTypes": {
            "title": "🧱 Building type",
            "uniqueItems": true,
            "type": "array",
            "description": "Construction types to keep: panel, brick and so on. Leave it empty for all. Panel versus brick is the filter Czech buyers apply first.",
            "items": {
              "type": "string",
              "enum": [
                "panel",
                "brick",
                "wood",
                "stone",
                "prefab",
                "skeleton",
                "mixed"
              ],
              "enumTitles": [
                "🏢 Panel",
                "🧱 Brick",
                "🪵 Wood",
                "🪨 Stone",
                "🏗️ Prefab",
                "🦴 Skeleton frame",
                "🔀 Mixed"
              ]
            },
            "default": []
          },
          "furnished": {
            "title": "🛋️ Furnished",
            "enum": [
              "any",
              "vybaveny",
              "castecne",
              "nevybaveny"
            ],
            "type": "string",
            "description": "Keep only furnished, partly furnished or unfurnished listings. Mostly relevant for rentals.",
            "default": "any"
          },
          "postedDirectlyOnly": {
            "title": "🙋 Posted directly on Bezrealitky only",
            "type": "boolean",
            "description": "Leave out listings the site takes in from partner feeds: holiday cottages, developer projects, rental companies and German owner listings. What is left is what people posted on bezrealitky.cz themselves.",
            "default": false
          },
          "sort": {
            "title": "🔀 Sort order",
            "enum": [
              "newest",
              "price_asc",
              "price_desc",
              "area_desc",
              "area_asc",
              "discount"
            ],
            "type": "string",
            "description": "The order the site returns listings in. Combine Newest first with a small Max listings on a schedule to pick up new listings as they appear.",
            "default": "newest"
          },
          "maxResults": {
            "title": "🔢 Max listings",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many listings across every place in the run; the run stops exactly at this number. Free accounts stop at 25. Property Detail ignores it and returns every listing you pasted.",
            "default": 100
          },
          "searchUrls": {
            "title": "🔗 Search page URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Paste bezrealitky.cz results pages instead of picking a place, for example https://www.bezrealitky.cz/vypis/nabidka-pronajem/byt/praha-chodov. Rent or sale, property type, place and the page's own price, area, layout, building and furnished filters are read from the address; a filter the actor cannot apply is reported instead of dropped.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingUrls": {
            "title": "📄 Listing URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Used by Property Detail: bezrealitky.cz listing addresses such as https://www.bezrealitky.cz/nemovitosti-byty-domy/1071664-nabidka-prodej-bytu-steinerova-praha. One per line.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}