Daemon Data

Zap Imóveis & VivaReal listings API (Brazil)

Zap Imóveis & VivaReal Scraper is a pay-per-record Apify Actor by Daemon Data that returns Brazil property listings from Zap Imoveis and VivaReal: price, condo fee, IPTU, area, rooms, coordinates, agency as JSON, CSV or Excel. It costs $0.001 per listing with the default options ($1.00 per 1,000); no login to the source site and no proxy or browser to set up on your side, and the same input runs from the Apify console, one REST call, Python, Node.js, n8n or an AI assistant through MCP.

Daemon Data Zap Imóveis & VivaReal Scraper on Apify   Listing as plain text

Output fields

The most useful top-level fields with values from a real record; the full list is id, portal, url, title, business, listingType, priceBrl, rentalPeriod, monthlyCondoFeeBrl, yearlyIptuBrl, pricePerSqmBrl, usableAreaSqm, totalAreaSqm, bedrooms, bathrooms, suites, parkingSpaces, unitTypes, unitSubTypes, usageTypes, unitFloor, floors, constructionStatus, condominiumName, amenities, street, streetNumber, neighborhood, zone, city, state, stateCode, zipCode, latitude, longitude, createdAt, updatedAt, publicationType, advertiserName, advertiserCreci, advertiserId, imageCount, imageUrls, scrapedAt. Per-field notes and the OpenAPI definition are on the Apify API page.

FieldTypeExample
idstring"2920089342"
portalstring"Zap Imóveis"
urlstring"https://www.zapimoveis.com.br/imovel/venda-apartamento-4-quartos-c...
titlestring"Apartamento com 4 Quartos à venda, 153m²"
businessstring"sale"
priceBrlnumber1300000
monthlyCondoFeeBrlnumber2395
yearlyIptuBrlnumber5000
pricePerSqmBrlnumber8496.73
usableAreaSqmnumber153
bedroomsnumber4
parkingSpacesnumber3
neighborhoodstring"Santana"
zonestring"Zona Norte"
citystring"São Paulo"

Input and how to call it

Example input. Fields and pricing were checked against the public listing on 2026-11-09; this build does not run paid example searches.

{
  "locations": [
    "São Paulo, SP"
  ],
  "business": "sale",
  "portals": [
    "zap"
  ],
  "maxResults": 50
}

One HTTP call starts a run, waits for it and returns the records (token from console.apify.com):

curl -X POST "https://api.apify.com/v2/acts/data_daemon~zap-imoveis-vivareal-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"locations": ["São Paulo, SP"], "business": "sale", "portals": ["zap"], "maxResults": 50}'

Python: ApifyClient(token).actor("data_daemon/zap-imoveis-vivareal-scraper").call(run_input=...). Python example · Node.js example · n8n workflow. AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/zap-imoveis-vivareal-scraper with header Authorization: Bearer YOUR_APIFY_TOKEN in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.

All input fields

FieldTypeMeaning
locationsarrayOne per line: "City, UF" (e.g. São Paulo, SP, Curitiba, PR, Belo Horizonte, MG) or a state code alone (SC) for the whole state. Capitals and large cities also work without the state. Each location is its own search. City names are matched as the portals spell them, accents included.
businessstringListings for sale (sale) or for rent (rent; priceBrl is the rent per rentalPeriod, monthly by default).
includeShortStaysbooleanRentals only: also return listings priced per day (temporada / short stays). Off by default, so every rent is monthly.
portalsarrayzap (zapimoveis.com.br), vivareal (vivareal.com.br) or both. Both portals belong to OLX Brasil and read one listing database (1,610 of 1,612 listings were on both in a 31 Oct 2026 test), so one portal is enough; with both selected a listing id is delivered once.
listingTypestringused: properties listed by owners and agencies (resale and rentals). development: new launches (lançamentos) from developers. both: run both.
neighborhoodsarrayBairro names as the portals spell them, e.g. Pinheiros, Moema, Copacabana. Each neighborhood is searched in every location.
propertyTypesarrayKeep only these types: apartment, house, condominium (casa de condomínio), penthouse, flat, studio, land, commercial, office, warehouse, farm, parking, or a raw code such as APARTMENT. Checked on each listing; others are not charged.
minPriceintegerSale price, or monthly rent for rentals. Leave empty for no limit.
maxPriceintegerSale price, or monthly rent for rentals. Leave empty for no limit.
minBedroomsintegerKeep listings with at least this many bedrooms.
minAreaintegerKeep listings with at least this usable area.
postedWithinDaysintegerOnly listings created in the last N days (by the portal's createdAt). With the default newest-first order the run stops reading a search once it reaches older listings.
sortBystringnewest (created date, newest first) or relevance (the portal's default order).
includeImagesbooleanUp to 10 photo URLs per listing in imageUrls.
maxResultsPerSearchintegerCap per location (and neighborhood). 0 = no cap. Searches with more than ~1,000 listings are split into price bands automatically.
maxResultsintegerStop after this many saved listings (default 50, about $0.05). 0 = no cap (the run's maximum cost still applies).
onlyNewSinceLastRunbooleanRemember delivered listing ids in a key-value store named zap-vivareal-state in your account and skip them next time (not charged). Use with a schedule for a daily new-listings feed.
stateNamestringName of the only-new memory. By default it follows portals, sale/rent, locations and neighborhoods, so different feeds don't mix.
skipIdsarrayListing ids you already have. They are neither saved nor charged.

Price

$0.001 per listing ($1.00 per 1,000); $0.001 per run. List prices for Apify Free and Starter plans; Scale and Business plans pay 15% to 30% less.

EventPricePer 1,000Charged when
Listing$0.001$1.00One property listing saved to the dataset: price, condo fee, IPTU, areas, rooms, address with coordinates, created date, agency and CRECI, photos. Listings skipped by only-new mode, skipIds or the filters are never charged.
Actor Start$0.001Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).

Cost example: 50 listings with default options cost $0.051, including any start fee. This is an illustrative record count; set explicit row and total-charge caps for your run. Apify's free plan includes $5 of usage a month, about 5,000 listings before start fees; the Actor's own compute is included in the per-record price, and records skipped by filters, de-duplication or only-new mode are not charged.

Ready-made example pages

Saved inputs you can run with one click on Apify (Examples tab); each has its own page:

Alternatives, honestly

OptionWhat it gives youWhere it falls short for this job
Zap Imóveis and VivaReal websitesSearch and alerts for a personNo export; listing pages one at a time
Other Zap or VivaReal Actors on Apify StoreSame portalsCompare price per 1,000, condo fee and IPTU fields, both portals in one run and only-new mode
Build your own clientFull controlEach search returns at most about 1,000 listings; you split by price and zone and remove duplicates yourself

Published by Daemon Data (data_daemon on Apify Store). Prices, fields and example pages read from the live Apify listing on 2026-11-09; the listing is the canonical description of the Actor.