QuintoAndar Scraper — Brazil Property Prices & Rental Yield avatar

QuintoAndar Scraper — Brazil Property Prices & Rental Yield

Pricing

from $2.50 / 1,000 results

Go to Apify Store
QuintoAndar Scraper — Brazil Property Prices & Rental Yield

QuintoAndar Scraper — Brazil Property Prices & Rental Yield

Scrape QuintoAndar, Brazil's largest rental and resale property platform. Extract sale price, monthly rent, total cost with condo fees and IPTU tax, area, bedrooms, bathrooms, parking, neighbourhood, city, amenities and the rental yield the site itself computes.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

QuintoAndar Scraper — Brazil Rents, Prices & Rental Yield

Brazilian property with the numbers tenants and investors actually use: the total monthly cost including condo fee and IPTU, and the rental yield the site computes itself.

What does the QuintoAndar Scraper do?

This Actor collects live listings from QuintoAndar, Brazil's largest rental and resale property platform. It is unusual in publishing the total monthly cost of a rental — rent plus the condo fee plus the IPTU property tax — and, on sale listings, the rental yield it calculates itself. In Brazil the condo fee routinely adds a third to the headline rent, so a dataset carrying only rentPrice understates what tenants actually pay.

The listings sit in the page's Next.js state as an object keyed by listing id rather than an array, which is why a plain array walk over the payload finds nothing. That state is a window onto a client-side list, so one city yields roughly sixty listings before it starts repeating — several cities in one run is how volume is reached, and the Actor crawls each as its own search.

Who is it for?

  • Property investors comparing rental yield across Brazilian cities without computing it themselves.
  • Relocation services quoting realistic all-in monthly costs rather than headline rents.
  • Proptech teams benchmarking a Brazilian inventory.
  • Analysts studying the gap between asking rents and total occupancy cost.
  • Developers pricing new units against live comparable stock.

Use cases

  • Compare published rental yield across São Paulo, Rio and Belo Horizonte neighbourhoods.
  • Measure how much the condo fee and IPTU add to headline rents by district.
  • Track asking prices per square metre in a neighbourhood month over month.
  • Filter for furnished stock, which prices very differently in Brazilian cities.
  • Build an amenity-based comparison — barbecue area, gym, concierge — from the amenities column.
  • Feed an AI agent live Brazilian listings for rent and price questions.

Why use this QuintoAndar Scraper?

  • Total monthly cost, not just rent — condo fee and IPTU included, as a Brazilian tenant experiences it.
  • Rental yield published by the platform on sale listings, converted to a readable percentage.
  • Every core field at 100% fill: price, area, bedrooms, bathrooms, parking and neighbourhood.
  • Sale and rent modes from the same Actor.
  • Amenities and listing tags captured as their own columns.
  • Keyless and login-free — nothing to register, nothing to rotate.

What data can you extract?

One row per listing. Anything the source left blank comes back as null.

FieldTypeDescription
listingIdstringQuintoAndar listing identifier
urlstringDirect link to the listing
listingTypestringSale or Rent
propertyTypestringProperty type, e.g. Apartamento or Casa
salePricenumberAsking price in reais, on sale listings
rentPricenumberMonthly rent in reais, on rental listings
totalCostnumberRent plus condo fee plus IPTU — the real monthly outlay
condoIptunumberCondo fee and IPTU tax combined
rentalYieldnumberRental yield as QuintoAndar computes it, as a percentage
areaSqmnumberFloor area in square metres
bedroomsnumberBedroom count
bathroomsnumberBathroom count
parkingSpotsnumberParking spaces
streetstringStreet name
neighbourhoodstringNeighbourhood
citystringCity
isFurnishedbooleanFurnished
isNewBuildbooleanNew-build (primary market) unit
amenitiesstringBuilding and unit amenities
listingTagsstringPlatform tags on the listing
photoCountnumberNumber of photos
imageUrlstringListing photo
scrapedAtstringWhen this row was collected

Sample output

{
"listingId": "893097224",
"url": "https://www.quintoandar.com.br/imovel/893097224",
"listingType": "Sale",
"propertyType": "Apartamento",
"salePrice": 1300000,
"rentPrice": null,
"totalCost": 2267,
"condoIptu": 2267,
"rentalYield": 0.38,
"areaSqm": 174,
"bedrooms": 3,
"bathrooms": 3,
"parkingSpots": 1,
"street": "Rua Padre José de Anchieta",
"neighbourhood": "Santo Amaro",
"city": "São Paulo",
"isFurnished": true,
"isNewBuild": false,
"amenities": "CHURRASQUEIRA, ESPELHO_NO_BANHEIRO, VARAL_DE_ROUPAS, FOGAO_INCLUSO, CAMA_DE_CASAL, SOL_DA_TARDE, TANQUE, AP...",
"listingTags": null,
"photoCount": 5,
"imageUrl": "https://www.quintoandar.com.br/img/med/893097224-733.4858887854027PabloImvel3972240655.jpg",
"scrapedAt": "2026-08-16T16:56:33.340Z"
}

How to use the QuintoAndar Scraper

Option A — one city

Choose sale or rent, enter a city slug such as sao-paulo-sp-brasil, and set a result limit.

Option B — several cities

List slugs comma-separated — sao-paulo-sp-brasil,rio-de-janeiro-rj-brasil,belo-horizonte-mg-brasil. Each is crawled separately, and since one city tops out at roughly sixty listings, this is how a larger dataset is built.

Option C — a yield comparison

Run sale mode across several cities and rank neighbourhoods by rentalYield, then run rent mode over the same cities to sanity-check it against live asking rents.

Input parameters

InputTypeDescription
listingTypestringProperties for sale or to rent. Rentals carry the total monthly cost; sale listings carry the rental yield. Default: "comprar".
citiesstringCity slugs exactly as they appear in a QuintoAndar URL, e.g. sao-paulo-sp-brasil, rio-de-janeiro-rj-brasil, belo-horizonte-mg-brasil, curitiba-pr-brasil. Each is crawled separately; one city yields roughly 60 listings, so list several for volume. Default: "sao-paulo-sp-brasil".
maxResultsintegerStop after this many listings. Each request returns about 26, and a single city runs out at roughly 60 — add more cities to go beyond that. Default: 1000.
proxyConfigurationobjectQuintoAndar serves Brazilian exits. Residential proxy pinned to Brazil is used automatically.

Tips for best results

  • totalCost is the number to quote a tenant; rentPrice alone understates Brazilian rentals by a third in many buildings.
  • One city yields about sixty listings from the server-rendered state — list several cities rather than raising the result cap.
  • rentalYield is published on sale listings only, and is converted here from a fraction to a percentage.
  • isNewBuild separates primary-market units from resale stock; they price differently.
  • City slugs must match QuintoAndar's URLs exactly, including the state and country suffix.

Integrations

Connect this Actor to Make, Zapier, n8n, Slack, Google Sheets, GitHub, Airtable or any HTTP endpoint through Apify integrations. Every finished run can push its dataset straight into your warehouse, or fire a webhook so a downstream job starts the moment the data lands.

API usage

Run the Actor from your own code with the Apify API. Datasets can be exported as JSON, CSV, Excel, XML, RSS or HTML, and every run is available through the Apify API reference.

curl -X POST "https://api.apify.com/v2/acts/logiover~quintoandar-brazil-property-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"input": {"listingType": "comprar", "cities": "sao-paulo-sp-brasil,rio-de-janeiro-rj-brasil", "maxResults": 1000, "proxyConfiguration": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "BR"}}}'

Python, JavaScript, PHP and CLI clients are documented under Apify API clients.

Use with AI agents (MCP)

This Actor is callable from any MCP-compatible client — Claude, Cursor, VS Code or your own agent — through the Apify MCP server. An agent can call it to answer live questions about Brazilian rents, total occupancy costs and rental yields instead of guessing from stale training data.

FAQ

Do I need a QuintoAndar account or API key?

No. The Actor reads public listing pages with no login and no key.

What is IPTU?

Brazil's municipal property tax. QuintoAndar bundles it with the condo fee into the monthly figure a tenant actually pays, which is why totalCost matters more than rentPrice.

How many listings can one run return?

Roughly sixty per city from the server-rendered state, so volume comes from listing several cities in one run. The Actor crawls each separately.

What currency are prices in?

Brazilian reais (BRL), as published.

How is rental yield calculated?

QuintoAndar computes and publishes it; this Actor reports the platform's own figure, converted from a fraction to a percentage rather than recalculated.

Why does a plain JSON walk find no listings on this site?

They are stored as an object keyed by listing id, not as an array, so array-hunting parsers skip straight past them.

Can I get the landlord's contact details?

No. QuintoAndar handles all contact itself — it is a managed platform, not a classifieds board.

Why did my run return zero listings?

Usually a city slug missing the state or country suffix. Copy it from a QuintoAndar URL.

Can I export to CSV or Excel?

Yes. Every run's dataset exports as JSON, CSV, Excel, XML, RSS or HTML from the Storage tab, the API, or automatically through an integration.

How fresh is the data?

Every run reads the site live at that moment, so the data is as fresh as the site itself. Schedule the Actor hourly, daily or weekly to build a time series.

How often is the Actor updated?

It is monitored and fixed when the site changes its markup or its endpoints. Report anything that looks wrong through the Issues tab and it gets picked up.

This Actor collects only publicly available information — the same pages any visitor can open without logging in. It does not bypass a login, and it does not touch private or personal accounts. Public data collection is legal in most jurisdictions, but how you use the data is your responsibility: if any record contains personal data, GDPR and comparable laws still apply, and you need a lawful basis for processing it. When in doubt, take legal advice. See Apify's ethical web scraping guide.