{
  "openapi": "3.0.1",
  "info": {
    "title": "VivaReal Scraper| $1.5 / 1k | Fast & Reliable",
    "description": "Extract structured Brazil property listings from VivaReal Imoveis with pricing, locations, seller details, media assets, and contact data. Built for enterprise-grade Brazil real estate intelligence, listing monitoring, lead enrichment and automated analytics pipelines.",
    "version": "1.0",
    "x-build-id": "HVDKvwcxbv5vAqrKi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~vivareal-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-vivareal-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/fatihtahta~vivareal-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-vivareal-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/fatihtahta~vivareal-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-vivareal-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": {
          "deal_type": {
            "title": "Choose a deal type",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Choose whether to collect sale listings or rent listings for this run.",
            "default": "sale"
          },
          "location": {
            "title": "Enter the location you want to search",
            "type": "string",
            "description": "Enter one place name or address-style query. Examples: Rio de Janeiro, Estrada de Pau-Ferro, Borrazopolis, Borralho."
          },
          "property_type": {
            "title": "Which property types should be included?",
            "uniqueItems": true,
            "type": "array",
            "description": "Leave this blank to search all property types for the chosen location. Select one or more options to narrow the results.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "studio",
                "kitnet",
                "house",
                "gated_house",
                "villa_house",
                "penthouse",
                "flat",
                "loft",
                "residential_land",
                "townhouse",
                "farm",
                "store",
                "office",
                "commercial_house",
                "hotel",
                "corporate_floor",
                "building",
                "commercial_land",
                "storage",
                "garage"
              ],
              "enumTitles": [
                "🏠 Apartamento | Apartment",
                "🏠 Studio | Studio",
                "🏠 Kitnet | Studio apartment",
                "🏠 Casa | House",
                "🏠 Casa de Condomínio | Gated community house",
                "🏠 Casa de Vila | Villa house",
                "🏠 Cobertura | Penthouse",
                "🏠 Flat | Serviced apartment",
                "🏠 Loft | Loft",
                "🏠 Terreno / Lote / Condomínio | Land / Plot / Condominium lot",
                "🏠 Sobrados | Townhouse",
                "🏠 Fazenda / Sítio / Chácara | Farm / Country house",
                "🏢 Loja / Salão / Ponto Comercial | Store / Shop / Commercial space",
                "🏢 Conjunto Comercial / Sala | Commercial office / Room",
                "🏢 Casa Comercial | Commercial house",
                "🏢 Hotel / Motel / Pousada | Hotel / Motel / Guesthouse",
                "🏢 Andar / Laje Corporativa | Corporate floor / Office floor",
                "🏢 Prédio Inteiro | Entire building",
                "🏢 Terrenos / Lotes Comerciais | Commercial land / Plots",
                "🏢 Galpão / Depósito / Armazém | Warehouse / Storage / Depot",
                "🏢 Garagem | Garage"
              ]
            }
          },
          "amenities": {
            "title": "Which amenities should be included?",
            "uniqueItems": true,
            "type": "array",
            "description": "Leave this blank to search all listings regardless of amenities. Select one or more options to narrow the results.",
            "items": {
              "type": "string",
              "enum": [
                "pets_allowed",
                "heating",
                "air_conditioning",
                "service_area",
                "builtin_wardrobe",
                "bedroom_wardrobe",
                "kitchen_cabinets",
                "bathroom_cabinets",
                "blindex_box",
                "gas_shower",
                "closet",
                "internet_access",
                "american_kitchen",
                "gourmet_kitchen",
                "large_kitchen",
                "home_office",
                "intercom",
                "large_window",
                "furnished",
                "backyard",
                "cable_tv",
                "balcony",
                "gourmet_balcony",
                "natural_ventilation",
                "bathtub",
                "panoramic_view",
                "freezer",
                "cooker",
                "deposit",
                "private_pool"
              ],
              "enumTitles": [
                "✨ Aceita animais | Pets allowed",
                "✨ Aquecimento | Heating",
                "✨ Ar-condicionado | Air conditioning",
                "✨ Área de serviço | Laundry area",
                "✨ Armário embutido | Built-in wardrobe",
                "✨ Armário embutido no quarto | Built-in wardrobe in bedroom",
                "✨ Armário na cozinha | Kitchen cabinets",
                "✨ Armário no banheiro | Bathroom cabinets",
                "✨ Box blindex | Glass shower enclosure",
                "✨ Chuveiro a gás | Gas shower",
                "✨ Closet | Walk-in closet",
                "✨ Conexão à internet | Internet connection",
                "✨ Cozinha americana | Open-plan kitchen",
                "✨ Cozinha gourmet | Gourmet kitchen",
                "✨ Cozinha grande | Large kitchen",
                "✨ Escritório | Home office",
                "✨ Interfone | Intercom",
                "✨ Janela grande | Large windows",
                "✨ Mobiliado | Furnished",
                "✨ Quintal | Backyard",
                "✨ TV a cabo | Cable TV",
                "✨ Varanda | Balcony",
                "✨ Varanda gourmet | Gourmet balcony",
                "✨ Ventilação natural | Natural ventilation",
                "✨ Banheira | Bathtub",
                "✨ Vista panorâmica | Panoramic view",
                "✨ Freezer | Freezer",
                "✨ Fogão | Cooker",
                "✨ Depósito | Deposit",
                "✨ Piscina privativa | Private pool"
              ]
            }
          },
          "min_bedroom": {
            "title": "Minimum bedrooms",
            "enum": [
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Choose the minimum number of bedrooms to include. Example: `2+` keeps listings with 2, 3, or 4 bedrooms."
          },
          "min_bathroom": {
            "title": "Minimum bathrooms",
            "enum": [
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Choose the minimum number of bathrooms to include. Example: `2+` keeps listings with 2, 3, or 4 bathrooms."
          },
          "min_parking": {
            "title": "Minimum parking spaces",
            "enum": [
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Choose the minimum number of parking spaces to include. Example: `1+` keeps listings with 1, 2, 3, or 4 spaces."
          },
          "min_price": {
            "title": "Lowest price to include",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the minimum listing price. Example: `400000` keeps properties priced at 400,000 and above."
          },
          "max_price": {
            "title": "Highest price to include",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the maximum listing price. Example: `3000000` keeps properties priced at 3,000,000 and below."
          },
          "min_sqm": {
            "title": "Smallest usable area to include (sqm)",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the minimum usable area in square meters. Example: `35` keeps listings with 35 sqm or more."
          },
          "max_sqm": {
            "title": "Largest usable area to include (sqm)",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the maximum usable area in square meters. Example: `100` keeps listings with 100 sqm or less."
          },
          "near_transit": {
            "title": "Only show listings near transit",
            "type": "boolean",
            "description": "Enable this to filter for properties that VivaReal tags as close to metro, train, or other transit access.",
            "default": false
          },
          "below_market_price": {
            "title": "Only show below-market deals",
            "type": "boolean",
            "description": "Enable this to keep only listings with VivaReal's below-market pricing badge.",
            "default": false
          },
          "limit": {
            "title": "Maximum results per search",
            "minimum": 1,
            "type": "integer",
            "description": "Set how many listings to save for this run. Leave it empty to collect everything available for the selected search."
          },
          "maximize_coverage": {
            "title": "Maximize coverage on large searches",
            "type": "boolean",
            "description": "Use this option to improve coverage for searches that return very large numbers of listings. It is recommended when you want the most complete results possible for your selected criteria.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}