{
  "openapi": "3.0.1",
  "info": {
    "title": "Scrappe-Imoveis-Zap",
    "description": "Efficiently scrape comprehensive real estate listings (for sale or rent) from Brazil's leading portal, Zap Imóveis (zapimoveis.com.br). Extract key data points including prices (sale/rent, IPTU, condo), full address, property details (area, beds, baths), descriptions, image lists, advertiser, etc.",
    "version": "0.0",
    "x-build-id": "VnovsyP2oVex60bEk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/aiteks.ltda~scrappe-imoveis-zap/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-aiteks.ltda-scrappe-imoveis-zap",
        "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/aiteks.ltda~scrappe-imoveis-zap/runs": {
      "post": {
        "operationId": "runs-sync-aiteks.ltda-scrappe-imoveis-zap",
        "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/aiteks.ltda~scrappe-imoveis-zap/run-sync": {
      "post": {
        "operationId": "run-sync-aiteks.ltda-scrappe-imoveis-zap",
        "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": [
          "state",
          "city",
          "business",
          "searchType",
          "maxPagesPerLocation"
        ],
        "properties": {
          "state": {
            "title": "State",
            "type": "string",
            "description": "Two-letter state abbreviation (e.g., 'RJ', 'SP', 'MG'). Case-insensitive.",
            "default": "RJ"
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City name (e.g., 'Rio de Janeiro', 'São Paulo', 'Belo Horizonte'). Spaces and accents are handled automatically.",
            "default": "Rio de Janeiro"
          },
          "business": {
            "title": "Business Type",
            "enum": [
              "venda",
              "aluguel"
            ],
            "type": "string",
            "description": "Type of real estate transaction.",
            "default": "venda"
          },
          "searchType": {
            "title": "Search Type",
            "enum": [
              "neighborhood",
              "city"
            ],
            "type": "string",
            "description": "Specify 'neighborhood' to search within specific neighborhoods, or 'city' for a full-city search.",
            "default": "neighborhood"
          },
          "neighborhoods": {
            "title": "Neighborhoods",
            "type": "array",
            "description": "List of neighborhood names. Required only if Search Type is 'Neighborhood'. Use plain names (e.g. 'ipanema', 'vila-madalena'). The actor resolves the correct location for the given state and city automatically.",
            "default": [
              "copacabana",
              "ipanema",
              "leblon"
            ],
            "items": {
              "type": "string"
            }
          },
          "propertyTypes": {
            "title": "Property Types",
            "type": "array",
            "description": "Filter by property type. Leave empty to include all types.",
            "items": {
              "type": "string",
              "enum": [
                "Apartamento",
                "Casa",
                "Kitnet",
                "Cobertura",
                "Flat",
                "Loft",
                "Studio",
                "Sobrado",
                "Terreno"
              ]
            },
            "default": []
          },
          "minBedrooms": {
            "title": "Min Bedrooms",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "minBathrooms": {
            "title": "Min Bathrooms",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "minParkingSpaces": {
            "title": "Min Parking Spaces",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Minimum number of parking spaces."
          },
          "minPrice": {
            "title": "Min Price (R$)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum listing price in BRL."
          },
          "maxPrice": {
            "title": "Max Price (R$)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum listing price in BRL."
          },
          "minArea": {
            "title": "Min Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum usable area in square meters."
          },
          "maxArea": {
            "title": "Max Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum usable area in square meters."
          },
          "minCondoFee": {
            "title": "Min Condo Fee (R$/month)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum monthly condominium fee in BRL."
          },
          "maxCondoFee": {
            "title": "Max Condo Fee (R$/month)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum monthly condominium fee in BRL."
          },
          "constructionStatus": {
            "title": "Construction Status",
            "enum": [
              "",
              "Na planta",
              "Em construção",
              "Pronto para morar"
            ],
            "type": "string",
            "description": "Filter by construction status.",
            "default": ""
          },
          "belowMarketPrice": {
            "title": "Below Market Price Only",
            "type": "boolean",
            "description": "If true, only return listings priced below market value.",
            "default": false
          },
          "nearMetro": {
            "title": "Near Metro/Train",
            "type": "boolean",
            "description": "If true, only return listings near a metro or train station.",
            "default": false
          },
          "furnished": {
            "title": "Furnished",
            "type": "boolean",
            "description": "If true, only return furnished listings.",
            "default": false
          },
          "petsAllowed": {
            "title": "Pets Allowed",
            "type": "boolean",
            "description": "If true, only return listings that accept pets.",
            "default": false
          },
          "hasPool": {
            "title": "Has Pool",
            "type": "boolean",
            "description": "If true, only return listings with a pool.",
            "default": false
          },
          "hasBalcony": {
            "title": "Has Balcony",
            "type": "boolean",
            "description": "If true, only return listings with a balcony.",
            "default": false
          },
          "maxPagesPerLocation": {
            "title": "Maximum Pages per Location",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of result pages to scrape per starting location (city or each neighborhood). Stops enqueuing new pages for that location once reached.",
            "default": 100
          },
          "fetchAdvertiserOtherListings": {
            "title": "Fetch Other Listings from Same Advertiser",
            "type": "boolean",
            "description": "If enabled, each unique advertiser found in the results will have their other active listings fetched and included in the output. This makes one extra API request per unique advertiser, which increases cost and run time.",
            "default": false
          },
          "maxRequestsPerCrawl": {
            "title": "Max Total Requests (Global)",
            "type": "integer",
            "description": "A global limit on the total number of pages the crawler will attempt to fetch across all locations during its run. Acts as a safety cap.",
            "default": 10000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}