VivaReal Scraper| $1.5 / 1k | Fast & Reliable avatar

VivaReal Scraper| $1.5 / 1k | Fast & Reliable

Pricing

from $1.50 / 1,000 results

Go to Apify Store
VivaReal Scraper| $1.5 / 1k | Fast & Reliable

VivaReal Scraper| $1.5 / 1k | Fast & Reliable

Extract structured Brazil property listings from VivaReal Imoveis with pricing, locations, seller details, media assets, and contact data. Built for enterprise-grade Brazil real estate intelligence, listing monitoring, lead enrichment and automated analytics pipelines.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

2

Bookmarked

171

Total users

32

Monthly active users

1.7 days

Issues response

14 days ago

Last modified

Share

VivaReal Imoveis Scraper

Slug: fatihtahta/vivareal-imoveis-scraper

Overview

VivaReal Imoveis Scraper turns VivaReal property searches and listing URLs into structured, production-ready real estate data. It returns normalized records with pricing, location, media, property attributes, seller details, and public contact fields so teams can move from raw listings to analysis, enrichment, reporting, and automation without manual cleanup.

Use it when you need consistent Brazilian property data for market intelligence, listing monitoring, CRM workflows, recurring exports, or operational dashboards. The output is designed to be easy to consume in Apify Console, the Apify API, the Apify CLI, and automation tools such as Zapier, Make, and n8n.

What You Get

  • Structured property records: Clean JSON items ready for analytics, monitoring, and downstream processing.
  • Normalized key fields: Pricing, location, media, property characteristics, seller metadata, and public contact data in one record.
  • Flexible input options: Start from area-based searches, direct listing URLs, or a combination of both.
  • Dataset-ready output: Results land in an Apify dataset for export to JSON, CSV, Excel, and connected workflows.
  • Automation-friendly runs: Suitable for one-off jobs, recurring schedules, API-driven runs, and no-code integrations.

Best For

  • Market intelligence: Track supply, pricing bands, neighborhood activity, and property mix across Brazilian markets.
  • Listing monitoring: Watch active inventory, pricing updates, and new opportunities over time.
  • Research pipelines: Feed structured real estate records into internal analysis, warehousing, or enrichment workflows.
  • CRM enrichment: Add seller, agency, and property context to lead and account workflows.
  • Internal reporting: Build recurring exports for spreadsheets, BI tools, and operational dashboards.

Quick Start

Paste a simple input like this into Apify Console to start a focused run:

{
"location": "Rio de Janeiro",
"deal_type": "sale",
"limit": 100
}

Typical run flow:

  1. Open the actor in Apify Console.
  2. Paste your JSON input and adjust any filters you want.
  3. Start the run.
  4. Open the run's dataset after completion.
  5. Export the results or connect them to your next workflow.

Input Parameters

Provide either location, startUrls, or both. Add filters to narrow the dataset to the market slice you want.

ParameterTypeDescriptionDefault
startUrlsarray[string|object]One or more VivaReal listing or search URLs. Apify Request-style objects are also accepted.[]
locationstringA city, neighborhood, district, avenue, or street in Brazil, such as Rio de Janeiro or Pinheiros, Sao Paulo.–
deal_typestringWhether to collect sale or rental listings. Allowed values: sale, rent.sale
property_typearray[string]One or more property types to include. Allowed values: apartment, studio, kitnet, house, gated_house, villa_house, penthouse, flat, loft, residential_land, townhouse, farm, store, office, commercial_house, hotel, corporate_floor, building, commercial_land, storage, garage.–
amenitiesarray[string]One or more amenities to include. Allowed values: pets_allowed, heating, air_conditioning, service_area, builtin_wardrobe, bedroom_wardrobe, kitchen_cabinets, bathroom_cabinets, blindex_box, gas_shower, closet, internet_access, american_kitchen, gourmet_kitchen, large_kitchen, home_office, intercom, large_window, furnished, backyard, cable_tv, balcony, gourmet_balcony, natural_ventilation, bathtub, panoramic_view, freezer, cooker, deposit, private_pool.–
min_bedroomstringMinimum bedroom count. Allowed values: 1, 2, 3, 4 for 1+, 2+, 3+, or 4+ bedrooms.–
min_bathroomstringMinimum bathroom count. Allowed values: 1, 2, 3, 4 for 1+, 2+, 3+, or 4+ bathrooms.–
min_parkingstringMinimum parking space count. Allowed values: 1, 2, 3, 4 for 1+, 2+, 3+, or 4+ spaces.–
min_priceintegerMinimum listing price. Use whole numbers such as 400000.–
max_priceintegerMaximum listing price. Use whole numbers such as 3000000.–
below_market_pricebooleanWhen true, keeps only listings marked by VivaReal/DataZAP as below market price.false
min_sqmintegerMinimum usable area in square meters.–
max_sqmintegerMaximum usable area in square meters.–
near_transitbooleanWhen true, keeps only listings tagged as near public transit.false
maximize_coveragebooleanWhen true, prioritizes broader retrieval on larger searches when you want stronger dataset completeness.false
limitintegerMaximum number of listings to save for each search seed. Leave empty to collect all available results.–

More Example Inputs

{
"location": "Rio de Janeiro",
"deal_type": "sale",
"property_type": ["apartment", "house"],
"min_price": 250000,
"max_price": 1200000,
"limit": 250
}

Scenario: Neighborhood search with size and amenity filters

{
"location": "Vila Mariana, Sao Paulo",
"deal_type": "sale",
"property_type": ["apartment"],
"min_sqm": 70,
"max_sqm": 180,
"amenities": ["balcony", "air_conditioning"],
"limit": 200
}

Scenario: Rental search with transit filter

{
"location": "Pinheiros, Sao Paulo",
"deal_type": "rent",
"property_type": ["apartment", "studio"],
"min_bedroom": "1",
"near_transit": true,
"max_price": 6000,
"limit": 150
}

Scenario: Direct listing URLs

{
"startUrls": [
"https://www.vivareal.com.br/imovel/apartamento-3-quartos-iraja-rio-de-janeiro-com-garagem-98m2-venda-RS295000-id-2880363892/"
]
}

Output

Output destination

The actor writes results to the default Apify dataset as JSON records.

Output family

The actor currently emits one normalized row family:

  • record_type: "property_listing"
  • grouped record fields for source context, listing identity, pricing, location, property details, media, contacts, and source-specific attributes

Record structure

Each output item follows this normalized shape when data exists:

  • record_type (string)
  • record_id (string)
  • source_context (object)
  • entity (object)
  • listing (object)
  • pricing (object)
  • availability (object)
  • location (object)
  • property (object)
  • media (object)
  • contact_details (object)
  • relationships (object)
  • metrics (object)
  • attributes (object)
  1. record_id
  2. source_context.external_ids.listing_id
  3. source_context.raw.id

Example output

{
"record_type": "property_listing",
"record_id": "2890095747",
"source_context": {
"source_name": "vivareal",
"source_domain": "vivareal.com.br",
"source_site": "vivareal.com.br",
"source_url": "https://www.vivareal.com.br/",
"search_url": "https://www.vivareal.com.br/venda/rio-de-janeiro/rj/",
"listing_url": "https://www.vivareal.com.br/imovel/lote-terreno-campo-grande-rio-de-janeiro-120m2-venda-RS30000-id-2890095747/",
"canonical_url": "https://www.vivareal.com.br/imovel/lote-terreno-campo-grande-rio-de-janeiro-120m2-venda-RS30000-id-2890095747/",
"loaded_url": "https://www.vivareal.com.br/imovel/lote-terreno-campo-grande-rio-de-janeiro-120m2-venda-RS30000-id-2890095747/",
"seed_type": "location",
"seed_value": "Rio de Janeiro",
"seed_id": "3fd1f5353eed",
"page_index": 1,
"external_ids": {
"listing_id": "2890095747",
"external_id": "1EFBVDR",
"source_id": "42ab4fa0-6617-304e-835f-84a68df0cb03",
"provider_id": "84945"
}
},
"entity": {
"title": "TERRENOS / OPORTUNIDADE! FINANCIO! Em Campo Grande, Mendanha",
"name": "TERRENOS / OPORTUNIDADE! FINANCIO! Em Campo Grande, Mendanha",
"status": "active",
"url": "https://www.vivareal.com.br/imovel/lote-terreno-campo-grande-rio-de-janeiro-120m2-venda-RS30000-id-2890095747/",
"external_ids": {
"listing_id": "2890095747",
"external_id": "1EFBVDR",
"source_id": "42ab4fa0-6617-304e-835f-84a68df0cb03"
}
},
"listing": {
"listing_id": "2890095747",
"listing_type": "used",
"listing_status": "active",
"status": "active",
"deal_type": "sale",
"transaction_type": "sale",
"posted_at": "2026-06-01T15:47:54.944000+00:00",
"created_at": "2026-05-25T20:14:01.238000+00:00",
"updated_at": "2026-06-02T19:40:04.166000+00:00"
},
"pricing": {
"price": 30000,
"currency": "BRL",
"price_text": "R$ 30.000",
"price_numeric": 30000,
"offers": [
{
"business_type": "sale",
"amount": 30000,
"currency": "BRL",
"monthly_condo_fee": 0,
"yearly_iptu": 0
}
]
},
"availability": {
"availability_status": "active",
"show_price": true,
"accept_exchange": false,
"resale": false,
"non_activation_reason": "none"
},
"location": {
"label": "Campo Grande",
"street": "Estrada do Mendanha",
"street_number": "5355",
"neighborhood": "Campo Grande",
"city": "Rio de Janeiro",
"state_code": "RJ",
"coordinates": {
"latitude": -22.848519,
"longitude": -43.544317,
"source": "GOOGLE"
},
"geocoding": {
"address_type": "all"
}
},
"property": {
"type": "unit",
"subtype": "allotment_land",
"status": "active",
"occupancy_status": "active",
"areas": {
"floor_area": 120,
"floor_area_sqm": 120,
"total_area": 120,
"area_unit": "sqm"
},
"rooms": {
"bedrooms": 0,
"bathrooms": 0
},
"amenities": [""],
"building": {
"name": "Mora Rio Imóveis"
}
},
"media": {
"images": [
{
"id": "0149512ed0ec08dfb278ef522ebc2d56",
"url": "https://resizedimgs.vivareal.com/img/vr-listing/0149512ed0ec08dfb278ef522ebc2d56/{description}.webp?action=%7Baction%7D&dimension=%7Bwidth%7Dx%7Bheight%7D"
}
],
"image_urls": [
"https://resizedimgs.vivareal.com/img/vr-listing/0149512ed0ec08dfb278ef522ebc2d56/{description}.webp?action=%7Baction%7D&dimension=%7Bwidth%7Dx%7Bheight%7D"
],
"media_count": 13
},
"contact_details": {
"phones": ["21964080001"],
"whatsapp": "21964080001"
},
"relationships": {
"agent": {
"name": "Vitor Cesar",
"account_id": "1591109c-b64d-754d-0ae3-cc7bd1bafc68",
"profile_url": "https://www.vivareal.com.br/imobiliaria/327099/",
"license_number": "06232-J-RJ",
"tier": "gold",
"verified": true,
"legacy_vivareal_id": 327099,
"source_profile_urls": [
"https://www.vivareal.com.br/imobiliaria/327099/"
]
}
},
"metrics": {
"rating": 4.2,
"review_count": 0,
"view_count": 0,
"trust_score": 0
},
"attributes": {
"business": "sale",
"contract_type": "real_estate",
"property_type": "unit",
"publication_type": "premium",
"construction_status": "none",
"portal": "grupozap",
"unit_types": ["allotment_land"],
"usage_types": ["residential"],
"source_specific": {
"title": "TERRENOS / OPORTUNIDADE! FINANCIO! Em Campo Grande, Mendanha",
"id": "2890095747"
}
}
}

Field reference

  • source_context: provenance, seed, audit URLs, and external/source IDs.
  • entity: title/name/description/display URL for the primary listing entity.
  • listing: listing lifecycle and transaction family (sale/rent) fields.
  • pricing: price text and normalized numeric fields, plus offers where the source exposes them.
  • availability: listing flags and status terms.
  • location: address and coordinate details for mapping and territory joins.
  • property: room and area attributes, physical characteristics, and property taxonomy.
  • media: image/video/logo/other media assets and counts.
  • contact_details: public contact data like phone/email/web contact fields.
  • relationships: linked agent/agency/developer objects and source profile URLs.
  • metrics: rating/review/count-like fields when exposed.
  • attributes: source-specific or miscellaneous fields that do not fit core groups.

Data Notes

  • The scraper returns the listing data publicly available at run time.
  • Output fields are normalized for downstream analysis and automation.
  • Some fields appear only when they are present on the listing.
  • Dataset items are ready for exports, dashboards, spreadsheets, CRMs, and custom data pipelines.
  • Cross-portal labels such as olx, vivareal, or zap can appear in portal-related fields when they are present in the listing data.

How Teams Commonly Use The Output

  • Trend analysis: Compare pricing, property mix, and active inventory across cities, neighborhoods, or custom filter sets.
  • Pricing dashboards: Feed BI tools or spreadsheets with normalized listing prices, condo fees, and location context.
  • Lead qualification: Review seller, agency, and public contact data alongside listing characteristics.
  • Location-based reporting: Build neighborhood or city-level views for research, coverage planning, or sales ops.
  • Content and marketplace support: Populate internal collections, market pages, and property catalog workflows with structured records.

How to Run

Apify Console

  1. Open the actor in Apify Console.
  2. Enter a location, startUrls, or both.
  3. Add any optional filters you need and set limit if you want to cap results per seed.
  4. Click Start and wait for the run to finish.
  5. Export the dataset in JSON, CSV, Excel, or another supported format.

Apify API

Use the Apify API or Apify client libraries when you want to trigger runs programmatically from your application or backend workflow. Send the same JSON input you use in Console, wait for the run if needed, then read the output from the run's default dataset.

Apify CLI

Use the Apify CLI when you want to launch runs from scripts, terminals, CI jobs, or operator workflows. The CLI uses the same actor input structure as Apify Console, which makes it easy to move from manual runs to scripted execution.

Automation Tools

This actor fits well into no-code and low-code workflows:

  • Zapier: Send run results into spreadsheets, alerts, or downstream business apps.
  • Make: Chain the dataset output into multi-step automation scenarios.
  • n8n: Trigger runs, process dataset items, and route the output to internal systems.
  • Webhooks: Start follow-up jobs when a run finishes.

Scheduling and Automation

You can schedule recurring runs to keep your dataset fresh without starting each job manually.

  • Create a schedule in Apify Console.
  • Configure the actor input for the target location, URLs, and filters.
  • Run it daily, weekly, or on a custom cron.
  • Add webhooks or automation steps for downstream processing.

Integration options

  • Apify API: Start runs from applications, backends, and internal tools.
  • Apify CLI: Trigger runs from shell scripts and operational workflows.
  • Webhooks: Trigger downstream jobs when a run completes.
  • Zapier: Send output to spreadsheets, CRMs, and no-code flows.
  • Make: Build multi-step automation workflows.
  • n8n: Connect actor runs to custom automation and data routing pipelines.
  • Google Sheets: Export and review listing data in a spreadsheet.
  • Slack or email: Send alerts and summaries after runs.

Performance

  • Small runs (< 1,000 outputs): ~2 to 3 minutes
  • Medium runs (1,000 to 5,000 outputs): ~5 to 15 minutes
  • Large runs (5,000+ outputs): ~15 to 30 minutes

Execution time varies with filters, source response times, and how much data is returned per listing.

Compliance and Responsible Use

This actor collects publicly available real estate listing information from https://www.vivareal.com.br/ for legitimate business purposes such as market analysis, listing monitoring, enrichment, and internal reporting workflows. Users are responsible for ensuring their use of collected data complies with applicable laws, regulations, and site terms. This section is informational and not legal advice.

  • Use collected data in accordance with applicable laws and site terms.
  • Respect privacy and personal information.
  • Avoid disruptive or excessive collection.
  • Do not use the actor for spam, harassment, or harmful activity.
  • Follow relevant data protection requirements where applicable.

FAQ

Can I search by area instead of direct listing URLs?

Yes. Use the location input to run area-based searches such as cities, neighborhoods, districts, avenues, or streets in Brazil.

Can I use direct listing URLs?

Yes. Pass one or more listing URLs in startUrls when you want the run to start from specific properties or saved search pages.

Can I export the data into other tools?

Yes. The actor writes output to an Apify dataset that can be exported in formats such as JSON, CSV, and Excel, or consumed in your own applications and automations.

Can I run it on a schedule?

Yes. Apify schedules let you run the actor daily, weekly, or on a custom cron so your dataset stays current for recurring workflows.

Is the output suitable for analytics and enrichment?

Yes. The output is normalized for downstream analysis, reporting, enrichment, monitoring, and operational workflows.

Can I connect it to Zapier, Make, or n8n?

Yes. The actor works well with webhook-driven and dataset-driven automations, including Zapier, Make, and n8n workflows.

What should I include if I need support?

Share the input you used with sensitive values removed, the run ID, what you expected, what happened instead, and a small sample of the output if it helps explain the issue.

Support

If you need help, use the Issues tab or the support section on the actor page. Include the input you used with sensitive values redacted, the run ID, a short note on expected versus actual behavior, and, if helpful, a small output sample.