{
  "openapi": "3.0.1",
  "info": {
    "title": "Fazwaz Thailand Property Scraper for Sale and Rent",
    "description": "Collect public FazWaz homes for sale or rent across Thailand. Get prices, property facts, places, photos, and public agent details for research or exports.",
    "version": "1.0",
    "x-build-id": "1REZwwHlLpHl5nxp2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~fazwaz-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-fazwaz-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/maximedupre~fazwaz-scraper/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-fazwaz-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/maximedupre~fazwaz-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-fazwaz-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",
        "required": [
          "target"
        ],
        "properties": {
          "target": {
            "title": "Find listings by",
            "enum": [
              "province",
              "resultsUrls",
              "propertyUrls"
            ],
            "type": "string",
            "description": "Choose one way to find listings per run: by a Thai province or place, from FazWaz results URLs, or from FazWaz property URLs."
          },
          "provinces": {
            "title": "Thai provinces or places",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Enter one or more Thai province or place names, such as Bangkok or Phuket. Used only for the Province search choice.",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "default": [
              "Bangkok"
            ]
          },
          "transaction": {
            "title": "For sale or rent",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Choose whether to find properties for sale or for rent. Used only for the Province search choice.",
            "default": "sale"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Set the lowest asking price or monthly rent in Thai baht. Leave empty for no minimum. Used only for the Province search choice.",
            "default": null
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Set the highest asking price or monthly rent in Thai baht. Leave empty for no maximum. Used only for the Province search choice.",
            "default": null
          },
          "bedrooms": {
            "title": "Bedrooms",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the bedroom counts to include. Leave empty to include any count. Used only for the Province search choice.",
            "items": {
              "type": "string",
              "enum": [
                "studio",
                "1",
                "2",
                "3",
                "4",
                "5+"
              ],
              "enumTitles": [
                "Studio",
                "1 bedroom",
                "2 bedrooms",
                "3 bedrooms",
                "4 bedrooms",
                "5 or more bedrooms"
              ]
            },
            "default": []
          },
          "bathrooms": {
            "title": "Bathrooms",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the bathroom counts to include. Leave empty to include any count. Used only for the Province search choice.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5+"
              ],
              "enumTitles": [
                "1 bathroom",
                "2 bathrooms",
                "3 bathrooms",
                "4 bathrooms",
                "5 or more bathrooms"
              ]
            },
            "default": []
          },
          "propertyTypes": {
            "title": "Property types",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the property types to include. Leave empty to include all types. Used only for the Province search choice.",
            "items": {
              "type": "string",
              "enum": [
                "condo",
                "villa",
                "house",
                "townhouse",
                "apartment",
                "penthouse",
                "land"
              ],
              "enumTitles": [
                "Condo",
                "Villa",
                "House",
                "Townhouse",
                "Apartment",
                "Penthouse",
                "Land"
              ]
            },
            "default": []
          },
          "completion": {
            "title": "Completion",
            "enum": [
              "both",
              "completed",
              "offPlan"
            ],
            "type": "string",
            "description": "Choose completed properties, off-plan properties, or both. Used only for the Province search choice.",
            "default": "both"
          },
          "order": {
            "title": "Order",
            "enum": [
              "recommended",
              "newest",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Choose the order used by FazWaz. Used only for the Province search choice.",
            "default": "recommended"
          },
          "resultsUrls": {
            "title": "FazWaz results URLs",
            "minItems": 1,
            "type": "array",
            "description": "Add one or more public FazWaz search or results page URLs. Filters in each URL are kept. Used only for the Results URLs choice.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL",
                  "description": "A public FazWaz search or results page URL.",
                  "pattern": "^https?://(?:www\\.)?fazwaz\\.[^/]+/.+"
                }
              },
              "required": [
                "url"
              ],
              "additionalProperties": true
            }
          },
          "propertyUrls": {
            "title": "FazWaz property URLs",
            "minItems": 1,
            "type": "array",
            "description": "Add one or more public FazWaz property-detail URLs. Each URL returns full property details. Used only for the Property URLs choice.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL",
                  "description": "A public FazWaz property-detail page URL.",
                  "pattern": "^https?://(?:www\\.)?fazwaz\\.[^/]+/.+"
                }
              },
              "required": [
                "url"
              ],
              "additionalProperties": true
            }
          },
          "depth": {
            "title": "Data depth",
            "enum": [
              "overview",
              "detail"
            ],
            "type": "string",
            "description": "Choose a fast listing-card scan or full property details. This applies to the Province search and Results URLs choices. Property URLs always return full property details.",
            "default": "overview"
          },
          "maxResults": {
            "title": "Maximum listings",
            "minimum": 1,
            "type": "integer",
            "description": "Set the most listings to return from each province or results URL. Leave empty to collect all available listings until FazWaz has no more matches. This field applies only to Province search and Results URLs."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}