{
  "openapi": "3.0.1",
  "info": {
    "title": "Brazil Real Estate Scraper - VivaReal & ZAP Imóveis",
    "description": "Scrape Brazilian real estate listings from VivaReal and ZAP Imóveis. Extract sale and rental properties with price, IPTU, condo fee, area, bedrooms, address, lat/lon, amenities, and publisher contact.",
    "version": "1.0",
    "x-build-id": "wfBHTpuUNmHyA9E64"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jungle_synthesizer~brazil-vivareal-zap-imoveis-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jungle_synthesizer-brazil-vivareal-zap-imoveis-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/jungle_synthesizer~brazil-vivareal-zap-imoveis-scraper/runs": {
      "post": {
        "operationId": "runs-sync-jungle_synthesizer-brazil-vivareal-zap-imoveis-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/jungle_synthesizer~brazil-vivareal-zap-imoveis-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-jungle_synthesizer-brazil-vivareal-zap-imoveis-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": {
          "sp_intended_usage": {
            "title": "What is the intended usage of this data?",
            "minLength": 1,
            "type": "string",
            "description": "Please describe how you plan to use the data extracted by this crawler."
          },
          "sp_improvement_suggestions": {
            "title": "How can we improve this crawler for you?",
            "minLength": 1,
            "type": "string",
            "description": "Provide any feedback or suggestions for improvements."
          },
          "sp_contact": {
            "title": "Contact Email",
            "minLength": 1,
            "type": "string",
            "description": "Provide your email address so we can get in touch with you."
          },
          "portal": {
            "title": "Portal",
            "enum": [
              "VIVAREAL",
              "ZAP",
              "BOTH"
            ],
            "type": "string",
            "description": "Which portal to scrape. Both run by Grupo ZAP and share the same backend.",
            "default": "VIVAREAL"
          },
          "business": {
            "title": "Business Type",
            "enum": [
              "SALE",
              "RENTAL",
              "VACATIONAL"
            ],
            "type": "string",
            "description": "Sale, rental, or seasonal/vacation listings.",
            "default": "SALE"
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "",
              "APARTMENT",
              "HOME",
              "ALLOTMENT_LAND",
              "COMMERCIAL_BUILDING",
              "COMMERCIAL_PROPERTY",
              "FARM",
              "OFFICE"
            ],
            "type": "string",
            "description": "Filter by property type.",
            "default": ""
          },
          "state": {
            "title": "State (UF)",
            "enum": [
              "SP",
              "RJ",
              "MG",
              "RS",
              "PR",
              "SC",
              "BA",
              "DF",
              "PE",
              "CE",
              "GO",
              "ES",
              "PA",
              "AM",
              "MT",
              "MS",
              "MA",
              "PB",
              "RN",
              "AL",
              "PI",
              "SE",
              "TO",
              "RO",
              "AC",
              "AP",
              "RR"
            ],
            "type": "string",
            "description": "Brazilian state (two-letter UF code).",
            "default": "RJ"
          },
          "city": {
            "title": "City",
            "enum": [
              "",
              "Rio Branco",
              "Arapiraca",
              "Maceió",
              "Manaus",
              "Parintins",
              "Macapá",
              "Barreiras",
              "Camaçari",
              "Feira de Santana",
              "Ilhéus",
              "Itabuna",
              "Juazeiro",
              "Lauro de Freitas",
              "Porto Seguro",
              "Salvador",
              "Teixeira de Freitas",
              "Vitória da Conquista",
              "Caucaia",
              "Crato",
              "Fortaleza",
              "Juazeiro do Norte",
              "Maracanaú",
              "Sobral",
              "Brasília",
              "Cachoeiro de Itapemirim",
              "Cariacica",
              "Guarapari",
              "Linhares",
              "São Mateus",
              "Serra",
              "Vila Velha",
              "Vitória",
              "Águas Lindas de Goiás",
              "Anápolis",
              "Aparecida de Goiânia",
              "Goiânia",
              "Luziânia",
              "Rio Verde",
              "Valparaíso de Goiás",
              "Caxias",
              "Imperatriz",
              "São José de Ribamar",
              "São Luís",
              "Timon",
              "Belo Horizonte",
              "Betim",
              "Contagem",
              "Divinópolis",
              "Governador Valadares",
              "Ipatinga",
              "Juiz de Fora",
              "Montes Claros",
              "Patos de Minas",
              "Poços de Caldas",
              "Pouso Alegre",
              "Ribeirão das Neves",
              "Santa Luzia",
              "Sete Lagoas",
              "Uberaba",
              "Uberlândia",
              "Campo Grande",
              "Dourados",
              "Três Lagoas",
              "Cuiabá",
              "Rondonópolis",
              "Sinop",
              "Várzea Grande",
              "Ananindeua",
              "Belém",
              "Castanhal",
              "Marabá",
              "Parauapebas",
              "Santarém",
              "Campina Grande",
              "João Pessoa",
              "Patos",
              "Santa Rita",
              "Cabo de Santo Agostinho",
              "Camaragibe",
              "Caruaru",
              "Garanhuns",
              "Jaboatão dos Guararapes",
              "Olinda",
              "Paulista",
              "Petrolina",
              "Recife",
              "Parnaíba",
              "Picos",
              "Teresina",
              "Apucarana",
              "Araucária",
              "Cascavel",
              "Colombo",
              "Curitiba",
              "Foz do Iguaçu",
              "Guarapuava",
              "Londrina",
              "Maringá",
              "Paranaguá",
              "Pinhais",
              "Ponta Grossa",
              "São José dos Pinhais",
              "Toledo",
              "Angra dos Reis",
              "Barra Mansa",
              "Belford Roxo",
              "Cabo Frio",
              "Campos dos Goytacazes",
              "Duque de Caxias",
              "Itaboraí",
              "Macaé",
              "Magé",
              "Niterói",
              "Nova Friburgo",
              "Nova Iguaçu",
              "Petrópolis",
              "Resende",
              "Rio de Janeiro",
              "São Gonçalo",
              "São João de Meriti",
              "Teresópolis",
              "Volta Redonda",
              "Mossoró",
              "Natal",
              "Parnamirim",
              "São Gonçalo do Amarante",
              "Porto Velho",
              "Boa Vista",
              "Alvorada",
              "Bento Gonçalves",
              "Canoas",
              "Caxias do Sul",
              "Gravataí",
              "Novo Hamburgo",
              "Passo Fundo",
              "Pelotas",
              "Porto Alegre",
              "Rio Grande",
              "Santa Cruz do Sul",
              "Santa Maria",
              "São Leopoldo",
              "Viamão",
              "Balneário Camboriú",
              "Blumenau",
              "Brusque",
              "Chapecó",
              "Criciúma",
              "Florianópolis",
              "Itajaí",
              "Jaraguá do Sul",
              "Joinville",
              "Lages",
              "Palhoça",
              "São José",
              "Tubarão",
              "Aracaju",
              "Lagarto",
              "Nossa Senhora do Socorro",
              "Americana",
              "Araraquara",
              "Barueri",
              "Bauru",
              "Campinas",
              "Carapicuíba",
              "Cotia",
              "Diadema",
              "Embu das Artes",
              "Franca",
              "Guarujá",
              "Guarulhos",
              "Hortolândia",
              "Indaiatuba",
              "Jacareí",
              "Jundiaí",
              "Limeira",
              "Marília",
              "Mauá",
              "Mogi das Cruzes",
              "Osasco",
              "Piracicaba",
              "Praia Grande",
              "Presidente Prudente",
              "Ribeirão Preto",
              "Rio Claro",
              "Santo André",
              "Santos",
              "São Bernardo do Campo",
              "São Caetano do Sul",
              "São José do Rio Preto",
              "São José dos Campos",
              "São Paulo",
              "São Vicente",
              "Sorocaba",
              "Sumaré",
              "Suzano",
              "Taubaté",
              "Palmas"
            ],
            "type": "string",
            "description": "Pick the city to scrape. Make sure it matches the selected state. Leave as \"All cities in state\" to scrape the whole state.",
            "default": "Rio de Janeiro"
          },
          "maxItems": {
            "title": "Max Items",
            "type": "integer",
            "description": "Maximum number of listings to scrape.",
            "default": 15
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}