VivaReal Scraper
Scrape Listings and Prices from VivaReal
Extract property listings, asking prices, and condo fees from one of Brazil's largest real estate portals. VivaReal runs behind Cloudflare and blocks bots and datacenter proxies. Scrape.do handles it automatically.
Start scraping today with 1000 free credits. No Credit Card Required

12.2M Monthly Visits. Every Bairro. One API.
VivaReal is the #2 real estate portal in Brazil with over 12 million monthly visits, listing apartments, houses, and land for sale and rent across every city and neighborhood. Part of the ZAP+ / OLX Brasil group, it shows asking prices in reais alongside condo fees and IPTU, making it a primary source for Brazilian residential pricing intelligence.
With Scrape.do you can track asking prices and price-per-m² trends by bairro and city, monitor condo fees and IPTU, capture new-development and rental listings, and feed valuation models and market analytics. All through a single API call.

Cloudflare. Bot Detection. Handled.
VivaReal sits behind Cloudflare, which returns a "Sorry, you have been blocked" page to any request that is not a real browser, including Python requests, cURL, and datacenter proxies. Scrape too quickly from a single IP and Cloudflare rate-limits you into a challenge loop, cutting off bulk extraction with standard tools.
Scrape.do rotates high-quality residential IPs with full browser fingerprints, clears the Cloudflare challenge automatically, and returns fully rendered listing and search HTML. You get clean pricing and property data without maintaining proxy pools or CAPTCHA solvers.

How to Scrape VivaReal
Select a Target

Send API Request
import requests
import urllib.parse
token = "<SDO-token>"
targetUrl = "https://www.vivareal.com.br/imovel/apartamento-3-quartos-tatuape-sao-paulo-com-garagem-65m2-venda-RS433000-id-2900490312"
render = "false" # set to "true" to enable JavaScript rendering
super = "false" # set to "true" to enable residential proxies
geoCode = "br"
encodedUrl = urllib.parse.quote(targetUrl)
url = f"https://api.scrape.do/?token={token}&url={encodedUrl}&render={render}&super={super}&geoCode={geoCode}"
response = requests.get(url)
print(response.text)Get HTML
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<title>Apartamento com 3 Quartos à venda, 65m² - Tatuapé, São Paulo | VivaReal</title>
</head>
<body>
<h1 class="title__title">Apartamento com 3 Quartos à venda, 65m² - Tatuapé</h1>
<div class="amenities__list">
<span class="feature__area">65 m²</span>
<span class="feature__bedroom">3 Quartos</span>
<span class="feature__bathroom">2 Banheiros</span>
<span class="feature__garage">1 Vaga</span>
</div>
<div class="address">
<span>Rua Jacirendi, 477 - Tatuapé, São Paulo - SP</span>
</div>
<div class="price__values">
<span class="price">R$ 433.000</span>
<span class="condo">Condomínio R$ 733/mês</span>
<span class="iptu">IPTU R$ 274</span>
</div>
<div class="gallery">
<img src="https://resizedimgs.vivareal.com/.../image1.jpg">
<img src="https://resizedimgs.vivareal.com/.../image2.jpg">
</div>
<!-- ... remaining page content ... -->
</body>
</html>
Scrape.do has been a game-changer with powerful scraping tools, but what truly sets them apart is their excellent customer support.

CTO
Average Response Time
No tickets connect with expert engineers.
Success rate
Proxies
Faster gateway than the closest competitor.
Reliable, Scalable,Unstoppable Web Scraping
Sounds great, but I have a few questions..
Yes. vivareal.com.br sits behind Cloudflare, which returns a "Sorry, you have been blocked" page to any request that is not a real browser, including Python requests, cURL, and datacenter proxies. Scrape.do rotates real residential IPs with full browser fingerprints, clears the Cloudflare challenge automatically, and returns fully rendered listing and search HTML. Success rates exceed 95% on listing and search pages.
You can extract property titles, asking prices (in reais), condo fees and IPTU, area in square meters, number of bedrooms, bathrooms, and parking spaces, location down to street and neighborhood, listing photos, and agency contact details across for-sale and for-rent listings nationwide.
VivaReal organizes listings by state, city, and neighborhood in the URL (for example /venda/sp/sao-paulo/apartamento_residencial/). Request the search URL for the location you want with Scrape.do, and set geoCode=br so the request routes through a Brazilian IP and returns the same listings and prices a local user would see.


