{
  "openapi": "3.0.1",
  "info": {
    "title": "Property Finder Home Scraper",
    "description": "Extract property records from public Property Finder UAE searches, including price, location, property type, bedrooms, size, agent and broker details, and images. Supports filtered search URLs and deduplicates repeated property IDs.",
    "version": "0.1",
    "x-build-id": "6yDsyNLVUXZisVe68"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~propertyfinder-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-propertyfinder-listings-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~propertyfinder-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-propertyfinder-listings-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~propertyfinder-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-propertyfinder-listings-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": "Search URL objects, e.g. [{\"url\":\"https://www.propertyfinder.ae/en/search?c=1\"}]",
            "type": "array",
            "description": "List of objects with a url key, e.g. [{\"url\":\"https://www.propertyfinder.ae/en/search?c=1&t=1\"}]; plain URL strings and detail /en/plp/ URLs are not accepted. Use HTTPS UAE /en/search URLs. Nonempty startUrls override mode and all filters below. Omit or use [] for the default UAE sale search. Unavailable or blocked targets return no rows and later URLs continue.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "mode": {
            "title": "Sale or rental mode (buy or rent)",
            "enum": [
              "buy",
              "rent"
            ],
            "type": "string",
            "description": "Choose \"buy\" for sale listings (default) or \"rent\" for rentals, e.g. \"rent\". Used only when startUrls is omitted or empty; all UAE property types are searched unless filters below are set.",
            "default": "buy"
          },
          "propertyTypeId": {
            "title": "Property type ID (integer)",
            "minimum": 1,
            "type": "integer",
            "description": "Property Finder type ID, e.g. 1 for apartments (t=1 in a search URL). Minimum 1; omit for all property types. Used only when startUrls is omitted or empty."
          },
          "locationId": {
            "title": "Property Finder location ID (string)",
            "type": "string",
            "description": "Property Finder location ID as a string, e.g. \"41\" from l=41 in a working search URL. Omit for all UAE. Accepts IDs, not place names; used only when startUrls is omitted or empty."
          },
          "minPrice": {
            "title": "Minimum advertised AED price (integer)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest advertised price in AED, e.g. 500000. Minimum 0; omit for no lower bound. Used only when startUrls is omitted or empty. Rental amounts follow each listing’s advertised period, not a converted annual price."
          },
          "maxPrice": {
            "title": "Maximum advertised AED price (integer)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest advertised price in AED, e.g. 2000000. Minimum 0; omit for no upper bound. Choose a value at least minPrice. Used only when startUrls is omitted or empty; rental amounts follow the advertised period."
          },
          "bedrooms": {
            "title": "Bedroom labels (list of strings)",
            "type": "array",
            "description": "Bedroom labels as strings, e.g. [\"1\",\"2\"] or [\"studio\"], not numeric values. Copy labels from bdr[] in a working search URL. Omit or use [] for all bedroom counts. Used only when startUrls is omitted or empty; values become bdr[] parameters.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Shared maximum unique listings (integer)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum unique property rows across all startUrls combined, e.g. 7. Integer 1-10000, default 50; prefill 30. Duplicate IDs and project ads do not count. Empty searches or blocked targets may return fewer rows.",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Apify proxy settings (object)",
            "type": "object",
            "description": "Apify proxy options, e.g. {\"useApifyProxy\":true,\"apifyProxyGroups\":[\"RESIDENTIAL\"],\"apifyProxyCountry\":\"AE\"} (default). Property Finder may block direct or datacenter requests. Repeated blocks stop that target; use a residential AE proxy or try another working search URL.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "AE"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}