{
  "openapi": "3.0.1",
  "info": {
    "title": "Sreality Listings Scraper",
    "description": "Scrape public Sreality search results for apartments, houses, land, commercial properties or other listings, for sale or rent. Records include titles, layouts, areas, prices, location fields, coordinates and image URLs.",
    "version": "0.1",
    "x-build-id": "haCKlOkmZEFqYPTah"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~sreality-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-sreality-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/axiomworks~sreality-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-sreality-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/axiomworks~sreality-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-sreality-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": {
          "startUrls": {
            "title": "Sreality search or listing URLs",
            "type": "array",
            "description": "Sreality URL objects, e.g. [{\"url\":\"https://www.sreality.cz/hledani/pronajem/byty/praha\"}]. Accepts /hledani/ searches and /detail/ listings. Overrides offerType, category and region. Empty or omitted uses filters. Listing URLs always fetch details. maxItems is shared across targets.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "offerType": {
            "title": "Offer type: sale or rent",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Offer type for generated searches: \"sale\" or \"rent\", e.g. \"rent\" for monthly rentals. Default \"sale\". Ignored when startUrls contains targets.",
            "default": "sale"
          },
          "category": {
            "title": "Property category: apartments, houses, land, commercial or other",
            "enum": [
              "apartments",
              "houses",
              "land",
              "commercial",
              "other"
            ],
            "type": "string",
            "description": "Category for generated searches: apartments, houses, land, commercial or other, e.g. \"houses\". Default \"apartments\". Ignored when startUrls contains targets.",
            "default": "apartments"
          },
          "region": {
            "title": "Region or city URL slug, e.g. praha",
            "type": "string",
            "description": "Region or city slug from a Sreality search URL, e.g. \"praha\" or \"jihomoravsky-kraj\". Empty or omitted searches the Czech Republic. Use a URL slug rather than a display name. Ignored when startUrls contains targets."
          },
          "minPrice": {
            "title": "Minimum asking price in CZK, e.g. 15000",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum asking price in CZK, e.g. 15000 for monthly rent. Nonnegative integer; default 0 means no minimum. Applies to search URLs, not individual listings. An existing cena-od URL parameter takes precedence.",
            "default": 0
          },
          "maxPrice": {
            "title": "Maximum asking price in CZK, e.g. 25000",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum asking price in CZK, e.g. 25000 for monthly rent. Nonnegative integer; default 0 means no maximum. Applies to search URLs, not individual listings. An existing cena-do URL parameter takes precedence.",
            "default": 0
          },
          "maxItems": {
            "title": "Total listing limit across targets, e.g. 25",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Total unique listings to save across all targets, e.g. 25. 1-10000, default 50. Returns fewer when targets have fewer listings or cannot be fetched; empty or blocked targets return no records. Stops once the shared limit is reached.",
            "default": 50
          },
          "includeDetails": {
            "title": "Fetch listing details: true or false",
            "type": "boolean",
            "description": "Whether to fetch detail pages for search results, e.g. true for description, agencyName and buildingParams. Default false; adds one request per listing when enabled. Individual listing URLs always fetch details even when false. Missing detail fields remain null.",
            "default": false
          },
          "enableAiEnrichment": {
            "title": "AI propertyType classification: true or false",
            "type": "boolean",
            "description": "Whether to classify propertyType using a third-party AI processor, e.g. false for source data only. Default true. Labels: investment, family, starter, luxury or other. propertyType stays null if enrichment is disabled, unavailable or fails.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Apify Proxy options, e.g. useApifyProxy true",
            "type": "object",
            "description": "Apify Proxy options, e.g. {\"useApifyProxy\":true}. Default {\"useApifyProxy\":false} starts direct. Blocked requests retry through datacenter then residential routes when available on Apify, with fresh sessions. For persistent blocks, choose an available proxy group or try later.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}