{
  "openapi": "3.0.1",
  "info": {
    "title": "Propertyfinder Scraper 🏠",
    "description": "Extract property listings from Property Finder with prices, locations, property types, bedrooms, amenities, agent details, descriptions, images, and listing URLs. Ideal for real estate market research, property data analysis, price tracking, lead generation, and competitive intelligence.",
    "version": "0.0",
    "x-build-id": "7xxCD12VWEwSWBwLf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shahidirfan~Propertyfinder-Scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shahidirfan-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/shahidirfan~Propertyfinder-Scraper/runs": {
      "post": {
        "operationId": "runs-sync-shahidirfan-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/shahidirfan~Propertyfinder-Scraper/run-sync": {
      "post": {
        "operationId": "run-sync-shahidirfan-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": {
          "startUrl": {
            "title": "Start URL",
            "type": "string",
            "description": "PropertyFinder URL to scrape. Messy URLs are auto-normalized and healed when possible.",
            "default": "https://www.propertyfinder.ae/en/buy/dubai/apartments-for-sale.html"
          },
          "location": {
            "title": "Location slug",
            "type": "string",
            "description": "City slug used in the PropertyFinder search URL, for example dubai. When supplied, overrides the location in Start URL. Use Location ID for communities or buildings."
          },
          "category": {
            "title": "Category",
            "enum": [
              "buy",
              "rent"
            ],
            "type": "string",
            "description": "Buy or rent. When supplied, overrides the category in Start URL."
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "apartment",
              "villa",
              "townhouse",
              "penthouse"
            ],
            "type": "string",
            "description": "Property type path segment. When supplied, overrides the type in Start URL."
          },
          "minPrice": {
            "title": "Minimum price (AED)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional minimum property price in AED."
          },
          "maxPrice": {
            "title": "Maximum price (AED)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional maximum property price in AED."
          },
          "bedrooms": {
            "title": "Bedrooms",
            "type": "string",
            "description": "Optional bedroom values, comma-separated. Example: 1,2 or studio."
          },
          "bathrooms": {
            "title": "Bathrooms",
            "type": "string",
            "description": "Optional bathroom values, comma-separated. Example: 2,3."
          },
          "furnished": {
            "title": "Furnishing",
            "enum": [
              "all",
              "1",
              "2",
              "3"
            ],
            "type": "string",
            "description": "Optional furnishing filter."
          },
          "completionStatus": {
            "title": "Completion status",
            "enum": [
              "all",
              "off_plan",
              "completed"
            ],
            "type": "string",
            "description": "Optional construction status filter."
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "featured",
              "newest",
              "price_low",
              "price_high",
              "beds_least"
            ],
            "type": "string",
            "description": "Optional result ordering."
          },
          "verified": {
            "title": "Verified listings only",
            "type": "boolean",
            "description": "Return only verified listings when enabled."
          },
          "trustedAgent": {
            "title": "SuperAgent listings only",
            "type": "boolean",
            "description": "Return only listings from PropertyFinder SuperAgents when enabled."
          },
          "results_wanted": {
            "title": "Maximum number of properties",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of properties to collect. Leave empty to collect all available.",
            "default": 20
          },
          "max_pages": {
            "title": "Maximum number of pages",
            "minimum": 1,
            "type": "integer",
            "description": "Safety cap on the number of search result pages to visit.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}