{
  "openapi": "3.0.1",
  "info": {
    "title": "VivaReal Brazil Property Listing Scraper",
    "description": "Extract property listings from VivaReal, Brazil's leading real estate portal: prices, location, rooms, amenities, media, and seller contact details. Search by city or neighborhood, or paste listing URLs directly.",
    "version": "1.0",
    "x-build-id": "RqFPjXJWAU6kMvgrR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parsebird~vivareal-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parsebird-vivareal-property-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/parsebird~vivareal-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parsebird-vivareal-property-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/parsebird~vivareal-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parsebird-vivareal-property-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "One or more VivaReal listing URLs to scrape directly instead of a location search.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "A city or neighborhood in Brazil, such as \"Rio de Janeiro\" or \"Pinheiros, Sao Paulo\"."
          },
          "deal_type": {
            "title": "Deal Type",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Whether to collect sale or rental listings.",
            "default": "sale"
          },
          "property_type": {
            "title": "Property Type",
            "type": "array",
            "description": "One or more property types to include.",
            "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": [
                "Apartment",
                "Studio",
                "Kitnet",
                "House",
                "Gated Community House",
                "Villa House",
                "Penthouse",
                "Flat",
                "Loft",
                "Residential Land",
                "Townhouse",
                "Farm",
                "Store",
                "Office",
                "Commercial House",
                "Hotel",
                "Corporate Floor",
                "Building",
                "Commercial Land",
                "Storage Unit",
                "Garage"
              ]
            }
          },
          "amenities": {
            "title": "Amenities",
            "type": "array",
            "description": "One or more amenities to include.",
            "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": [
                "Pets Allowed",
                "Heating",
                "Air Conditioning",
                "Service Area",
                "Built-in 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"
              ]
            }
          },
          "min_bedroom": {
            "title": "Minimum Bedrooms",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Minimum bedroom count.",
            "default": ""
          },
          "min_bathroom": {
            "title": "Minimum Bathrooms",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Minimum bathroom count.",
            "default": ""
          },
          "min_parking": {
            "title": "Minimum Parking Spaces",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Minimum parking space count.",
            "default": ""
          },
          "min_price": {
            "title": "Minimum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum listing price. Use whole numbers such as 400000."
          },
          "max_price": {
            "title": "Maximum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum listing price. Use whole numbers such as 3000000."
          },
          "below_market_price": {
            "title": "Below Market Price Only",
            "type": "boolean",
            "description": "When true, keeps only listings marked by VivaReal/DataZAP as below market price.",
            "default": false
          },
          "min_sqm": {
            "title": "Minimum Usable Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum usable area in square meters."
          },
          "max_sqm": {
            "title": "Maximum Usable Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum usable area in square meters."
          },
          "near_transit": {
            "title": "Near Public Transit Only",
            "type": "boolean",
            "description": "When true, keeps only listings tagged as near public transit.",
            "default": false
          },
          "maximize_coverage": {
            "title": "Maximize Coverage",
            "type": "boolean",
            "description": "When true, prioritizes broader retrieval on larger searches when you want stronger dataset completeness.",
            "default": false
          },
          "limit": {
            "title": "Limit",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listings to save for each search seed. Leave empty to collect all available results."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}