{
  "description": "Search VivaReal Brazil by city, state, neighborhood, price, area, rooms, property type, and amenities, or look up specific listing URLs/IDs.",
  "properties": {
    "amenities": {
      "description": "Optional amenity codes the listing must have, for example POOL, GYM, ELEVATOR, BARBECUE_GRILL, or PETS_ALLOWED.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "Amenities",
      "type": "array"
    },
    "areaMax": {
      "description": "Maximum usable area in square meters.",
      "maximum": 100000,
      "minimum": 0,
      "title": "Max Usable Area (m²)",
      "type": "integer"
    },
    "areaMin": {
      "description": "Minimum usable area in square meters.",
      "maximum": 100000,
      "minimum": 0,
      "title": "Min Usable Area (m²)",
      "type": "integer"
    },
    "bathroomsMax": {
      "description": "Maximum number of bathrooms.",
      "maximum": 20,
      "minimum": 0,
      "title": "Max Bathrooms",
      "type": "integer"
    },
    "bathroomsMin": {
      "description": "Minimum number of bathrooms.",
      "maximum": 20,
      "minimum": 0,
      "title": "Min Bathrooms",
      "type": "integer"
    },
    "bedroomsMax": {
      "description": "Maximum number of bedrooms.",
      "maximum": 20,
      "minimum": 0,
      "title": "Max Bedrooms",
      "type": "integer"
    },
    "bedroomsMin": {
      "description": "Minimum number of bedrooms.",
      "maximum": 20,
      "minimum": 0,
      "title": "Min Bedrooms",
      "type": "integer"
    },
    "city": {
      "default": "São Paulo",
      "description": "Brazilian city to search, for example São Paulo, Rio de Janeiro, or Belo Horizonte. Use with State.",
      "editor": "textfield",
      "prefill": "São Paulo",
      "title": "City",
      "type": "string"
    },
    "listingType": {
      "default": "USED",
      "description": "Used resale listings, new-development listings, or both.",
      "editor": "select",
      "enum": [
        "USED",
        "DEVELOPMENT",
        "ALL"
      ],
      "enumTitles": [
        "Used / resale",
        "New development",
        "Both"
      ],
      "prefill": "USED",
      "title": "Listing Type",
      "type": "string"
    },
    "listingUrls": {
      "description": "VivaReal listing URLs or numeric IDs to fetch (mode=byUrls). Example: https://www.vivareal.com.br/imovel/2918839249/",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "Listing URLs or IDs",
      "type": "array"
    },
    "maxItems": {
      "default": 50,
      "description": "Maximum number of listings to return.",
      "maximum": 1000,
      "minimum": 1,
      "prefill": 3,
      "title": "Max Items",
      "type": "integer"
    },
    "mode": {
      "default": "sale",
      "description": "Search a Brazilian city for sale/rent listings, or fetch specific listings by URL or ID.",
      "editor": "select",
      "enum": [
        "sale",
        "rent",
        "byUrls",
        "searchForSale",
        "searchForRent"
      ],
      "enumTitles": [
        "Properties for sale",
        "Properties for rent",
        "Look up listings by URL or ID",
        "Properties for sale (legacy saved task)",
        "Properties for rent (legacy saved task)"
      ],
      "prefill": "sale",
      "title": "Mode",
      "type": "string"
    },
    "neighborhood": {
      "description": "Optional neighborhood within the city, for example Pinheiros or Copacabana.",
      "editor": "textfield",
      "title": "Neighborhood",
      "type": "string"
    },
    "parkingMin": {
      "description": "Minimum number of parking spaces.",
      "maximum": 20,
      "minimum": 0,
      "title": "Min Parking Spaces",
      "type": "integer"
    },
    "priceMax": {
      "description": "Maximum price in Brazilian reais. Not Colombian pesos.",
      "maximum": 10000000000,
      "minimum": 0,
      "title": "Max Price (BRL)",
      "type": "integer"
    },
    "priceMin": {
      "description": "Minimum price in Brazilian reais. Not Colombian pesos.",
      "maximum": 10000000000,
      "minimum": 0,
      "title": "Min Price (BRL)",
      "type": "integer"
    },
    "propertyType": {
      "default": "ANY",
      "description": "Filter by property type. Legacy values TERRAIN and COMMERCIAL still work.",
      "editor": "select",
      "enum": [
        "ANY",
        "APARTMENT",
        "HOME",
        "PENTHOUSE",
        "FLAT",
        "KITNET",
        "OFFICE",
        "ALLOTMENT_LAND",
        "COMMERCIAL_PROPERTY",
        "COMMERCIAL_BUILDING",
        "WAREHOUSE",
        "GARAGE",
        "FARM",
        "HOTEL",
        "TERRAIN",
        "COMMERCIAL"
      ],
      "enumTitles": [
        "Any type",
        "Apartment",
        "House",
        "Penthouse",
        "Flat",
        "Kitnet / studio",
        "Office",
        "Land / lot",
        "Commercial property",
        "Commercial building",
        "Warehouse",
        "Garage",
        "Farm",
        "Hotel",
        "Land (legacy alias)",
        "Commercial (legacy alias)"
      ],
      "prefill": "ANY",
      "title": "Property Type",
      "type": "string"
    },
    "state": {
      "default": "SP",
      "description": "Brazilian state (UF) that contains the city.",
      "editor": "select",
      "enum": [
        "AC",
        "AL",
        "AP",
        "AM",
        "BA",
        "CE",
        "DF",
        "ES",
        "GO",
        "MA",
        "MT",
        "MS",
        "MG",
        "PA",
        "PB",
        "PR",
        "PE",
        "PI",
        "RJ",
        "RN",
        "RS",
        "RO",
        "RR",
        "SC",
        "SP",
        "SE",
        "TO"
      ],
      "enumTitles": [
        "Acre",
        "Alagoas",
        "Amapá",
        "Amazonas",
        "Bahia",
        "Ceará",
        "Distrito Federal",
        "Espírito Santo",
        "Goiás",
        "Maranhão",
        "Mato Grosso",
        "Mato Grosso do Sul",
        "Minas Gerais",
        "Pará",
        "Paraíba",
        "Paraná",
        "Pernambuco",
        "Piauí",
        "Rio de Janeiro",
        "Rio Grande do Norte",
        "Rio Grande do Sul",
        "Rondônia",
        "Roraima",
        "Santa Catarina",
        "São Paulo",
        "Sergipe",
        "Tocantins"
      ],
      "prefill": "SP",
      "title": "State",
      "type": "string"
    },
    "usageType": {
      "default": "ANY",
      "description": "Residential, commercial, or any usage.",
      "editor": "select",
      "enum": [
        "ANY",
        "RESIDENTIAL",
        "COMMERCIAL"
      ],
      "enumTitles": [
        "Any usage",
        "Residential",
        "Commercial"
      ],
      "prefill": "ANY",
      "title": "Usage",
      "type": "string"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "VivaReal Brazil Scraper Input",
  "type": "object"
}
