{
  "data": {
    "id": "zT1Qzg0VWyjBONG32",
    "actId": "L7dXVmQ0gTb3XRpsx",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-11-01T13:09:27.690Z",
    "finishedAt": "2026-11-01T13:09:31.374Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 3568,
      "runTimeSecs": 3.568,
      "computeUnits": 0.003964444444444444,
      "imageSizeBytes": 318955520
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"QuintoAndar Brazil Listings Input\",\n  \"description\": \"Choose a location or paste listing URLs, then narrow by price, size, rooms, amenities and more.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"Search rentals, search properties for sale, or load specific listings by URL or ID.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"rent\",\n        \"buy\",\n        \"byUrls\"\n      ],\n      \"enumTitles\": [\n        \"Rentals by location\",\n        \"Properties for sale by location\",\n        \"Specific listings by URL or ID\"\n      ],\n      \"default\": \"rent\",\n      \"prefill\": \"rent\"\n    },\n    \"city\": {\n      \"title\": \"City or region\",\n      \"type\": \"string\",\n      \"description\": \"QuintoAndar location to search (mode=rent or buy).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"sao-paulo-sp-brasil\",\n        \"rio-de-janeiro-rj-brasil\",\n        \"belo-horizonte-mg-brasil\",\n        \"porto-alegre-rs-brasil\",\n        \"brasilia-df-brasil\",\n        \"curitiba-pr-brasil\",\n        \"goiania-go-brasil\",\n        \"campinas-sp-brasil\",\n        \"canoas-rs-brasil\",\n        \"guarulhos-sp-brasil\",\n        \"jundiai-sp-brasil\",\n        \"nova-lima-mg-brasil\",\n        \"novo-hamburgo-rs-brasil\",\n        \"niteroi-rj-brasil\",\n        \"osasco-sp-brasil\",\n        \"santo-andre-sp-brasil\",\n        \"sao-bernardo-do-campo-sp-brasil\",\n        \"sao-caetano-do-sul-sp-brasil\",\n        \"barueri-sp-brasil\",\n        \"sao-leopoldo-rs-brasil\",\n        \"florianopolis-sc-brasil\",\n        \"sao-jose-sc-brasil\",\n        \"palhoca-sc-brasil\",\n        \"contagem-mg-brasil\",\n        \"taboao-da-serra-sp-brasil\",\n        \"diadema-sp-brasil\",\n        \"sao-jose-dos-pinhais-pr-brasil\",\n        \"varzea-paulista-sp-brasil\",\n        \"pinhais-pr-brasil\",\n        \"santana-de-parnaiba-sp-brasil\",\n        \"santos-sp-brasil\",\n        \"salvador-ba-brasil\",\n        \"mogi-das-cruzes-sp-brasil\",\n        \"sao-jose-dos-campos-sp-brasil\",\n        \"cotia-sp-brasil\",\n        \"ribeirao-preto-sp-brasil\",\n        \"sorocaba-sp-brasil\",\n        \"uberlandia-mg-brasil\",\n        \"maua-sp-brasil\",\n        \"valinhos-sp-brasil\",\n        \"vinhedo-sp-brasil\",\n        \"indaiatuba-sp-brasil\",\n        \"nova-iguacu-rj-brasil\",\n        \"americana-sp-brasil\",\n        \"hortolandia-sp-brasil\",\n        \"paulinia-sp-brasil\",\n        \"praia-grande-sp-brasil\",\n        \"guaruja-sp-brasil\",\n        \"carapicuiba-sp-brasil\",\n        \"votorantim-sp-brasil\",\n        \"sao-vicente-sp-brasil\",\n        \"duque-de-caxias-rj-brasil\",\n        \"sao-goncalo-rj-brasil\",\n        \"betim-mg-brasil\",\n        \"aparecida-de-goiania-go-brasil\",\n        \"suzano-sp-brasil\",\n        \"itaquaquecetuba-sp-brasil\",\n        \"sumare-sp-brasil\",\n        \"embu-das-artes-sp-brasil\",\n        \"ferraz-de-vasconcelos-sp-brasil\",\n        \"poa-sp-brasil\",\n        \"gravatai-rs-brasil\",\n        \"viamao-rs-brasil\",\n        \"alvorada-rs-brasil\",\n        \"belford-roxo-rj-brasil\",\n        \"nilopolis-rj-brasil\",\n        \"mesquita-rj-brasil\",\n        \"taubate-sp-brasil\",\n        \"jacarei-sp-brasil\",\n        \"ribeirao-das-neves-mg-brasil\",\n        \"ribeirao-pires-sp-brasil\",\n        \"brumadinho-mg-brasil\",\n        \"itabirito-mg-brasil\",\n        \"lagoa-santa-mg-brasil\",\n        \"sabara-mg-brasil\",\n        \"vespasiano-mg-brasil\",\n        \"rio-acima-mg-brasil\",\n        \"santa-luzia-mg-brasil\",\n        \"marica-rj-brasil\",\n        \"cabo-frio-rj-brasil\",\n        \"petropolis-rj-brasil\",\n        \"sapucaia-do-sul-rs-brasil\",\n        \"macae-rj-brasil\",\n        \"cachoeirinha-rs-brasil\",\n        \"juiz-de-fora-mg-brasil\",\n        \"rio-das-ostras-rj-brasil\",\n        \"sao-carlos-sp-brasil\",\n        \"piracicaba-sp-brasil\",\n        \"limeira-sp-brasil\",\n        \"montes-claros-mg-brasil\",\n        \"londrina-pr-brasil\",\n        \"maringa-pr-brasil\",\n        \"ponta-grossa-pr-brasil\",\n        \"volta-redonda-rj-brasil\",\n        \"santa-maria-rs-brasil\",\n        \"caxias-do-sul-rs-brasil\",\n        \"uberaba-mg-brasil\",\n        \"campos-dos-goytacazes-rj-brasil\",\n        \"anapolis-go-brasil\"\n      ],\n      \"enumTitles\": [\n        \"São Paulo\",\n        \"Rio de Janeiro\",\n        \"Belo Horizonte\",\n        \"Porto Alegre\",\n        \"Brasília\",\n        \"Curitiba\",\n        \"Goiânia\",\n        \"Campinas\",\n        \"Canoas\",\n        \"Guarulhos\",\n        \"Jundiaí\",\n        \"Nova Lima\",\n        \"Novo Hamburgo\",\n        \"Niterói\",\n        \"Osasco\",\n        \"Santo André\",\n        \"São Bernardo do Campo\",\n        \"São Caetano do Sul\",\n        \"Barueri\",\n        \"São Leopoldo\",\n        \"Florianópolis\",\n        \"São José\",\n        \"Palhoça\",\n        \"Contagem\",\n        \"Taboão da Serra\",\n        \"Diadema\",\n        \"São José dos Pinhais\",\n        \"Várzea Paulista\",\n        \"Pinhais\",\n        \"Santana de Parnaíba\",\n        \"Santos\",\n        \"Salvador\",\n        \"Mogi das Cruzes\",\n        \"São José dos Campos\",\n        \"Cotia\",\n        \"Ribeirão Preto\",\n        \"Sorocaba\",\n        \"Uberlândia\",\n        \"Mauá\",\n        \"Valinhos\",\n        \"Vinhedo\",\n        \"Indaiatuba\",\n        \"Nova Iguaçu\",\n        \"Americana\",\n        \"Hortolândia\",\n        \"Paulínia\",\n        \"Praia Grande\",\n        \"Guarujá\",\n        \"Carapicuíba\",\n        \"Votorantim\",\n        \"São Vicente\",\n        \"Duque de Caxias\",\n        \"São Gonçalo\",\n        \"Betim\",\n        \"Aparecida de Goiânia\",\n        \"Suzano\",\n        \"Itaquaquecetuba\",\n        \"Sumaré\",\n        \"Embu das Artes\",\n        \"Ferraz de Vasconcelos\",\n        \"Poá\",\n        \"Gravataí\",\n        \"Viamão\",\n        \"Alvorada\",\n        \"Belford Roxo\",\n        \"Nilópolis\",\n        \"Mesquita\",\n        \"Taubaté\",\n        \"Jacareí\",\n        \"Ribeirão das Neves\",\n        \"Ribeirão Pires\",\n        \"Brumadinho\",\n        \"Itabirito\",\n        \"Lagoa Santa\",\n        \"Sabará\",\n        \"Vespasiano\",\n        \"Rio Acima\",\n        \"Santa Luzia\",\n        \"Maricá\",\n        \"Cabo Frio\",\n        \"Petrópolis\",\n        \"Sapucaia do Sul\",\n        \"Macaé\",\n        \"Cachoeirinha\",\n        \"Juiz de Fora\",\n        \"Rio das Ostras\",\n        \"São Carlos\",\n        \"Piracicaba\",\n        \"Limeira\",\n        \"Montes Claros\",\n        \"Londrina\",\n        \"Maringá\",\n        \"Ponta Grossa\",\n        \"Volta Redonda\",\n        \"Santa Maria\",\n        \"Caxias do Sul\",\n        \"Uberaba\",\n        \"Campos dos Goytacazes\",\n        \"Anápolis\"\n      ],\n      \"default\": \"sao-paulo-sp-brasil\",\n      \"prefill\": \"sao-paulo-sp-brasil\"\n    },\n    \"neighborhood\": {\n      \"title\": \"Neighborhood\",\n      \"type\": \"string\",\n      \"description\": \"Optional neighborhood inside the selected city, e.g. Pinheiros or Copacabana (mode=rent or buy).\",\n      \"editor\": \"textfield\"\n    },\n    \"propertyType\": {\n      \"title\": \"Property type\",\n      \"type\": \"string\",\n      \"description\": \"Restrict results to one property type (mode=rent or buy).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"ANY\",\n        \"APARTMENT\",\n        \"HOUSE\",\n        \"HOUSE_CONDO\",\n        \"STUDIO\"\n      ],\n      \"enumTitles\": [\n        \"Any type\",\n        \"Apartment\",\n        \"House\",\n        \"House in a condominium\",\n        \"Studio or kitchenette\"\n      ],\n      \"default\": \"ANY\",\n      \"prefill\": \"ANY\"\n    },\n    \"priceBasis\": {\n      \"title\": \"Price basis\",\n      \"type\": \"string\",\n      \"description\": \"Whether price filters apply to the base rent or the total monthly cost (mode=rent). Buy mode always uses the sale price.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"rent\",\n        \"total\"\n      ],\n      \"enumTitles\": [\n        \"Base rent\",\n        \"Total monthly cost\"\n      ],\n      \"default\": \"rent\",\n      \"prefill\": \"rent\"\n    },\n    \"priceMin\": {\n      \"title\": \"Minimum price (BRL)\",\n      \"type\": \"integer\",\n      \"description\": \"Lowest price to include, in Brazilian reais.\",\n      \"minimum\": 0,\n      \"maximum\": 100000000\n    },\n    \"priceMax\": {\n      \"title\": \"Maximum price (BRL)\",\n      \"type\": \"integer\",\n      \"description\": \"Highest price to include, in Brazilian reais.\",\n      \"minimum\": 0,\n      \"maximum\": 100000000\n    },\n    \"areaMin\": {\n      \"title\": \"Minimum area (m²)\",\n      \"type\": \"integer\",\n      \"description\": \"Smallest usable area to include, in square metres.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"areaMax\": {\n      \"title\": \"Maximum area (m²)\",\n      \"type\": \"integer\",\n      \"description\": \"Largest usable area to include, in square metres.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"bedroomsMin\": {\n      \"title\": \"Minimum bedrooms\",\n      \"type\": \"integer\",\n      \"description\": \"Fewest bedrooms a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"bedroomsMax\": {\n      \"title\": \"Maximum bedrooms\",\n      \"type\": \"integer\",\n      \"description\": \"Most bedrooms a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"bathroomsMin\": {\n      \"title\": \"Minimum bathrooms\",\n      \"type\": \"integer\",\n      \"description\": \"Fewest bathrooms a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"bathroomsMax\": {\n      \"title\": \"Maximum bathrooms\",\n      \"type\": \"integer\",\n      \"description\": \"Most bathrooms a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"parkingMin\": {\n      \"title\": \"Minimum parking spaces\",\n      \"type\": \"integer\",\n      \"description\": \"Fewest parking spaces a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"parkingMax\": {\n      \"title\": \"Maximum parking spaces\",\n      \"type\": \"integer\",\n      \"description\": \"Most parking spaces a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"suitesMin\": {\n      \"title\": \"Minimum suites\",\n      \"type\": \"integer\",\n      \"description\": \"Fewest suites a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"suitesMax\": {\n      \"title\": \"Maximum suites\",\n      \"type\": \"integer\",\n      \"description\": \"Most suites a listing may have.\",\n      \"minimum\": 0,\n      \"maximum\": 20\n    },\n    \"furnished\": {\n      \"title\": \"Furnished\",\n      \"type\": \"string\",\n      \"description\": \"Include only furnished listings, only unfurnished listings, or both.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"yes\",\n        \"no\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Furnished only\",\n        \"Unfurnished only\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"acceptsPets\": {\n      \"title\": \"Accepts pets\",\n      \"type\": \"string\",\n      \"description\": \"Include only listings that accept pets, or all listings.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"yes\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Accepts pets only\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"nearSubway\": {\n      \"title\": \"Near subway\",\n      \"type\": \"string\",\n      \"description\": \"Include only listings marked close to a metro or train station, or all listings.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"yes\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Near subway only\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"amenities\": {\n      \"title\": \"Unit amenities\",\n      \"type\": \"array\",\n      \"description\": \"Property feature codes that must all be present, e.g. VARANDA, AR_CONDICIONADO (mode=rent or buy).\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"installations\": {\n      \"title\": \"Building facilities\",\n      \"type\": \"array\",\n      \"description\": \"Building facility codes that must all be present, e.g. PISCINA, ACADEMIA (mode=rent or buy).\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"availability\": {\n      \"title\": \"Availability\",\n      \"type\": \"string\",\n      \"description\": \"When the property can be occupied (mode=rent).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"immediate\",\n        \"soon\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Available immediately\",\n        \"Available soon\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"sortBy\": {\n      \"title\": \"Sort by\",\n      \"type\": \"string\",\n      \"description\": \"Order of the returned listings. Cheapest and most expensive use total monthly cost; highest rental return is the investor yield order.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"relevance\",\n        \"newest\",\n        \"cheapest\",\n        \"expensive\",\n        \"highestRent\"\n      ],\n      \"enumTitles\": [\n        \"Relevance\",\n        \"Newest\",\n        \"Cheapest\",\n        \"Most expensive\",\n        \"Highest rental return\"\n      ],\n      \"default\": \"relevance\",\n      \"prefill\": \"relevance\"\n    },\n    \"developmentsOnly\": {\n      \"title\": \"New developments only\",\n      \"type\": \"boolean\",\n      \"description\": \"Show only new-development listings (mode=buy).\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"exactCityOnly\": {\n      \"title\": \"Exact city only\",\n      \"type\": \"boolean\",\n      \"description\": \"Drop listings from neighbouring municipalities that QuintoAndar includes in a city search.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeDetails\": {\n      \"title\": \"Include detail fields\",\n      \"type\": \"boolean\",\n      \"description\": \"Load each listing's detail page for description, separate condo fee and IPTU, ZIP code, coordinates and full photo captions.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"listingUrls\": {\n      \"title\": \"Listing URLs or IDs\",\n      \"type\": \"array\",\n      \"description\": \"QuintoAndar listing links or numeric property IDs (mode=byUrls). Duplicates are ignored.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"maxItems\": {\n      \"title\": \"Maximum listings\",\n      \"type\": \"integer\",\n      \"description\": \"Hard cap on the number of listings returned (1-5000). Values above 1000 use price-slice partitioning.\",\n      \"minimum\": 1,\n      \"maximum\": 5000,\n      \"default\": 500,\n      \"prefill\": 3\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Brazil Rental & Sale Listings by City (QuintoAndar)\n\nQuintoAndar is one of Brazil's largest home rental and sale marketplaces, covering São Paulo, Rio de Janeiro, Belo Horizonte and dozens of other metro areas. This actor searches its public listings by city or neighborhood and returns structured property records: transaction prices, monthly costs, size, rooms, address, amenities, photos and optional detail-page enrichment. No account, cookie or proxy setup is needed.\n\n## What this actor does\n\n- **Three modes:** search rentals (`rent`), search properties for sale (`buy`), or load specific listings by URL or numeric ID (`byUrls`)\n- **99 locations**, with optional neighborhood search inside any city\n- **Server-side filters:** property type, price (base rent, total monthly cost or sale price), area, bedrooms, bathrooms, parking, suites, furnished, pets, near subway, amenities, building facilities, availability and sort order (`cheapest`/`expensive` use total monthly cost; `highestRent` is the rental-return order)\n- **Large result sets:** up to 1,000 listings per query and up to 5,000 per run through automatic price-slice partitioning\n- **Optional detail enrichment:** description, separate condo fee and IPTU, ZIP code, state, coordinates, full photo gallery with captions, construction year, floor range and project data\n- **Empty fields are omitted** from each record instead of being returned as null\n\n## Output per property\n\n- `propertyId` — QuintoAndar property ID\n- `title` — composed title with property type, bedrooms, neighborhood and city\n- `propertyType` — Apartamento, Casa, CasaCondominio or StudioOuKitchenette\n- `rentPrice` — base monthly rent in BRL\n- `salePrice` — sale price in BRL\n- `totalMonthlyCost` — rent plus condo fee and IPTU, in BRL\n- `condoAndIptu` — combined condo fee and IPTU, in BRL\n- `condoFee` — monthly condo fee in BRL (with detail enrichment)\n- `iptu` — monthly IPTU in BRL (with detail enrichment)\n- `iptuPeriod` — always `monthly` when `iptu` is present\n- `currency` — always `BRL`\n- `areaSqM` — usable area in square metres\n- `bedrooms`, `bathrooms`, `suites`, `parkingSpots` — room counts; real zero values are kept\n- `street`, `neighborhood`, `region`, `city` — address fields\n- `state`, `stateCode`, `zipCode` — state and postal code (with detail enrichment)\n- `latitude`, `longitude` — map coordinates (with detail enrichment)\n- `amenities[]` — unit feature codes, e.g. `VARANDA`, `AR_CONDICIONADO`\n- `amenitiesText[]` — human-readable amenity labels (with detail enrichment)\n- `installations[]` — building facility codes, e.g. `PISCINA`, `ACADEMIA`\n- `installationsText[]` — human-readable facility labels (with detail enrichment)\n- `photos[]` — every property photo as a working image URL\n- `photoCaptions[]` — captions parallel to `photos[]` when every photo has one\n- `imageUrl` — primary property image URL\n- `isFurnished`, `forSale`, `forRent`, `acceptsPets`, `nearSubway` — listing flags\n- `yieldRate`, `yieldStrategy` — rental yield and its calculation basis, when published\n- `visitStatus` — current visit availability\n- `lastPublishedDate`, `firstPublishedDate` — publication timestamps\n- `listingTags[]`, `specialConditions[]` — listing tags and exclusivity-style conditions\n- `isPrimaryMarket`, `developmentId`, `developmentName`, `constructionStatus`, `forecastDeliveryDate` — new-development fields\n- `condoName`, `condoSlug` — condominium/project name and slug\n- `constructionYear`, `floorMin`, `floorMax` — building year and floor range\n- `shortDescription`, `description` — short and long listing text\n- `propertyUrl` — canonical QuintoAndar listing page\n- `mode` — transaction type of the record (`rent`, `buy` or `byUrls`)\n- `recordType` — always `property`\n- `scrapedAt` — ISO 8601 timestamp of when the listing was scraped\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `rent` | `rent`, `buy` or `byUrls` |\n| `city` | string | `sao-paulo-sp-brasil` | One of 99 QuintoAndar locations (mode=rent or buy) |\n| `neighborhood` | string | – | Optional neighborhood inside the city, e.g. Pinheiros (mode=rent or buy) |\n| `propertyType` | string | `ANY` | `ANY`, `APARTMENT`, `HOUSE`, `HOUSE_CONDO` or `STUDIO` |\n| `priceBasis` | string | `rent` | `rent` or `total` (mode=rent); ignored for buy |\n| `priceMin` / `priceMax` | integer | – | Price range in BRL |\n| `areaMin` / `areaMax` | integer | – | Usable area range in m² |\n| `bedroomsMin` / `bedroomsMax` | integer | – | Bedroom range |\n| `bathroomsMin` / `bathroomsMax` | integer | – | Bathroom range |\n| `parkingMin` / `parkingMax` | integer | – | Parking space range |\n| `suitesMin` / `suitesMax` | integer | – | Suite range |\n| `furnished` | string | `any` | `any`, `yes` or `no` |\n| `acceptsPets` | string | `any` | `any` or `yes` |\n| `nearSubway` | string | `any` | `any` or `yes` |\n| `amenities` | array | – | Required unit feature codes |\n| `installations` | array | – | Required building facility codes |\n| `availability` | string | `any` | `any`, `immediate` or `soon` (mode=rent) |\n| `sortBy` | string | `relevance` | `relevance`, `newest`, `cheapest`, `expensive` or `highestRent` (highest rental return / yield) |\n| `developmentsOnly` | boolean | `false` | Show only new developments (mode=buy) |\n| `exactCityOnly` | boolean | `false` | Drop listings from neighbouring municipalities |\n| `includeDetails` | boolean | `true` | Load description, condo/IPTU split, ZIP, coordinates and full captions |\n| `listingUrls` | array | – | Listing URLs or numeric IDs (mode=byUrls) |\n| `maxItems` | integer | `500` | Hard cap, 1–5,000 |\n\n### Example: rentals in São Paulo\n\n```json\n{\n  \"mode\": \"rent\",\n  \"city\": \"sao-paulo-sp-brasil\",\n  \"maxItems\": 200,\n  \"includeDetails\": false\n}\n```\n\n### Example: family-sized apartments for sale in Rio de Janeiro\n\n```json\n{\n  \"mode\": \"buy\",\n  \"city\": \"rio-de-janeiro-rj-brasil\",\n  \"propertyType\": \"APARTMENT\",\n  \"bedroomsMin\": 3,\n  \"priceMin\": 800000,\n  \"priceMax\": 2500000,\n  \"sortBy\": \"newest\",\n  \"maxItems\": 100\n}\n```\n\n### Example: pet-friendly rentals in Pinheiros with a pool\n\n```json\n{\n  \"mode\": \"rent\",\n  \"city\": \"sao-paulo-sp-brasil\",\n  \"neighborhood\": \"Pinheiros\",\n  \"acceptsPets\": \"yes\",\n  \"installations\": [\"PISCINA\"],\n  \"priceMax\": 6000,\n  \"maxItems\": 50\n}\n```\n\n### Example: load specific listings\n\n```json\n{\n  \"mode\": \"byUrls\",\n  \"listingUrls\": [\n    \"https://www.quintoandar.com.br/imovel/893977588\",\n    \"895686771\"\n  ]\n}\n```\n\n## Use cases\n\n- **Rental budgeting** — compare base rent, condo fee, IPTU and total monthly cost across neighborhoods\n- **Relocation research** — scan a new city or a single neighborhood before an apartment hunt\n- **Market analysis** — measure price per square metre by city, property type and size band\n- **Investment screening** — compare sale prices and published rental yields for similar properties\n- **Portfolio monitoring** — re-run the same city and filters to spot new listings and price changes\n- **Project tracking** — follow new developments with construction status and delivery forecasts\n\n## FAQ\n\n### Is this actor affiliated with QuintoAndar?\n\nNo. It is an independent, third-party tool that reads publicly visible QuintoAndar listings. It is not operated by or affiliated with QuintoAndar.\n\n### Do I need a QuintoAndar account, cookies or a proxy?\n\nNo. All supported modes work without an account or cookies, and no proxy setup is required.\n\n### What is the difference between `rentPrice`, `totalMonthlyCost` and `condoAndIptu`?\n\n`rentPrice` is the base rent. `condoAndIptu` is the combined condo fee and IPTU. `totalMonthlyCost` adds those extras to the rent, matching the total QuintoAndar displays for rent listings.\n\n### Why does a rental listing sometimes have a `salePrice`?\n\nSome owners list the same property for both rent and sale. When QuintoAndar publishes both prices, both fields are included.\n\n### How many listings can one run return?\n\nA single location query yields at most 1,000 listings, which is QuintoAndar's own per-query limit. Runs above 1,000 automatically split the price range into slices and merge the results, up to `maxItems` (5,000). If the source has fewer matching listings, the run stops honestly with the real count.\n\n### Why do results include cities other than the one I selected?\n\nQuintoAndar city searches cover the surrounding metro region, so a São Paulo search can include Mauá or Guarulhos. Set `exactCityOnly` to keep only the city you selected.\n\n### Why are `suites`, `iptu`, `description` or coordinates missing on some records?\n\nThose fields are conditional in the source: some listings do not publish a suite count, IPTU value or description. They are omitted rather than filled with a placeholder. Turning on `includeDetails` fills them whenever the listing page has them.\n\n### Can I get the agent's name, phone or email?\n\nNo. QuintoAndar does not expose listing-agent contact details on public pages, so the actor cannot return them.\n\n### What do the amenity and facility codes mean?\n\nThey are QuintoAndar's own codes, such as `VARANDA` (balcony), `AR_CONDICIONADO` (air conditioning), `PISCINA` (pool) and `ACADEMIA` (gym). With `includeDetails` enabled, the actor also returns the Portuguese labels in `amenitiesText` and `installationsText`.\n\n## Limitations\n\n- **1,000 listings per location query.** Larger requests are split by price, but a slice with more than 1,000 listings at the same price can still be capped.\n- **Source inventory is finite.** A run cannot return more listings than QuintoAndar currently has for the chosen location and filters.\n- **City searches include metro municipalities.** Use `exactCityOnly` when you need the city boundary only.\n- **No agent or advertiser contact details.** QuintoAndar does not publish them.\n- **No total area or land area.** QuintoAndar exposes usable area (`areaSqM`) only.\n- **Some fields are conditional.** Suites, IPTU, descriptions, construction year and project data appear only when the listing provides them.\n- **Price-slice partitioning changes ordering.** Runs above 1,000 are assembled from multiple price slices, so the final order differs from a single sorted page.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "brazil-rental-and-sale-listings-by-city",
      "title": "Brazil Rental & Sale Listings by City (QuintoAndar)",
      "description": "Search 99 Brazilian cities and neighborhoods on QuintoAndar for rentals or sale properties. Filter by price, area, rooms, amenities and more, with optional detail enrichment and listings by URL.",
      "version": "1.0",
      "buildTag": "latest",
      "defaultRunOptions": {
        "build": "latest",
        "timeoutSecs": 3600,
        "memoryMbytes": 1024
      },
      "dockerfile": "./Dockerfile",
      "readme": "# Brazil Rental & Sale Listings by City (QuintoAndar)\n\nQuintoAndar is one of Brazil's largest home rental and sale marketplaces, covering São Paulo, Rio de Janeiro, Belo Horizonte and dozens of other metro areas. This actor searches its public listings by city or neighborhood and returns structured property records: transaction prices, monthly costs, size, rooms, address, amenities, photos and optional detail-page enrichment. No account, cookie or proxy setup is needed.\n\n## What this actor does\n\n- **Three modes:** search rentals (`rent`), search properties for sale (`buy`), or load specific listings by URL or numeric ID (`byUrls`)\n- **99 locations**, with optional neighborhood search inside any city\n- **Server-side filters:** property type, price (base rent, total monthly cost or sale price), area, bedrooms, bathrooms, parking, suites, furnished, pets, near subway, amenities, building facilities, availability and sort order (`cheapest`/`expensive` use total monthly cost; `highestRent` is the rental-return order)\n- **Large result sets:** up to 1,000 listings per query and up to 5,000 per run through automatic price-slice partitioning\n- **Optional detail enrichment:** description, separate condo fee and IPTU, ZIP code, state, coordinates, full photo gallery with captions, construction year, floor range and project data\n- **Empty fields are omitted** from each record instead of being returned as null\n\n## Output per property\n\n- `propertyId` — QuintoAndar property ID\n- `title` — composed title with property type, bedrooms, neighborhood and city\n- `propertyType` — Apartamento, Casa, CasaCondominio or StudioOuKitchenette\n- `rentPrice` — base monthly rent in BRL\n- `salePrice` — sale price in BRL\n- `totalMonthlyCost` — rent plus condo fee and IPTU, in BRL\n- `condoAndIptu` — combined condo fee and IPTU, in BRL\n- `condoFee` — monthly condo fee in BRL (with detail enrichment)\n- `iptu` — monthly IPTU in BRL (with detail enrichment)\n- `iptuPeriod` — always `monthly` when `iptu` is present\n- `currency` — always `BRL`\n- `areaSqM` — usable area in square metres\n- `bedrooms`, `bathrooms`, `suites`, `parkingSpots` — room counts; real zero values are kept\n- `street`, `neighborhood`, `region`, `city` — address fields\n- `state`, `stateCode`, `zipCode` — state and postal code (with detail enrichment)\n- `latitude`, `longitude` — map coordinates (with detail enrichment)\n- `amenities[]` — unit feature codes, e.g. `VARANDA`, `AR_CONDICIONADO`\n- `amenitiesText[]` — human-readable amenity labels (with detail enrichment)\n- `installations[]` — building facility codes, e.g. `PISCINA`, `ACADEMIA`\n- `installationsText[]` — human-readable facility labels (with detail enrichment)\n- `photos[]` — every property photo as a working image URL\n- `photoCaptions[]` — captions parallel to `photos[]` when every photo has one\n- `imageUrl` — primary property image URL\n- `isFurnished`, `forSale`, `forRent`, `acceptsPets`, `nearSubway` — listing flags\n- `yieldRate`, `yieldStrategy` — rental yield and its calculation basis, when published\n- `visitStatus` — current visit availability\n- `lastPublishedDate`, `firstPublishedDate` — publication timestamps\n- `listingTags[]`, `specialConditions[]` — listing tags and exclusivity-style conditions\n- `isPrimaryMarket`, `developmentId`, `developmentName`, `constructionStatus`, `forecastDeliveryDate` — new-development fields\n- `condoName`, `condoSlug` — condominium/project name and slug\n- `constructionYear`, `floorMin`, `floorMax` — building year and floor range\n- `shortDescription`, `description` — short and long listing text\n- `propertyUrl` — canonical QuintoAndar listing page\n- `mode` — transaction type of the record (`rent`, `buy` or `byUrls`)\n- `recordType` — always `property`\n- `scrapedAt` — ISO 8601 timestamp of when the listing was scraped\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `rent` | `rent`, `buy` or `byUrls` |\n| `city` | string | `sao-paulo-sp-brasil` | One of 99 QuintoAndar locations (mode=rent or buy) |\n| `neighborhood` | string | – | Optional neighborhood inside the city, e.g. Pinheiros (mode=rent or buy) |\n| `propertyType` | string | `ANY` | `ANY`, `APARTMENT`, `HOUSE`, `HOUSE_CONDO` or `STUDIO` |\n| `priceBasis` | string | `rent` | `rent` or `total` (mode=rent); ignored for buy |\n| `priceMin` / `priceMax` | integer | – | Price range in BRL |\n| `areaMin` / `areaMax` | integer | – | Usable area range in m² |\n| `bedroomsMin` / `bedroomsMax` | integer | – | Bedroom range |\n| `bathroomsMin` / `bathroomsMax` | integer | – | Bathroom range |\n| `parkingMin` / `parkingMax` | integer | – | Parking space range |\n| `suitesMin` / `suitesMax` | integer | – | Suite range |\n| `furnished` | string | `any` | `any`, `yes` or `no` |\n| `acceptsPets` | string | `any` | `any` or `yes` |\n| `nearSubway` | string | `any` | `any` or `yes` |\n| `amenities` | array | – | Required unit feature codes |\n| `installations` | array | – | Required building facility codes |\n| `availability` | string | `any` | `any`, `immediate` or `soon` (mode=rent) |\n| `sortBy` | string | `relevance` | `relevance`, `newest`, `cheapest`, `expensive` or `highestRent` (highest rental return / yield) |\n| `developmentsOnly` | boolean | `false` | Show only new developments (mode=buy) |\n| `exactCityOnly` | boolean | `false` | Drop listings from neighbouring municipalities |\n| `includeDetails` | boolean | `true` | Load description, condo/IPTU split, ZIP, coordinates and full captions |\n| `listingUrls` | array | – | Listing URLs or numeric IDs (mode=byUrls) |\n| `maxItems` | integer | `500` | Hard cap, 1–5,000 |\n\n### Example: rentals in São Paulo\n\n```json\n{\n  \"mode\": \"rent\",\n  \"city\": \"sao-paulo-sp-brasil\",\n  \"maxItems\": 200,\n  \"includeDetails\": false\n}\n```\n\n### Example: family-sized apartments for sale in Rio de Janeiro\n\n```json\n{\n  \"mode\": \"buy\",\n  \"city\": \"rio-de-janeiro-rj-brasil\",\n  \"propertyType\": \"APARTMENT\",\n  \"bedroomsMin\": 3,\n  \"priceMin\": 800000,\n  \"priceMax\": 2500000,\n  \"sortBy\": \"newest\",\n  \"maxItems\": 100\n}\n```\n\n### Example: pet-friendly rentals in Pinheiros with a pool\n\n```json\n{\n  \"mode\": \"rent\",\n  \"city\": \"sao-paulo-sp-brasil\",\n  \"neighborhood\": \"Pinheiros\",\n  \"acceptsPets\": \"yes\",\n  \"installations\": [\"PISCINA\"],\n  \"priceMax\": 6000,\n  \"maxItems\": 50\n}\n```\n\n### Example: load specific listings\n\n```json\n{\n  \"mode\": \"byUrls\",\n  \"listingUrls\": [\n    \"https://www.quintoandar.com.br/imovel/893977588\",\n    \"895686771\"\n  ]\n}\n```\n\n## Use cases\n\n- **Rental budgeting** — compare base rent, condo fee, IPTU and total monthly cost across neighborhoods\n- **Relocation research** — scan a new city or a single neighborhood before an apartment hunt\n- **Market analysis** — measure price per square metre by city, property type and size band\n- **Investment screening** — compare sale prices and published rental yields for similar properties\n- **Portfolio monitoring** — re-run the same city and filters to spot new listings and price changes\n- **Project tracking** — follow new developments with construction status and delivery forecasts\n\n## FAQ\n\n### Is this actor affiliated with QuintoAndar?\n\nNo. It is an independent, third-party tool that reads publicly visible QuintoAndar listings. It is not operated by or affiliated with QuintoAndar.\n\n### Do I need a QuintoAndar account, cookies or a proxy?\n\nNo. All supported modes work without an account or cookies, and no proxy setup is required.\n\n### What is the difference between `rentPrice`, `totalMonthlyCost` and `condoAndIptu`?\n\n`rentPrice` is the base rent. `condoAndIptu` is the combined condo fee and IPTU. `totalMonthlyCost` adds those extras to the rent, matching the total QuintoAndar displays for rent listings.\n\n### Why does a rental listing sometimes have a `salePrice`?\n\nSome owners list the same property for both rent and sale. When QuintoAndar publishes both prices, both fields are included.\n\n### How many listings can one run return?\n\nA single location query yields at most 1,000 listings, which is QuintoAndar's own per-query limit. Runs above 1,000 automatically split the price range into slices and merge the results, up to `maxItems` (5,000). If the source has fewer matching listings, the run stops honestly with the real count.\n\n### Why do results include cities other than the one I selected?\n\nQuintoAndar city searches cover the surrounding metro region, so a São Paulo search can include Mauá or Guarulhos. Set `exactCityOnly` to keep only the city you selected.\n\n### Why are `suites`, `iptu`, `description` or coordinates missing on some records?\n\nThose fields are conditional in the source: some listings do not publish a suite count, IPTU value or description. They are omitted rather than filled with a placeholder. Turning on `includeDetails` fills them whenever the listing page has them.\n\n### Can I get the agent's name, phone or email?\n\nNo. QuintoAndar does not expose listing-agent contact details on public pages, so the actor cannot return them.\n\n### What do the amenity and facility codes mean?\n\nThey are QuintoAndar's own codes, such as `VARANDA` (balcony), `AR_CONDICIONADO` (air conditioning), `PISCINA` (pool) and `ACADEMIA` (gym). With `includeDetails` enabled, the actor also returns the Portuguese labels in `amenitiesText` and `installationsText`.\n\n## Limitations\n\n- **1,000 listings per location query.** Larger requests are split by price, but a slice with more than 1,000 listings at the same price can still be capped.\n- **Source inventory is finite.** A run cannot return more listings than QuintoAndar currently has for the chosen location and filters.\n- **City searches include metro municipalities.** Use `exactCityOnly` when you need the city boundary only.\n- **No agent or advertiser contact details.** QuintoAndar does not publish them.\n- **No total area or land area.** QuintoAndar exposes usable area (`areaSqM`) only.\n- **Some fields are conditional.** Suites, IPTU, descriptions, construction year and project data appear only when the listing provides them.\n- **Price-slice partitioning changes ordering.** Runs above 1,000 are assembled from multiple price slices, so the final order differs from a single sorted page.\n",
      "input": {
        "title": "QuintoAndar Brazil Listings Input",
        "description": "Choose a location or paste listing URLs, then narrow by price, size, rooms, amenities and more.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "Search rentals, search properties for sale, or load specific listings by URL or ID.",
            "editor": "select",
            "enum": [
              "rent",
              "buy",
              "byUrls"
            ],
            "enumTitles": [
              "Rentals by location",
              "Properties for sale by location",
              "Specific listings by URL or ID"
            ],
            "default": "rent",
            "prefill": "rent"
          },
          "city": {
            "title": "City or region",
            "type": "string",
            "description": "QuintoAndar location to search (mode=rent or buy).",
            "editor": "select",
            "enum": [
              "sao-paulo-sp-brasil",
              "rio-de-janeiro-rj-brasil",
              "belo-horizonte-mg-brasil",
              "porto-alegre-rs-brasil",
              "brasilia-df-brasil",
              "curitiba-pr-brasil",
              "goiania-go-brasil",
              "campinas-sp-brasil",
              "canoas-rs-brasil",
              "guarulhos-sp-brasil",
              "jundiai-sp-brasil",
              "nova-lima-mg-brasil",
              "novo-hamburgo-rs-brasil",
              "niteroi-rj-brasil",
              "osasco-sp-brasil",
              "santo-andre-sp-brasil",
              "sao-bernardo-do-campo-sp-brasil",
              "sao-caetano-do-sul-sp-brasil",
              "barueri-sp-brasil",
              "sao-leopoldo-rs-brasil",
              "florianopolis-sc-brasil",
              "sao-jose-sc-brasil",
              "palhoca-sc-brasil",
              "contagem-mg-brasil",
              "taboao-da-serra-sp-brasil",
              "diadema-sp-brasil",
              "sao-jose-dos-pinhais-pr-brasil",
              "varzea-paulista-sp-brasil",
              "pinhais-pr-brasil",
              "santana-de-parnaiba-sp-brasil",
              "santos-sp-brasil",
              "salvador-ba-brasil",
              "mogi-das-cruzes-sp-brasil",
              "sao-jose-dos-campos-sp-brasil",
              "cotia-sp-brasil",
              "ribeirao-preto-sp-brasil",
              "sorocaba-sp-brasil",
              "uberlandia-mg-brasil",
              "maua-sp-brasil",
              "valinhos-sp-brasil",
              "vinhedo-sp-brasil",
              "indaiatuba-sp-brasil",
              "nova-iguacu-rj-brasil",
              "americana-sp-brasil",
              "hortolandia-sp-brasil",
              "paulinia-sp-brasil",
              "praia-grande-sp-brasil",
              "guaruja-sp-brasil",
              "carapicuiba-sp-brasil",
              "votorantim-sp-brasil",
              "sao-vicente-sp-brasil",
              "duque-de-caxias-rj-brasil",
              "sao-goncalo-rj-brasil",
              "betim-mg-brasil",
              "aparecida-de-goiania-go-brasil",
              "suzano-sp-brasil",
              "itaquaquecetuba-sp-brasil",
              "sumare-sp-brasil",
              "embu-das-artes-sp-brasil",
              "ferraz-de-vasconcelos-sp-brasil",
              "poa-sp-brasil",
              "gravatai-rs-brasil",
              "viamao-rs-brasil",
              "alvorada-rs-brasil",
              "belford-roxo-rj-brasil",
              "nilopolis-rj-brasil",
              "mesquita-rj-brasil",
              "taubate-sp-brasil",
              "jacarei-sp-brasil",
              "ribeirao-das-neves-mg-brasil",
              "ribeirao-pires-sp-brasil",
              "brumadinho-mg-brasil",
              "itabirito-mg-brasil",
              "lagoa-santa-mg-brasil",
              "sabara-mg-brasil",
              "vespasiano-mg-brasil",
              "rio-acima-mg-brasil",
              "santa-luzia-mg-brasil",
              "marica-rj-brasil",
              "cabo-frio-rj-brasil",
              "petropolis-rj-brasil",
              "sapucaia-do-sul-rs-brasil",
              "macae-rj-brasil",
              "cachoeirinha-rs-brasil",
              "juiz-de-fora-mg-brasil",
              "rio-das-ostras-rj-brasil",
              "sao-carlos-sp-brasil",
              "piracicaba-sp-brasil",
              "limeira-sp-brasil",
              "montes-claros-mg-brasil",
              "londrina-pr-brasil",
              "maringa-pr-brasil",
              "ponta-grossa-pr-brasil",
              "volta-redonda-rj-brasil",
              "santa-maria-rs-brasil",
              "caxias-do-sul-rs-brasil",
              "uberaba-mg-brasil",
              "campos-dos-goytacazes-rj-brasil",
              "anapolis-go-brasil"
            ],
            "enumTitles": [
              "São Paulo",
              "Rio de Janeiro",
              "Belo Horizonte",
              "Porto Alegre",
              "Brasília",
              "Curitiba",
              "Goiânia",
              "Campinas",
              "Canoas",
              "Guarulhos",
              "Jundiaí",
              "Nova Lima",
              "Novo Hamburgo",
              "Niterói",
              "Osasco",
              "Santo André",
              "São Bernardo do Campo",
              "São Caetano do Sul",
              "Barueri",
              "São Leopoldo",
              "Florianópolis",
              "São José",
              "Palhoça",
              "Contagem",
              "Taboão da Serra",
              "Diadema",
              "São José dos Pinhais",
              "Várzea Paulista",
              "Pinhais",
              "Santana de Parnaíba",
              "Santos",
              "Salvador",
              "Mogi das Cruzes",
              "São José dos Campos",
              "Cotia",
              "Ribeirão Preto",
              "Sorocaba",
              "Uberlândia",
              "Mauá",
              "Valinhos",
              "Vinhedo",
              "Indaiatuba",
              "Nova Iguaçu",
              "Americana",
              "Hortolândia",
              "Paulínia",
              "Praia Grande",
              "Guarujá",
              "Carapicuíba",
              "Votorantim",
              "São Vicente",
              "Duque de Caxias",
              "São Gonçalo",
              "Betim",
              "Aparecida de Goiânia",
              "Suzano",
              "Itaquaquecetuba",
              "Sumaré",
              "Embu das Artes",
              "Ferraz de Vasconcelos",
              "Poá",
              "Gravataí",
              "Viamão",
              "Alvorada",
              "Belford Roxo",
              "Nilópolis",
              "Mesquita",
              "Taubaté",
              "Jacareí",
              "Ribeirão das Neves",
              "Ribeirão Pires",
              "Brumadinho",
              "Itabirito",
              "Lagoa Santa",
              "Sabará",
              "Vespasiano",
              "Rio Acima",
              "Santa Luzia",
              "Maricá",
              "Cabo Frio",
              "Petrópolis",
              "Sapucaia do Sul",
              "Macaé",
              "Cachoeirinha",
              "Juiz de Fora",
              "Rio das Ostras",
              "São Carlos",
              "Piracicaba",
              "Limeira",
              "Montes Claros",
              "Londrina",
              "Maringá",
              "Ponta Grossa",
              "Volta Redonda",
              "Santa Maria",
              "Caxias do Sul",
              "Uberaba",
              "Campos dos Goytacazes",
              "Anápolis"
            ],
            "default": "sao-paulo-sp-brasil",
            "prefill": "sao-paulo-sp-brasil"
          },
          "neighborhood": {
            "title": "Neighborhood",
            "type": "string",
            "description": "Optional neighborhood inside the selected city, e.g. Pinheiros or Copacabana (mode=rent or buy).",
            "editor": "textfield"
          },
          "propertyType": {
            "title": "Property type",
            "type": "string",
            "description": "Restrict results to one property type (mode=rent or buy).",
            "editor": "select",
            "enum": [
              "ANY",
              "APARTMENT",
              "HOUSE",
              "HOUSE_CONDO",
              "STUDIO"
            ],
            "enumTitles": [
              "Any type",
              "Apartment",
              "House",
              "House in a condominium",
              "Studio or kitchenette"
            ],
            "default": "ANY",
            "prefill": "ANY"
          },
          "priceBasis": {
            "title": "Price basis",
            "type": "string",
            "description": "Whether price filters apply to the base rent or the total monthly cost (mode=rent). Buy mode always uses the sale price.",
            "editor": "select",
            "enum": [
              "rent",
              "total"
            ],
            "enumTitles": [
              "Base rent",
              "Total monthly cost"
            ],
            "default": "rent",
            "prefill": "rent"
          },
          "priceMin": {
            "title": "Minimum price (BRL)",
            "type": "integer",
            "description": "Lowest price to include, in Brazilian reais.",
            "minimum": 0,
            "maximum": 100000000
          },
          "priceMax": {
            "title": "Maximum price (BRL)",
            "type": "integer",
            "description": "Highest price to include, in Brazilian reais.",
            "minimum": 0,
            "maximum": 100000000
          },
          "areaMin": {
            "title": "Minimum area (m²)",
            "type": "integer",
            "description": "Smallest usable area to include, in square metres.",
            "minimum": 0,
            "maximum": 100000
          },
          "areaMax": {
            "title": "Maximum area (m²)",
            "type": "integer",
            "description": "Largest usable area to include, in square metres.",
            "minimum": 0,
            "maximum": 100000
          },
          "bedroomsMin": {
            "title": "Minimum bedrooms",
            "type": "integer",
            "description": "Fewest bedrooms a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "bedroomsMax": {
            "title": "Maximum bedrooms",
            "type": "integer",
            "description": "Most bedrooms a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "bathroomsMin": {
            "title": "Minimum bathrooms",
            "type": "integer",
            "description": "Fewest bathrooms a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "bathroomsMax": {
            "title": "Maximum bathrooms",
            "type": "integer",
            "description": "Most bathrooms a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "parkingMin": {
            "title": "Minimum parking spaces",
            "type": "integer",
            "description": "Fewest parking spaces a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "parkingMax": {
            "title": "Maximum parking spaces",
            "type": "integer",
            "description": "Most parking spaces a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "suitesMin": {
            "title": "Minimum suites",
            "type": "integer",
            "description": "Fewest suites a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "suitesMax": {
            "title": "Maximum suites",
            "type": "integer",
            "description": "Most suites a listing may have.",
            "minimum": 0,
            "maximum": 20
          },
          "furnished": {
            "title": "Furnished",
            "type": "string",
            "description": "Include only furnished listings, only unfurnished listings, or both.",
            "editor": "select",
            "enum": [
              "any",
              "yes",
              "no"
            ],
            "enumTitles": [
              "Any",
              "Furnished only",
              "Unfurnished only"
            ],
            "default": "any",
            "prefill": "any"
          },
          "acceptsPets": {
            "title": "Accepts pets",
            "type": "string",
            "description": "Include only listings that accept pets, or all listings.",
            "editor": "select",
            "enum": [
              "any",
              "yes"
            ],
            "enumTitles": [
              "Any",
              "Accepts pets only"
            ],
            "default": "any",
            "prefill": "any"
          },
          "nearSubway": {
            "title": "Near subway",
            "type": "string",
            "description": "Include only listings marked close to a metro or train station, or all listings.",
            "editor": "select",
            "enum": [
              "any",
              "yes"
            ],
            "enumTitles": [
              "Any",
              "Near subway only"
            ],
            "default": "any",
            "prefill": "any"
          },
          "amenities": {
            "title": "Unit amenities",
            "type": "array",
            "description": "Property feature codes that must all be present, e.g. VARANDA, AR_CONDICIONADO (mode=rent or buy).",
            "editor": "stringList",
            "items": {
              "type": "string"
            }
          },
          "installations": {
            "title": "Building facilities",
            "type": "array",
            "description": "Building facility codes that must all be present, e.g. PISCINA, ACADEMIA (mode=rent or buy).",
            "editor": "stringList",
            "items": {
              "type": "string"
            }
          },
          "availability": {
            "title": "Availability",
            "type": "string",
            "description": "When the property can be occupied (mode=rent).",
            "editor": "select",
            "enum": [
              "any",
              "immediate",
              "soon"
            ],
            "enumTitles": [
              "Any",
              "Available immediately",
              "Available soon"
            ],
            "default": "any",
            "prefill": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "type": "string",
            "description": "Order of the returned listings. Cheapest and most expensive use total monthly cost; highest rental return is the investor yield order.",
            "editor": "select",
            "enum": [
              "relevance",
              "newest",
              "cheapest",
              "expensive",
              "highestRent"
            ],
            "enumTitles": [
              "Relevance",
              "Newest",
              "Cheapest",
              "Most expensive",
              "Highest rental return"
            ],
            "default": "relevance",
            "prefill": "relevance"
          },
          "developmentsOnly": {
            "title": "New developments only",
            "type": "boolean",
            "description": "Show only new-development listings (mode=buy).",
            "default": false,
            "prefill": false
          },
          "exactCityOnly": {
            "title": "Exact city only",
            "type": "boolean",
            "description": "Drop listings from neighbouring municipalities that QuintoAndar includes in a city search.",
            "default": false,
            "prefill": false
          },
          "includeDetails": {
            "title": "Include detail fields",
            "type": "boolean",
            "description": "Load each listing's detail page for description, separate condo fee and IPTU, ZIP code, coordinates and full photo captions.",
            "default": true,
            "prefill": false
          },
          "listingUrls": {
            "title": "Listing URLs or IDs",
            "type": "array",
            "description": "QuintoAndar listing links or numeric property IDs (mode=byUrls). Duplicates are ignored.",
            "editor": "stringList",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum listings",
            "type": "integer",
            "description": "Hard cap on the number of listings returned (1-5000). Values above 1000 use price-slice partitioning.",
            "minimum": 1,
            "maximum": 5000,
            "default": 500,
            "prefill": 3
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Brazil Rental & Sale Listings by City (QuintoAndar) Output",
        "description": "Brazilian property listings with transaction prices, monthly costs, size, rooms, address and coordinates, amenities, photos, project details and publication dates.",
        "properties": {
          "listings": {
            "type": "string",
            "title": "Property listings",
            "description": "Dataset containing all scraped QuintoAndar property listings.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Property Listings",
              "transformation": {
                "fields": [
                  "propertyType",
                  "rentPrice",
                  "salePrice",
                  "totalMonthlyCost",
                  "bedrooms",
                  "areaSqM",
                  "city",
                  "neighborhood",
                  "propertyUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.0.2",
    "imageDigest": "11023c53a6ff7fef03434fc7429d8659201e161656f286d6b3cac8bd7857efad",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.003964444444444444
    }
  }
}