{
  "openapi": "3.0.1",
  "info": {
    "title": "Bayut Scraper | Property Listings in Five Markets",
    "description": "Collect Bayut sale and rental listings from the UAE, Saudi Arabia, Egypt, Bahrain, and Qatar. Export prices, property details, and public agent contacts when available. Pay per delivered listing row plus a start fee.",
    "version": "0.6",
    "x-build-id": "3XJnuxuasGX7QUFRA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lentic_clockss~bayut-uae-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lentic_clockss-bayut-uae-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/lentic_clockss~bayut-uae-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lentic_clockss-bayut-uae-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/lentic_clockss~bayut-uae-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lentic_clockss-bayut-uae-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": "Start URLs",
            "type": "array",
            "description": "Bayut search or listing URLs from bayut.com, bayut.sa, bayut.eg, bayut.bh, or bayut.qa. Recognized search URLs determine the country, sale or rental channel, category, and location instead of the form filters.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "location": {
            "title": "Location slug",
            "type": "string",
            "description": "Location slug from a Bayut URL, such as dubai or dubai-marina. Leave empty for each country's default location; dubai also changes to the local default outside the UAE."
          },
          "market": {
            "title": "Market",
            "enum": [
              "AE",
              "SA",
              "EG",
              "BH",
              "QA",
              "all"
            ],
            "type": "string",
            "description": "Choose AE, SA, EG, BH, or QA; all selects all five supported countries. When omitted, the country is AE; Jordan, Oman, and Kuwait are not supported."
          },
          "markets": {
            "title": "Markets",
            "type": "array",
            "description": "Optional list of country codes, such as BH and QA. A non-empty list takes precedence over market; all selects the five supported countries.",
            "items": {
              "type": "string"
            }
          },
          "channel": {
            "title": "Channel",
            "enum": [
              "BUY",
              "RENT"
            ],
            "type": "string",
            "description": "Choose BUY for properties for sale or RENT for rental properties. Recognized search URLs determine their own channel.",
            "default": "BUY"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "property",
              "apartments",
              "villas",
              "townhouses",
              "penthouse",
              "hotel-apartments",
              "villa-compound",
              "residential-plots",
              "residential-lands",
              "residential-floor",
              "residential-building",
              "chalets",
              "farms",
              "office-spaces",
              "offices",
              "shops",
              "warehouses",
              "showrooms",
              "industrial-land",
              "commercial-plots",
              "commercial-villas",
              "commercial-floors",
              "buildings",
              "factories",
              "labour-camps"
            ],
            "type": "string",
            "description": "Property category used for searches, such as apartments or villas. Choose property for all property types; availability varies by country.",
            "default": "apartments"
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Optional list of property categories that takes precedence over propertyType. All categories within one country share that country's maxItems limit.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "expandPrimaryCategories": {
            "title": "Expand primary categories",
            "type": "boolean",
            "description": "For an all-property search, search the primary categories separately instead of one combined category. The categories still share the country's row limit.",
            "default": false
          },
          "maxItems": {
            "title": "Max listings per URL or market",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Most listing rows for each start URL, or for each market when URLs are not provided. Default 70; larger requests are collected in parts. Property types for one market share its budget. The whole run stops at your maximum total charge. Free Apify plan: up to 200 rows per run and 10 runs of this Actor.",
            "default": 70
          },
          "maxPages": {
            "title": "Max search pages",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Search-page limit for each search URL, from 1 to 100. Available listings and the row limit can end collection sooner.",
            "default": 1
          },
          "scrapeDetails": {
            "title": "Add listing details",
            "type": "boolean",
            "description": "Add available detail-page information to search rows, including descriptions, amenities, photos, and public contact details. This can take longer; extra fields are not guaranteed and remain part of the same listing row.",
            "default": false
          },
          "requestDelayMillis": {
            "title": "Request delay (not available)",
            "minimum": 0,
            "maximum": 15000,
            "type": "integer",
            "description": "Accepted for compatibility but not currently applied. Leave unchanged; this setting does not control request timing.",
            "default": 800
          },
          "maxMarketConcurrency": {
            "title": "Concurrent markets",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Number of countries processed at the same time, from 1 to 5. Leave at 1 for a small first run.",
            "default": 1
          },
          "strictQuality": {
            "title": "Require complete listing metadata",
            "type": "boolean",
            "description": "Exclude rows missing url, source, market, channel, or scrapedAt, or with invalid URLs. Every delivered row must also have an identifier, title, and numeric price.",
            "default": true
          },
          "workerBaseUrl": {
            "title": "Developer test setting",
            "pattern": "^https?://\\S+$",
            "type": "string",
            "description": "Leave empty. Used only by the developer for testing."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}