{
  "openapi": "3.0.1",
  "info": {
    "title": "PropertyFinder.ae Scraper: Dubai & UAE rent, sale (+ alerts)",
    "description": "Property Finder scraper for propertyfinder.ae: UAE property for rent or sale in Dubai, Abu Dhabi and the other Emirates, by filters or any PropertyFinder search URL. Rows with price and period, type, beds, size, community, tower, coordinates, broker. Monitor mode alerts on new listings.",
    "version": "0.1",
    "x-build-id": "clrhZciPWfZYKRl9f"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datahamster~propertyfinder-ae-listings/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datahamster-propertyfinder-ae-listings",
        "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/datahamster~propertyfinder-ae-listings/runs": {
      "post": {
        "operationId": "runs-sync-datahamster-propertyfinder-ae-listings",
        "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/datahamster~propertyfinder-ae-listings/run-sync": {
      "post": {
        "operationId": "run-sync-datahamster-propertyfinder-ae-listings",
        "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": {
          "purpose": {
            "title": "Purpose",
            "enum": [
              "rent",
              "buy"
            ],
            "type": "string",
            "description": "Whether to search listings for rent or for sale. Accepted values: rent, buy. Example: \"rent\".",
            "default": "rent"
          },
          "searchUrls": {
            "title": "Search URLs (advanced)",
            "type": "array",
            "description": "Any propertyfinder.ae search URLs with the filters you set on the site (area, type, price); overrides purpose and every filter below. Example: [\"https://www.propertyfinder.ae/en/rent/dubai/apartments-for-rent.html\"]. Optional.",
            "items": {
              "type": "string"
            }
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "apartment",
              "villa",
              "townhouse",
              "penthouse",
              "duplex",
              "hotel-apartment",
              "land",
              "office",
              "shop",
              "warehouse",
              "compound",
              "whole-building"
            ],
            "type": "string",
            "description": "Property type filter. Accepted values: apartment, villa, townhouse, penthouse, duplex, hotel-apartment, land, office, shop, warehouse, compound, whole-building. Example: \"apartment\". Optional."
          },
          "bedrooms": {
            "title": "Bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Exact number of bedrooms; 0 means studio. Example: 1. Optional."
          },
          "priceFrom": {
            "title": "Min price (AED)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price in AED - yearly rent when purpose is rent, sale price when it is buy. Example: 50000. Optional."
          },
          "priceTo": {
            "title": "Max price (AED)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price in AED. Example: 120000. Optional."
          },
          "furnished": {
            "title": "Furnished",
            "enum": [
              "any",
              "yes",
              "no",
              "partly"
            ],
            "type": "string",
            "description": "Furnishing filter. Accepted values: any, yes, no, partly. Example: \"any\".",
            "default": "any"
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Free-text area, community or tower name to search within. Example: \"Dubai Marina\". Optional."
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "newest",
              "relevance",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Result order: newest (newest first), relevance, price_asc (cheapest first), price_desc. Example: \"newest\".",
            "default": "newest"
          },
          "maxPages": {
            "title": "Pages",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many result pages to fetch per search, 25 listings per page. Example: 4.",
            "default": 4
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Stop the run after this many listings; you are charged only for listings actually pushed. Example: 20.",
            "default": 20
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "scrape",
              "monitor"
            ],
            "type": "string",
            "description": "scrape = return all matching listings; monitor = return only listings that are new or changed price since the previous run of this saved Task. Example: \"scrape\".",
            "default": "scrape"
          },
          "monitorStateId": {
            "title": "Monitor state id",
            "type": "string",
            "description": "Optional state id when not running as a saved task (monitor mode)"
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional HTTPS URL that receives a POST with the monitor-mode change summary (JSON). Example: \"https://hooks.example.com/propertyfinder\"."
          },
          "telegramBotToken": {
            "title": "Telegram bot token",
            "type": "string",
            "description": "Optional Telegram bot token used to send monitor-mode change summaries. Format: \"123456789:AA...\"."
          },
          "telegramChatId": {
            "title": "Telegram chat id",
            "type": "string",
            "description": "Optional Telegram chat id that receives monitor-mode summaries. Example: \"-1001234567890\"."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}