{
  "openapi": "3.0.1",
  "info": {
    "title": "Bayut Scraper: Property Listings in Oman, Qatar and Jordan",
    "description": "Bayut property listings for Oman, Qatar and Jordan, buy and rent: price, size, bedrooms, bathrooms, location path, agent, agency, listing date, amenities, photos and description. Filter by area, type, price and bedrooms. No login.",
    "version": "0.1",
    "x-build-id": "RF8JVtbtoTVc0fbpF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~bayut-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-bayut-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/themineworks~bayut-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-bayut-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/themineworks~bayut-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-bayut-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": {
          "markets": {
            "title": "Markets",
            "type": "array",
            "description": "Which Bayut sites to search: Oman (bayut.om), Qatar (bayut.qa) or Jordan (bayut.jo). Each market is one search, and the filters below apply to every selected market. Leave empty if you only use search links. The UAE (bayut.com) and Saudi Arabia (bayut.sa) are not supported.",
            "items": {
              "type": "string",
              "enum": [
                "oman",
                "qatar",
                "jordan"
              ],
              "enumTitles": [
                "Oman (bayut.om)",
                "Qatar (bayut.qa)",
                "Jordan (bayut.jo)"
              ]
            }
          },
          "startUrls": {
            "title": "Search links (optional)",
            "type": "array",
            "description": "Bayut search links copied from your browser, for example https://www.bayut.om/en/muscat/apartments-for-rent-in-qurm/ or https://www.bayut.qa/en/doha/villas-for-sale/?price_max=3000000. The city, area, property type, sale or rent, price, bedrooms, bathrooms, size and furnishing in the link are used. The filter fields below apply to markets, not to links.",
            "items": {
              "type": "string"
            }
          },
          "purpose": {
            "title": "Buy or rent",
            "enum": [
              "for-sale",
              "for-rent",
              "any"
            ],
            "type": "string",
            "description": "For sale, for rent, or both.",
            "default": "for-sale"
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "City, governorate or area names, one per line, for example Muscat, Doha, Amman or Qurum. A listing matches any of them. Use Muscat > Qurum (or Muscat/Qurum) to require both levels. A value that starts with / is read as a Bayut location path such as /muscat/qurum.",
            "items": {
              "type": "string"
            }
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Bayut property type names, one per line or picked from the list. Leave empty for all types. Types differ by market: Jordan has offices, showrooms and warehouses; Oman and Qatar group most commercial listings as commercial-properties.",
            "items": {
              "type": "string",
              "enum": [
                "apartments",
                "villas",
                "residential-lands",
                "chalets",
                "rooms",
                "commercial-properties",
                "commercial-buildings",
                "garages",
                "offices",
                "shops",
                "showrooms",
                "warehouses",
                "commercial-lands",
                "hotel-apartments",
                "residential-buildings",
                "farms"
              ]
            }
          },
          "keyword": {
            "title": "Keyword (optional)",
            "type": "string",
            "description": "Free text matched against the listing, for example sea view, pool or maid room."
          },
          "priceMin": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the market currency (OMR, QAR or JOD). For rentals this is the rent for the period shown on the listing."
          },
          "priceMax": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the market currency (OMR, QAR or JOD)."
          },
          "bedroomsMin": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "0 includes studios."
          },
          "bedroomsMax": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Most bedrooms."
          },
          "bathroomsMin": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Fewest bathrooms."
          },
          "areaMin": {
            "title": "Minimum area (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest size in square metres."
          },
          "areaMax": {
            "title": "Maximum area (m2)",
            "minimum": 0,
            "type": "integer",
            "description": "Largest size in square metres."
          },
          "furnishing": {
            "title": "Furnishing",
            "enum": [
              "any",
              "furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Only furnished or only unfurnished listings.",
            "default": "any"
          },
          "completion": {
            "title": "Completion status",
            "enum": [
              "any",
              "completed",
              "under-construction"
            ],
            "type": "string",
            "description": "Ready properties or properties under construction.",
            "default": "any"
          },
          "rentFrequency": {
            "title": "Rent period",
            "enum": [
              "any",
              "yearly",
              "monthly",
              "weekly",
              "daily"
            ],
            "type": "string",
            "description": "For rentals: how the rent is quoted.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "popular",
              "price_low",
              "price_high"
            ],
            "type": "string",
            "description": "Order of the results, which decides which listings you get when maxItems is lower than the number of matches.",
            "default": "newest"
          },
          "maxItems": {
            "title": "Max listings per search",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The most listings to return for each market or search link, 1 to 20,000. A results page holds 100 listings. Example: 500.",
            "default": 50
          },
          "includeDescription": {
            "title": "Add the description (Oman and Qatar)",
            "type": "boolean",
            "description": "On: each Oman and Qatar listing page is opened too, to add the full description text. Off: rows come from the search only, which is much faster. Jordan listing pages are never opened, so Jordan rows have no description either way. Same price either way.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}