QuintoAndar Scraper - Brazil Rentals & Sales avatar

QuintoAndar Scraper - Brazil Rentals & Sales

Pricing

from $1.34 / 1,000 properties

Go to Apify Store
QuintoAndar Scraper - Brazil Rentals & Sales

QuintoAndar Scraper - Brazil Rentals & Sales

QuintoAndar scraper for Brazilian rentals and sales. Name a city or neighbourhood, or paste a URL, and get one row per listing: rent, sale price, condo fee and IPTU, total monthly cost, area, bedrooms, parking, amenities and photos. $1.40 per 1,000 properties.

Pricing

from $1.34 / 1,000 properties

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Name a Brazilian city or paste a QuintoAndar URL, and get one row per rental or sale listing with the full monthly cost: rent, sale price, condo fee and IPTU, the total a tenant actually pays, floor area, bedrooms, bathrooms, parking, neighbourhood, the amenity list, the building's facilities and every photo.

The thing to know first: QuintoAndar hands out about 26 listings per search page. Asking for more than that means the run works through the city neighbourhood by neighbourhood, so a 500-row run takes far longer than a 26-row one.

InputA city, a neighbourhood, a neighbourhood slug, or QuintoAndar URLs
OutputOne row per property: rent, sale price, condo fee and IPTU, total monthly cost, area, bedrooms, bathrooms, parking, neighbourhood, amenities, building facilities, photos
Ceiling2,000 properties per run
Account neededNone
Price$1.40 per 1,000 properties on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 3,500

🔍 What QuintoAndar Scraper does

Type "São Paulo" and it finds the search. Write "Pinheiros, São Paulo", or paste the slug pinheiros-sao-paulo-sp-brasil, and it goes straight at that neighbourhood. You can also paste a search page or a single listing URL, and a single listing always comes back with the full field set.

Rent and sale are separate sides of the site. Several cities QuintoAndar covers are rent-only, and asking for sale listings there gets you a row that says so rather than an empty dataset.

There is a guard worth knowing about. Hand QuintoAndar a location slug it does not recognise and it does not refuse, it answers with listings from somewhere else entirely. The run compares what came back against what you asked for and throws those away instead of charging you for another city's flats.

includeDetails is off on purpose. Leave it off and you get everything the search results carry. Turn it on and the run opens each listing to fill in coordinates, the condo fee and IPTU split apart, postcode, suites, pets, construction year, availability and the owner's own description. That makes the run about forty times heavier.

Minimums narrow the search on QuintoAndar itself. Price, bedrooms, bathrooms and floor area are checked again on each listing's own numbers, and one that falls short is skipped, never charged. A rent minimum is the monthly rent before condo fee and IPTU. Bedrooms and bathrooms stop at 4, meaning four or more. Minimums work on places you type, not pasted URLs: adding a second bedroom choice to a URL widens it, so the run stops with a BAD_INPUT row.

📋 What data you get from each QuintoAndar listing

What you getField
QuintoAndar's listing number and the linklistingId, url
The side you searched, and QuintoAndar's own rent and sale flagsbusinessContext, forRent, forSale
Rent and sale pricerentPrice, salePrice, currency
The total monthly cost, and condo fee plus IPTU as one figuretotalCost, condoAndIptu
Condo fee and IPTU split apart, with details oncondoPrice, iptu
Property type, floor area, bedrooms, bathrooms, suites and parkingpropertyType, area, bedrooms, bathrooms, suites, parkingSpots
Furnished, pets and construction yearisFurnished, acceptsPets, constructionYear
Street, neighbourhood, city, postcode and map positionstreet, neighbourhood, city, postcode, latitude, longitude
Availability, whether visits are open, and the owner's descriptionavailability, visitsUnavailable, description
Amenities, building facilities and special conditionsamenities, buildingFacilities, specialConditions
QuintoAndar's own yield figurerentalYield
Cover photo, every photo and the countcoverImage, images, imageCount
Which search found it, where in it, and when it was readsearchLocation, position, scrapedAt

▶️ How to scrape QuintoAndar listings

  1. Open QuintoAndar Scraper and click Try for free.
  2. Type a city into Where to look, or paste a neighbourhood slug from a QuintoAndar URL.
  3. Pick Rent or buy.
  4. Set How many listings. Start at 26 or below to stay inside one search page.
  5. Click Start, then download the dataset as JSON, CSV or Excel, or read it from the Apify API.

Starting a run with nothing filled in writes one labelled sample row and stops, so you can look at the shape before spending anything.

💰 How much does it cost to scrape QuintoAndar?

$1.40 per 1,000 properties on the Free plan. Paid plans pay a little less: $1.38 on Starter, $1.36 on Scale and $1.34 on Business. On the free plan, the $5 Apify gives you each month covers about 3,500 properties.

You pay per property row delivered. Duplicates removed before delivery, listings discarded because QuintoAndar answered with the wrong city, listings under your minimums, the sample row and diagnostic rows are all free. Turning on includeDetails does not change the price, only how long the run takes.

📥 What you give it

{
"location": "pinheiros-sao-paulo-sp-brasil",
"businessContext": "rent",
"maxItems": 50,
"includeDetails": false
}
FieldDefaultWhat it is
locationnone, the form starts at São PauloA city QuintoAndar covers, a neighbourhood written as Pinheiros, São Paulo, or a neighbourhood slug copied out of one of their URLs. The slug is the faster and tighter option.
businessContextrentrent or sale.
maxItems50Hard cap on rows, 1 to 2,000. This is also your spending cap.
includeDetailsfalseOpen every listing page for the extra fields. Costs one extra request per listing.
locationsnoneExtra cities or slugs, one per line, run alongside location.
priceMinnoneLowest monthly rent, or lowest asking price on a sale search, in reais.
bedroomsMinnoneAt least this many bedrooms, 1 to 4. 4 means four or more.
bathroomsMinnoneAt least this many bathrooms, 1 to 4. 4 means four or more.
areaMinnoneSmallest floor area in m².
startUrlsnoneQuintoAndar search pages or single listing URLs. Filters already in the URL are kept.
proxyConfigurationnoneOptional. Only set this if traffic has to leave from a particular network of your own.

📤 What you get back

A real row, with the lists cut short:

{
"listingId": "893445318",
"url": "https://www.quintoandar.com.br/imovel/893445318/alugar",
"businessContext": "rent",
"forRent": true,
"forSale": false,
"rentPrice": 9610,
"salePrice": 1950000,
"totalCost": 12136,
"condoAndIptu": 2156,
"condoPrice": null,
"iptu": null,
"currency": "BRL",
"propertyType": "Apartamento",
"area": 110,
"bedrooms": 3,
"bathrooms": 2,
"suites": null,
"parkingSpots": 2,
"isFurnished": true,
"acceptsPets": null,
"constructionYear": null,
"street": "Rua Doutor Virgílio de Carvalho Pinto",
"neighbourhood": "Pinheiros",
"city": "São Paulo",
"postcode": null,
"latitude": null,
"longitude": null,
"availability": null,
"visitsUnavailable": false,
"description": null,
"amenities": ["BANHEIRA_DE_HIDROMASSAGEM", "ESPELHO_NO_BANHEIRO", "VARAL_DE_ROUPAS", "..."],
"buildingFacilities": ["SALAO_DE_FESTAS", "AREA_VERDE", "GAS_ENCANADO", "..."],
"specialConditions": ["Exclusivity"],
"rentalYield": 0.0049,
"coverImage": "https://www.quintoandar.com.br/img/med/893445318-787...jpg",
"images": ["https://www.quintoandar.com.br/img/med/893445318-787...jpg", "https://www.quintoandar.com.br/img/med/893445318-760...jpg", "..."],
"imageCount": 12,
"searchLocation": "sao-paulo-sp-brasil",
"position": 3,
"scrapedAt": "2026-09-26T06:14:03.287Z"
}
FieldHow to read it
listingIdQuintoAndar's own number. Stable, so use it to dedupe across runs.
urlThe listing on the side of the site you searched: /alugar for rent, /comprar for sale.
totalCostRent plus condo fee plus IPTU, the number a tenant actually pays each month.
condoAndIptuThe two bundled together as the search results give them. condoPrice and iptu are only split apart when includeDetails is on.
rentPrice, salePriceQuintoAndar writes a zero into the side that is not being offered. A zero is not a price, so it comes back null.
forRent, forSaleQuintoAndar's own flags, straight off their data and not always set in search results. businessContext records which side you asked for.
latitude, postcode, suites, acceptsPets, constructionYear, availability, descriptionAll null unless includeDetails is on.
amenities, buildingFacilitiesQuintoAndar's own Portuguese keys, left as they come so they stay stable to filter on.
rentalYieldQuintoAndar's own yield figure, not something worked out here.

🧾 Reading the output

Three kinds of row can land in your dataset.

RowHow to spot itCharged
A propertyno _sample and no _diagnostic keyyes
The sample row_sample: trueno
A diagnostic_diagnostic: true and an errorCodeno

Filter on _sample and _diagnostic being absent.

CodeWhat it means
NO_RESULTSNothing on that side of the market in that place right now. Several cities are rent-only.
UNKNOWN_LOCATIONQuintoAndar has no searchable location matching what you typed, or it answered a slug with the wrong city and those rows were discarded.
BAD_URLOne of your startUrls is not a QuintoAndar search or listing address.
BAD_INPUTA minimum was set alongside pasted URLs. Nothing was fetched.
SEARCH_FAILEDOne search did not come back. The other searches in the run carried on.
DETAIL_FAILEDA listing page would not open, usually because it was rented or sold between the search and the read.
SITE_UNREACHABLEQuintoAndar did not answer at all. Re-run in a few minutes.

A diagnostic row never fails the run, and one bad location never stops the others.

💡 What people use it for

  • Working out the real monthly cost of renting in a neighbourhood, using totalCost rather than the headline rent.
  • Comparing rent against asking price on the same buildings, since both come back on one row.
  • Watching new listings appear in one neighbourhood, scheduled, deduped on listingId.
  • Filtering by what the building actually has: buildingFacilities carries the gym, the pool and the laundry as stable keys.

🚧 What it does not do

  • No owner or agent contact details. QuintoAndar handles the visit itself and publishes none.
  • About 26 listings per search page. More than that means many more requests, which is why the ceiling is 2,000 and not higher.
  • A neighbourhood search stops at about 24 listings. For more, search the whole city, or list several neighbourhoods in locations.
  • Cities stay inside their borders, neighbourhoods not always. A São Paulo search never hands you Osasco. A neighbourhood search covers QuintoAndar's own map of the area, though, and a narrow one, four bedrooms in Pinheiros say, can bring listings from just across the border. Each row's neighbourhood says where it is.
  • Seven fields stay null without includeDetails, coordinates and the condo fee split among them.
  • Several cities are rent-only. Asking for sale listings there returns a row saying so.
  • No upper limits. Price, bedrooms, bathrooms and area take a minimum only.
  • Brazil only, and only the cities QuintoAndar operates in.
  • Amenity keys stay in Portuguese. Translating them would break anyone filtering on them.
  • Rows are a snapshot. QuintoAndar pulls a listing the moment it is rented, and scrapedAt records when it was read.
  • No floor plans and no virtual tours, only the photo links.
  • It is not an official QuintoAndar tool. Dami's Studio is independent and is not affiliated with or endorsed by QuintoAndar, or by any other company named on this page.

🧭 Which Brazilian property scraper do you need?

If you wantUse
Homes for sale and to rent on VivaReal and ZAP Imóveis, with feesVivaReal & ZAP Imóveis Scraper
Rentals and sales on QuintoAndar, with the full monthly costThis one
Caixa's own repossessed properties, with both auction roundsCaixa Imóveis Leilão Scraper
Judicial and extrajudicial auctions from auction houses and banksBrazilian Property Auction Scraper
Classified ads on OLX Brazil, property includedOLX Brazil Scraper

❓ Questions people ask

Do I need a QuintoAndar account?

No, and there is no API key to apply for.

What is a neighbourhood slug?

The bit in their URL that names the area, like pinheiros-sao-paulo-sp-brasil. Copy it out of the address bar. It gets you a tighter, faster search than a whole city.

Should I turn on details?

Only if you need coordinates, the condo fee split from IPTU, or the owner's description. It costs an extra request per listing and a much longer run, not a higher price.

Why is salePrice null on a rental?

QuintoAndar writes a zero on the side that is not offered, and a zero is not a price, so it comes back empty rather than as a misleading number.

Can I run several cities at once?

Yes. Put the extras into locations, one per line.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/quintoandar-scraper. Either way the run happens on your Apify account at the same price.

These are public adverts on a public site, and they carry no owner or agent contact details. Apify's write-up on the legality of web scraping is a sensible starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the run ID and the location or URL you used. The errorCode on the diagnostic row usually names the problem on its own.