QuintoAndar Scraper - Brazil Rentals & Sales
Pricing
from $1.34 / 1,000 properties
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
Maintained by CommunityActor 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.
| Input | A city, a neighbourhood, a neighbourhood slug, or QuintoAndar URLs |
| Output | One row per property: rent, sale price, condo fee and IPTU, total monthly cost, area, bedrooms, bathrooms, parking, neighbourhood, amenities, building facilities, photos |
| Ceiling | 2,000 properties per run |
| Account needed | None |
| 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 get | Field |
|---|---|
| QuintoAndar's listing number and the link | listingId, url |
| The side you searched, and QuintoAndar's own rent and sale flags | businessContext, forRent, forSale |
| Rent and sale price | rentPrice, salePrice, currency |
| The total monthly cost, and condo fee plus IPTU as one figure | totalCost, condoAndIptu |
| Condo fee and IPTU split apart, with details on | condoPrice, iptu |
| Property type, floor area, bedrooms, bathrooms, suites and parking | propertyType, area, bedrooms, bathrooms, suites, parkingSpots |
| Furnished, pets and construction year | isFurnished, acceptsPets, constructionYear |
| Street, neighbourhood, city, postcode and map position | street, neighbourhood, city, postcode, latitude, longitude |
| Availability, whether visits are open, and the owner's description | availability, visitsUnavailable, description |
| Amenities, building facilities and special conditions | amenities, buildingFacilities, specialConditions |
| QuintoAndar's own yield figure | rentalYield |
| Cover photo, every photo and the count | coverImage, images, imageCount |
| Which search found it, where in it, and when it was read | searchLocation, position, scrapedAt |
▶️ How to scrape QuintoAndar listings
- Open QuintoAndar Scraper and click Try for free.
- Type a city into Where to look, or paste a neighbourhood slug from a QuintoAndar URL.
- Pick Rent or buy.
- Set How many listings. Start at 26 or below to stay inside one search page.
- 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}
| Field | Default | What it is |
|---|---|---|
location | none, the form starts at São Paulo | A 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. |
businessContext | rent | rent or sale. |
maxItems | 50 | Hard cap on rows, 1 to 2,000. This is also your spending cap. |
includeDetails | false | Open every listing page for the extra fields. Costs one extra request per listing. |
locations | none | Extra cities or slugs, one per line, run alongside location. |
priceMin | none | Lowest monthly rent, or lowest asking price on a sale search, in reais. |
bedroomsMin | none | At least this many bedrooms, 1 to 4. 4 means four or more. |
bathroomsMin | none | At least this many bathrooms, 1 to 4. 4 means four or more. |
areaMin | none | Smallest floor area in m². |
startUrls | none | QuintoAndar search pages or single listing URLs. Filters already in the URL are kept. |
proxyConfiguration | none | Optional. 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"}
| Field | How to read it |
|---|---|
listingId | QuintoAndar's own number. Stable, so use it to dedupe across runs. |
url | The listing on the side of the site you searched: /alugar for rent, /comprar for sale. |
totalCost | Rent plus condo fee plus IPTU, the number a tenant actually pays each month. |
condoAndIptu | The two bundled together as the search results give them. condoPrice and iptu are only split apart when includeDetails is on. |
rentPrice, salePrice | QuintoAndar writes a zero into the side that is not being offered. A zero is not a price, so it comes back null. |
forRent, forSale | QuintoAndar'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, description | All null unless includeDetails is on. |
amenities, buildingFacilities | QuintoAndar's own Portuguese keys, left as they come so they stay stable to filter on. |
rentalYield | QuintoAndar's own yield figure, not something worked out here. |
🧾 Reading the output
Three kinds of row can land in your dataset.
| Row | How to spot it | Charged |
|---|---|---|
| A property | no _sample and no _diagnostic key | yes |
| The sample row | _sample: true | no |
| A diagnostic | _diagnostic: true and an errorCode | no |
Filter on _sample and _diagnostic being absent.
| Code | What it means |
|---|---|
NO_RESULTS | Nothing on that side of the market in that place right now. Several cities are rent-only. |
UNKNOWN_LOCATION | QuintoAndar has no searchable location matching what you typed, or it answered a slug with the wrong city and those rows were discarded. |
BAD_URL | One of your startUrls is not a QuintoAndar search or listing address. |
BAD_INPUT | A minimum was set alongside pasted URLs. Nothing was fetched. |
SEARCH_FAILED | One search did not come back. The other searches in the run carried on. |
DETAIL_FAILED | A listing page would not open, usually because it was rented or sold between the search and the read. |
SITE_UNREACHABLE | QuintoAndar 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
totalCostrather 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:
buildingFacilitiescarries 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
neighbourhoodsays where it is. - Seven fields stay
nullwithoutincludeDetails, 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
scrapedAtrecords 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 want | Use |
|---|---|
| Homes for sale and to rent on VivaReal and ZAP Imóveis, with fees | VivaReal & ZAP Imóveis Scraper |
| Rentals and sales on QuintoAndar, with the full monthly cost | This one |
| Caixa's own repossessed properties, with both auction rounds | Caixa Imóveis Leilão Scraper |
| Judicial and extrajudicial auctions from auction houses and banks | Brazilian Property Auction Scraper |
| Classified ads on OLX Brazil, property included | OLX 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.
Is scraping QuintoAndar legal?
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.