{
  "openapi": "3.0.1",
  "info": {
    "title": "Property Finder Scraper - UAE, Saudi, Qatar, Bahrain, Egypt",
    "description": "Property Finder scraper for UAE, Saudi Arabia, Qatar, Bahrain and Egypt: sale and rent listings by location, type, price, beds, area and furnishing. Prices, coordinates, brokerage, photos, permit. No login.",
    "version": "0.1",
    "x-build-id": "N6Khn0Vwebgl2iuhu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fabrikit~propertyfinder-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fabrikit-propertyfinder-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/fabrikit~propertyfinder-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fabrikit-propertyfinder-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/fabrikit~propertyfinder-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fabrikit-propertyfinder-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": {
          "country": {
            "title": "Country",
            "enum": [
              "ae",
              "sa",
              "qa",
              "bh",
              "eg"
            ],
            "type": "string",
            "description": "Which Property Finder site to search.",
            "default": "ae"
          },
          "purpose": {
            "title": "Purpose",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Listings for sale or for rent.",
            "default": "sale"
          },
          "segment": {
            "title": "Segment",
            "enum": [
              "residential",
              "commercial"
            ],
            "type": "string",
            "description": "Residential homes or commercial space (offices, shops, warehouses...).",
            "default": "residential"
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Names such as apartment, villa, townhouse, penthouse, land, office, shop (matched against Property Finder's own list for the chosen purpose and segment). One search per type. Leave empty for all types.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, communities or buildings, for example Dubai, Dubai Marina, Downtown Dubai, Yas Island, Doha, Cairo. Use \"Community, City\" if a name exists in several cities (for example \"Business Bay, Dubai\"). One search per entry. Leave empty for the whole country.",
            "items": {
              "type": "string"
            }
          },
          "locationIds": {
            "title": "Location IDs (optional)",
            "type": "array",
            "description": "Property Finder numeric location ids (the l= value in a search URL). Added to the locations above.",
            "items": {
              "type": "string"
            }
          },
          "bedrooms": {
            "title": "Bedrooms",
            "type": "array",
            "description": "Only listings with these bedroom counts: studio, 1, 2, 3 ... 7 (8 = 7+). Leave empty for any.",
            "items": {
              "type": "string"
            }
          },
          "minBathrooms": {
            "title": "Min. bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bathrooms (filtered after download)."
          },
          "maxBathrooms": {
            "title": "Max. bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of bathrooms (filtered after download)."
          },
          "minPrice": {
            "title": "Min. price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price in the local currency (AED, SAR, QAR, BHD or EGP). For rentals this is the price per chosen rent period."
          },
          "maxPrice": {
            "title": "Max. price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price in the local currency."
          },
          "minArea": {
            "title": "Min. area",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum built-up area in the country's unit: sqft in UAE and Qatar, sqm in Saudi Arabia, Bahrain and Egypt."
          },
          "maxArea": {
            "title": "Max. area",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum built-up area in the country's unit (sqft or sqm)."
          },
          "furnishing": {
            "title": "Furnishing",
            "enum": [
              "any",
              "furnished",
              "unfurnished",
              "partly"
            ],
            "type": "string",
            "description": "Furnishing status.",
            "default": "any"
          },
          "rentFrequency": {
            "title": "Rent frequency",
            "enum": [
              "",
              "yearly",
              "monthly",
              "weekly",
              "daily"
            ],
            "type": "string",
            "description": "For rentals only: price period used by the price filter and the results. Leave on Any to include all.",
            "default": ""
          },
          "completionStatus": {
            "title": "Completion status",
            "enum": [
              "any",
              "ready",
              "off_plan"
            ],
            "type": "string",
            "description": "Ready-to-move or off-plan properties.",
            "default": "any"
          },
          "verifiedOnly": {
            "title": "Verified listings only",
            "type": "boolean",
            "description": "Only listings carrying Property Finder's verified badge.",
            "default": false
          },
          "listedWithin": {
            "title": "Listed within",
            "enum": [
              "any",
              "1d",
              "7d",
              "15d",
              "30d",
              "90d"
            ],
            "type": "string",
            "description": "Only listings published in this window.",
            "default": "any"
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Free-text keywords searched in the listing (for example sea view, private pool)."
          },
          "amenities": {
            "title": "Amenity codes",
            "type": "array",
            "description": "Property Finder amenity codes that must all be present, for example PA (pets allowed), BA (balcony), CP (covered parking), SP (shared pool), PG (private garden), ST (study).",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "featured",
              "priceLow",
              "priceHigh",
              "bedsLeast",
              "bedsMost"
            ],
            "type": "string",
            "description": "Order of the results. With a limit on items, you get the first ones in this order.",
            "default": "newest"
          },
          "startUrls": {
            "title": "Search URLs (optional)",
            "type": "array",
            "description": "Paste Property Finder search result URLs (from any of the five sites) to scrape exactly what you filtered on the website. When set, the filters above are ignored.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Maximum number of listings to save in total (across all searches). The run stops as soon as it is reached.",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings. Datacenter proxies are tried first; the actor switches to residential IPs automatically if the site blocks them.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}