# Brazil Real Estate 🏠 OLX, QuintoAndar, ImovelWeb & Airbnb (`scrapepilot/brazil-real-estate-olx-quintoandar-imovelweb-airbnb`) Actor

Scrape real estate across Brazil from OLX, QuintoAndar, ImovelWeb & Airbnb. Get 100% genuine sales & rentals with prices, condo fees, IPTU, m² area, bedrooms, bathrooms, parking, ratings, reviews, coordinates & HD photos across all 27 Brazilian states. Fast & reliable.

- **URL**: https://apify.com/scrapepilot/brazil-real-estate-olx-quintoandar-imovelweb-airbnb.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 property listing extracteds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🏠 Brazil Real Estate Scraper: OLX, QuintoAndar, ImovelWeb & Airbnb (4-in-1)

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-orange?style=for-the-badge\&logo=apify)](https://apify.com)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-Yes-green.svg?style=for-the-badge)](https://apify.com)
[![Pricing](https://img.shields.io/badge/Pricing-%245%20%2F%201k%20Listings-blue?style=for-the-badge)](https://apify.com)
[![Platforms](https://img.shields.io/badge/Platforms-OLX%20%7C%20QuintoAndar%20%7C%20ImovelWeb%20%7C%20Airbnb-success?style=for-the-badge)](https://apify.com)
[![Format](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-purple?style=for-the-badge)](https://apify.com)

> **The most comprehensive Brazil Real Estate Scraper on Apify.** Extract 100% genuine property listings for sale, rent, and vacation stays across Brazil from **4 major platforms in a single run**: **OLX Imóveis**, **QuintoAndar**, **ImovelWeb**, and **Airbnb Brazil**. Pull prices, condominium fees (condomínio), IPTU property taxes, square meter area (m²), price/m², bedrooms, bathrooms, parking spaces, ratings, reviews, guest comments, high-res photos, coordinates, and direct listing links.

***

### 📌 Table of Contents

- [Why You Need This Brazil Real Estate Scraper](#-why-you-need-this-brazil-real-estate-scraper)
- [4 Major Brazilian Platforms in 1 Actor](#-4-major-brazilian-platforms-in-1-actor)
- [Feature Comparison: Why We Are #1](#-feature-comparison-why-we-are-1)
- [Key Features & Extracted Data](#-key-features--extracted-data)
- [Use Cases & Growth Applications](#-use-cases--growth-applications)
- [Input Parameters](#-input-parameters)
- [Output Data Schema](#-output-data-schema)
- [Real Sample Output (JSON)](#-real-sample-output-json)
- [Transparent Pricing & Free Trial](#-transparent-pricing--free-trial)
- [How to Use in 3 Simple Steps](#-how-to-use-in-3-simple-steps)
- [Integration & Export Options](#-integration--export-options)
- [Frequently Asked Questions (FAQ)](#-frequently-asked-questions-faq)
- [Legal & Compliance](#-legal--compliance)

***

### 🔍 Why You Need This Brazil Real Estate Scraper

Brazil's real estate and rental market is one of the most dynamic and lucrative in the world, spanning major economic hubs like **São Paulo (SP)**, **Rio de Janeiro (RJ)**, **Curitiba (PR)**, **Belo Horizonte (MG)**, **Porto Alegre (RS)**, **Florianópolis (SC)**, and **Brasília (DF)**.

However, real estate data in Brazil is notoriously fragmented. Long-term rentals thrive on **QuintoAndar**, individual owner sales dominate **OLX Imóveis**, commercial brokerages rely on **ImovelWeb**, and short-term tourist yields reside on **Airbnb**.

Instead of purchasing 4 separate scrapers or spending weeks building fragile web crawlers that get blocked by Cloudflare or Akamai, **Brazil Real Estate Scraper** unifies the entire Brazilian property ecosystem into a single, normalized pipeline with **Zero Login Required**.

#### What you can scrape in seconds:

- 💰 **Complete Financial Transparency:** Sales price, monthly rent, condominium fees (`condominiumFee`), municipal property tax (`iptu`), and total monthly carrying costs (`totalMonthly`).
- 📐 **Area & Granular Specs:** Total m² area, calculated price per m² (`pricePerSqm`), bedrooms, bathrooms, suites, and garage parking spaces (`parkingSpaces`).
- ⭐ **Short-Term Vacation Yields & Reviews:** Full Airbnb star ratings (`rating`), review counts (`reviewsCount`), guest review comments, and verified host badges.
- 📍 **Precise Geographic Context:** Neighborhood (`neighborhood` / bairro), city (`city`), state (`state` UF), full address string, and exact GPS latitude/longitude.
- 📸 **High-Resolution Media:** Full arrays of uncompressed gallery photos and direct listing URLs.
- 🏷️ **Advertiser Types:** Distinguishes between professional real estate agencies (`imobiliaria`), private owners (`proprietario`), and Airbnb hosts (`host`).

***

### 🌐 4 Major Brazilian Platforms in 1 Actor

| Platform | Domain | Best For | Typical Data |
|---|---|---|---|
| 🏠 **QuintoAndar** | `quintoandar.com.br` | Verified urban apartments & modern houses | Verified photos, transparent condo/IPTU fees, virtual tour verification |
| 🏷️ **OLX Imóveis** | `olx.com.br` | Private seller deals, suburban houses & land | Direct owner bargains, large regional coverage across all Brazilian states |
| 🏢 **ImovelWeb** | `imovelweb.com.br` | Traditional broker listings & high-end developments | Extensive agency listings, luxury penthouses, gated community homes |
| 🌴 **Airbnb Brazil** | `airbnb.com.br` | Vacation rentals & short-term stay arbitrage | Nightly rates, guest ratings, review counts, detailed guest comments |

***

### 🚀 Feature Comparison: Why We Are #1

| Feature | This Actor | Other Store Actors | Manual Property Search | Official Portal APIs |
|---|---|---|---|---|
| **Pricing Model** | **$0.02 start + $5 / 1k listings** | $20 – $50 / 1k or $1.00/min | Free (Hundreds of hours) | Not publicly available |
| **All 4 Portals Combined** | ✅ **QuintoAndar + OLX + ImovelWeb + Airbnb** | ❌ 1 portal per scraper | ❌ Switching tabs manually | ❌ No unified API |
| **Complete Fee Breakdown** | ✅ **Price + Condo + IPTU + Total** | ⚠️ Base price only | ⚠️ Must calculate manually | ⚠️ Inconsistent |
| **Auto Price per m² (R$/m²)**| ✅ **Instant calculation** | ❌ Missing | ❌ Manual spreadsheet math | ❌ Raw values only |
| **Airbnb Ratings & Reviews**| ✅ **Score + Reviews + Comments** | ❌ Not supported | ⚠️ Manual reading | ❌ Restricted |
| **Coverage Across All 27 States**| ✅ **SP, RJ, MG, PR, SC, RS, etc.** | ⚠️ SP and RJ only | ⚠️ Tedious | ⚠️ Limited |
| **Anti-Bot & Stealth Engine**| ✅ **Playwright stealth + curl\_cffi** | ⚠️ Blocked by Cloudflare | ❌ IP Captchas | ❌ Strict IP throttling |
| **Export Formats** | ✅ **JSON, CSV, Excel, XML, API**| ⚠️ JSON only | ❌ Manual copy-paste | ⚠️ Developer-only JSON |

***

### ✨ Key Features & Extracted Data

#### 1. Unified Schema Across All 4 Sources

Whether a property comes from QuintoAndar, OLX, ImovelWeb, or Airbnb, every record is normalized into the exact same clean schema. You can compare an apartment for sale on QuintoAndar with its short-term Airbnb rental equivalent in the same neighborhood without writing custom ETL scripts!

#### 2. Full Real Estate Financial Breakdown

In Brazil, condo fees (*condomínio*) and property taxes (*IPTU*) often represent 30% to 50% of the total monthly cost of living in an apartment. This scraper captures:

- **`price`**: Listing sale price or base rental rate.
- **`condominiumFee`**: Monthly building maintenance fee.
- **`iptu`**: Monthly municipal urban real estate tax.
- **`totalMonthly`**: Total monthly package (`price + condomínio + IPTU`).
- **`pricePerSqm`**: Price divided by square meters for instant valuation comparisons.

#### 3. Short-Term Vacation Intelligence (Airbnb)

Unlock Airbnb arbitrage opportunities across São Paulo, Rio de Janeiro, Florianópolis, or beach destinations:

- Average guest rating (e.g. `4.87`, `5.0`).
- Total verified guest reviews count.
- Review comment excerpts and guest sentiments.
- Specific property sub-types (Loft, Studio, Flat, Quarto, Casa Inteira).

#### 4. Smart Geo-Mapping for All Brazilian States

Supports all 27 Federative Units of Brazil (`SP`, `RJ`, `MG`, `PR`, `RS`, `SC`, `BA`, `CE`, `PE`, `DF`, `GO`, `ES`, `AM`, `PA`, etc.) and handles both accent-free slugs (`sao-paulo`) and Brazilian Portuguese characters (`São Paulo`).

***

### 🎯 Use Cases & Growth Applications

#### 📊 Real Estate Market Analytics & Proptech Startups

- Monitor price-per-square-meter (`pricePerSqm`) trends across neighborhoods (*Jardim Paulista*, *Vila Madalena*, *Ipanema*, *Leblon*, *Batel*).
- Feed real-time Brazilian property data into automated valuation models (AVM) and appraisal engines.
- Track price reductions and identify undervalued properties for real estate investment trusts (FIIs).

#### 🏖️ Short-Term Rental & Airbnb Arbitrage

- Compare long-term rental costs on QuintoAndar against potential short-term nightly revenue on Airbnb in the same building or street.
- Identify high-occupancy neighborhoods with 4.9+ star ratings and strong guest review volumes.
- Benchmark competitor pricing for vacation homes in coastal cities (Ubatuba, Caraguatatuba, Búzios, Balneário Camboriú).

#### 🏢 Real Estate Brokerages & Lead Generation

- Discover private owner listings on OLX (`advertiserType: "proprietario"`) to source new exclusive property mandates.
- Benchmark local agency inventory on ImovelWeb against modern proptech listings on QuintoAndar.
- Generate automated market intelligence reports for buyers and sellers.

#### 🤖 AI Datasets & Machine Learning Models

- Train predictive machine learning models on Brazilian residential real estate valuations.
- Fine-tune NLP models on Portuguese listing descriptions, amenity tags, and real estate marketing hooks.
- Build computer vision datasets for interior design, property staging, and architectural classification using high-res image galleries.

***

### ⚙️ Input Parameters

Configure your scraper run with simple, intuitive settings:

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `city` | String | **Yes** | `"sao-paulo"` | City slug or name (e.g. `sao-paulo`, `rio-de-janeiro`, `curitiba`, `belo-horizonte`). |
| `state` | String | **Yes** | `"SP"` | 2-letter Brazilian state code (e.g. `SP`, `RJ`, `MG`, `PR`, `SC`, `RS`, `BA`, `CE`, `DF`). |
| `platforms` | Array | No | `["quintoandar", "olx", "airbnb"]` | Array of platforms to scrape: `quintoandar`, `olx`, `airbnb`, `imovelweb`. |
| `transactionType` | String | No | `"all"` | Type of transaction: `"sale"` (*comprar*), `"rent"` (*alugar*), or `"all"`. |
| `propertyType` | String | No | `"all"` | Type of property: `"all"`, `"apartments"`, `"houses"`. |
| `priceMin` | Integer | No | `null` | Minimum price in Brazilian Reais (BRL). |
| `priceMax` | Integer | No | `null` | Maximum price in Brazilian Reais (BRL). |
| `bedroomsMin` | Integer | No | `null` | Minimum number of bedrooms (quartos). |
| `bathroomsMin` | Integer | No | `null` | Minimum number of bathrooms (banheiros). |
| `maxListings` | Integer | No | `50` | Total maximum listings to extract across selected platforms (e.g. 50, 200, 1000, 5000). |
| `proxyConfiguration` | Object | No | `RESIDENTIAL` | Apify Residential Proxy configuration (strongly recommended for high-volume runs). |

#### Example Input JSON

```json
{
  "city": "sao-paulo",
  "state": "SP",
  "platforms": ["quintoandar", "olx", "airbnb"],
  "transactionType": "all",
  "propertyType": "all",
  "maxListings": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

***

### 📊 Output Data Schema

Every property listing extracted is standardized into clean, uniform fields:

| Field Name | Type | Description | Example |
|---|---|---|---|
| `source` | String | Portal origin: `QuintoAndar`, `OLX Imoveis`, `ImovelWeb`, or `Airbnb` | `"QuintoAndar"` |
| `id` | String | Unique prefixed listing identifier | `"quintoandar-892845071"` |
| `title` | String | Property listing headline | `"Apartamento com 58m², 1 quarto em Vila Gomes"` |
| `transactionType` | String | `"sale"` (*venda*) or `"rent"` (*aluguel / temporada*) | `"sale"` |
| `propertyType` | String | Property category: `Apartamento`, `Casa`, `Temporada`, etc. | `"Apartamento"` |
| `price` | Number | Numeric price in BRL (sale price or rental rate) | `595500` |
| `priceFormatted` | String | Brazilian currency formatted display string | `"R$ 595.500"` |
| `condominiumFee` | Number / Null | Monthly building condominium fee in BRL | `1284` |
| `iptu` | Number / Null | Monthly municipal property tax in BRL | `null` |
| `totalMonthly` | Number / Null | Total estimated monthly package | `4109` |
| `area` | Number / Null | Usable area in square meters (m²) | `58` |
| `bedrooms` | Number | Number of bedrooms (*quartos*) | `1` |
| `bathrooms` | Number | Number of bathrooms (*banheiros*) | `2` |
| `parkingSpaces` | Number / Null | Garage parking spots (*vagas*) | `1` |
| `suites` | Number / Null | Number of bedroom suites | `null` |
| `rating` | Number / Null | Airbnb guest rating (1.00 – 5.00) | `4.87` |
| `reviewsCount` | Number / Null | Total verified guest reviews count | `142` |
| `commentsCount` | Number | Number of attached comment/review snippets | `1` |
| `comments` | Array | Array of review objects with author, text, and rating | `[ { "author": "Hóspede", "text": "..." } ]` |
| `pricePerSqm` | Number / Null | Price per square meter (R$/m²) | `10267.24` |
| `neighborhood` | String | Bairro / District | `"Vila Gomes"` |
| `city` | String | Municipality name | `"São Paulo"` |
| `state` | String | 2-letter state code (UF) | `"SP"` |
| `images` | Array | Full array of high-resolution photo URLs | `[ "https://..." ]` |
| `imageCount` | Number | Total number of gallery pictures | `12` |
| `url` | String | Direct, clean property listing URL | `"https://www.quintoandar.com.br/imovel/892845071"` |
| `advertiser` | String / Null | Name of agency, broker, or host | `"QuintoAndar"` |
| `advertiserType` | String | `imobiliaria`, `proprietario`, or `host` | `"imobiliaria"` |
| `scrapedAt` | String | UTC timestamp of extraction | `"2026-09-18T16:03:11.581186+00:00"` |

***

### 📦 Real Sample Output (JSON)

Here is an authentic excerpt of data scraped across **Airbnb**, **QuintoAndar**, and **OLX Imóveis**:

```json
[
  {
    "source": "Airbnb",
    "id": "airbnb-1683326754514284263",
    "title": "Apartamento ⋅ São Paulo: Standard 82 Soft Opening Augusta",
    "transactionType": "rent",
    "propertyType": "Temporada / Vacation Rental",
    "price": 720,
    "priceFormatted": "R$ 720",
    "condominiumFee": null,
    "iptu": null,
    "totalMonthly": 720,
    "area": null,
    "bedrooms": 1,
    "bathrooms": 1,
    "parkingSpaces": null,
    "suites": null,
    "rating": 4.87,
    "reviewsCount": 142,
    "commentsCount": 1,
    "comments": [
      {
        "author": "Hóspedes Avaliados",
        "text": "Imóvel com 142 avaliações verificadas de hóspedes (nota média: 4.87 de 5 estrelas).",
        "rating": 4.87
      }
    ],
    "pricePerSqm": null,
    "neighborhood": "São Paulo",
    "city": "São Paulo",
    "state": "SP",
    "imageCount": 23,
    "url": "https://www.airbnb.com.br/rooms/1683326754514284263",
    "scrapedAt": "2026-09-18T16:03:08.662318+00:00"
  },
  {
    "source": "QuintoAndar",
    "id": "quintoandar-892845071",
    "title": "Apartamento com 58m², 1 quarto(s) em Vila Gomes, São Paulo",
    "transactionType": "sale",
    "propertyType": "Apartamento",
    "price": 595500,
    "priceFormatted": "R$ 595.500",
    "condominiumFee": 1284,
    "iptu": null,
    "totalMonthly": 4109,
    "area": 58,
    "bedrooms": 1,
    "bathrooms": 2,
    "parkingSpaces": 1,
    "suites": null,
    "rating": null,
    "reviewsCount": null,
    "commentsCount": 1,
    "pricePerSqm": 10267.24,
    "neighborhood": "Vila Gomes",
    "city": "São Paulo",
    "state": "SP",
    "imageCount": 12,
    "url": "https://www.quintoandar.com.br/imovel/892845071",
    "scrapedAt": "2026-09-18T16:03:11.581186+00:00"
  },
  {
    "source": "OLX Imoveis",
    "id": "olx-1536689379",
    "title": "Casa de rua : / Residencial / São Paulo",
    "transactionType": "sale",
    "propertyType": "Casas",
    "price": 650000,
    "priceFormatted": "R$ 650.000",
    "condominiumFee": null,
    "iptu": null,
    "totalMonthly": null,
    "area": 170,
    "bedrooms": 3,
    "bathrooms": 3,
    "parkingSpaces": 2,
    "suites": null,
    "rating": null,
    "reviewsCount": null,
    "commentsCount": 0,
    "pricePerSqm": 3823.53,
    "neighborhood": "São Paulo",
    "city": "São Paulo",
    "state": "SP",
    "imageCount": 0,
    "url": "https://sp.olx.com.br/grande-campinas/imoveis/casa-a-venda-460-m-por-r-2-800-000-00-centro-piracicaba-sp-1536689379",
    "scrapedAt": "2026-09-18T16:03:38.984988+00:00"
  }
]
```

***

### 💰 Transparent Pricing & Free Trial

We believe in 100% predictable, transparent pricing with **no hidden charges**:

| Operation | Price | Details |
|---|---|---|
| **Actor Start Fee** | **$0.02** | Minimal initialization fee per run |
| **Data Extraction** | **$5.00 / 1,000 Listings** | Only **$0.005 per property listing** |
| **Free Monthly Trial** | **$5.00 Credit** | Use Apify's free tier to scrape **up to 1,000 listings FREE** every month! |

> \[!TIP]
> **Pay-Per-Result Advantage:** Unlike compute-time billing where slow pages or proxy retries drain your wallet, you only pay for actual, successfully extracted property listings. If a search only returns 40 properties, you only pay $0.22 ($0.02 start + $0.20 for listings)!

***

### 🛠️ How to Use in 3 Simple Steps

#### Step 1: Define Location & Platforms

Enter your target Brazilian city (e.g. `sao-paulo`, `rio-de-janeiro`), state code (`SP`, `RJ`), and select which portals to scrape (`quintoandar`, `olx`, `airbnb`, `imovelweb`).

#### Step 2: Set Filters & Limits

Optionally filter by transaction type (`sale`, `rent`), minimum/maximum price, or minimum bedrooms, and set your desired `maxListings` count.

#### Step 3: Run & Download Clean Data

Click **Start**. Within seconds, your dataset will populate. Download your data in **CSV, JSON, Excel (XLSX), or XML** with a single click, or stream it directly via API.

***

### 🔗 Integration & Export Options

Seamlessly connect real-time Brazilian property data to your analytics stack:

- **Download:** Instant one-click export to CSV, JSON, Excel (XLSX), XML, or HTML table.
- **REST API:** Fetch dataset items programmatically via Apify's official Python, JavaScript, or cURL client libraries.
- **No-Code Automations:** Automatically sync listings to **Google Sheets**, **Airtable**, **Make (Integromat)**, or **Zapier**.
- **Webhooks:** Trigger alerts in Slack, Telegram, or Discord whenever a new underpriced property matching your criteria appears.

```bash
## Example cURL API Call
curl "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"city": "sao-paulo", "state": "SP", "platforms": ["quintoandar", "airbnb"], "maxListings": 100}'
```

***

### ❓ Frequently Asked Questions (FAQ)

##### Q: Do I need accounts or API keys for OLX, QuintoAndar, or Airbnb?

**No.** This actor operates completely anonymously without needing user accounts, login credentials, or proprietary API keys.

##### Q: How does it calculate price per square meter (`pricePerSqm`)?

The actor automatically parses the property's square meter area (`area`) and divides the base listing price by the area: `price / area`, rounded to 2 decimal places in BRL.

##### Q: What cities and states in Brazil are supported?

**All 27 Brazilian States** are supported: São Paulo (`SP`), Rio de Janeiro (`RJ`), Minas Gerais (`MG`), Paraná (`PR`), Santa Catarina (`SC`), Rio Grande do Sul (`RS`), Bahia (`BA`), Ceará (`CE`), Pernambuco (`PE`), Distrito Federal (`DF`), Goiás (`GO`), Espírito Santo (`ES`), Amazonas (`AM`), and more. You can query any municipality.

##### Q: Can I scrape only Airbnb vacation rentals for Airbnb arbitrage?

**Yes.** Simply select `["airbnb"]` in the `platforms` field. The actor will focus exclusively on Airbnb short-term rental properties, pulling nightly rates, star ratings, review counts, and guest comments.

##### Q: Why are condominium fees or IPTU null for some listings?

Houses, street properties, and vacation rentals (Airbnb) generally do not have monthly condominium fees. On QuintoAndar and OLX, condominium fees and IPTU are extracted whenever the advertiser explicitly discloses them.

##### Q: What proxy should I use?

We strongly recommend using **Apify Residential Proxies** (`RESIDENTIAL`), as Brazilian real estate portals (especially OLX and QuintoAndar) deploy strict geographic rate limits on data center IPs.

***

### ⚖️ Legal & Compliance

This actor extracts only publicly accessible listings published openly by advertisers and hosts on public real estate portals in compliance with global data aggregation standards. It does not access private account dashboards, bypass paywalls, or collect personal consumer financial data.

***

<div align="center">

**Ready to analyze the Brazilian property market at scale?**\
Click **Run Actor** above to start scraping Brazil real estate now! 🚀

</div>

# Actor input Schema

## `sources` (type: `string`):

Select which Brazilian platforms to extract from: OLX Imóveis, QuintoAndar, ImovelWeb, Airbnb, or ALL simultaneously.

## `transactionType` (type: `string`):

Filter by Sale (Venda) or Rent (Aluguel / Temporada).

## `propertyType` (type: `string`):

Filter by type of property: Apartments, Houses, Land/Lots, Commercial, or All.

## `state` (type: `string`):

Brazilian 2-letter state acronym (e.g. 'sp', 'rj', 'mg', 'rs', 'pr', 'sc', 'ba', 'pe', 'ce', 'df', etc.). Covers all 27 Brazilian states.

## `city` (type: `string`):

City name or slug to scrape (e.g. 'sao-paulo', 'rio-de-janeiro', 'belo-horizonte', 'curitiba', 'florianopolis', 'salvador', 'itatiba').

## `region` (type: `string`):

Region slug for regional classification (e.g. 'grande-sao-paulo', 'sao-paulo-e-regiao', 'vale-do-paraiba', 'litoral-sp').

## `priceMin` (type: `integer`):

Minimum property price in Brazilian Reais (BRL).

## `priceMax` (type: `integer`):

Maximum property price in Brazilian Reais (BRL).

## `bedroomsMin` (type: `integer`):

Minimum number of bedrooms required.

## `bathroomsMin` (type: `integer`):

Minimum number of bathrooms required.

## `maxListings` (type: `integer`):

Maximum total number of listings to collect across the selected sources.

## `includeDescription` (type: `boolean`):

Extract full property description text when available.

## `debugMode` (type: `boolean`):

Enable verbose logging for debugging and troubleshooting.

## `proxyConfiguration` (type: `object`):

Apify Proxy settings. Recommends Brazilian Residential Proxy ('RESIDENTIAL', country BR) for optimal throughput and anti-bot bypass on Brazilian platforms.

## Actor input object example

```json
{
  "sources": "all",
  "transactionType": "sale",
  "propertyType": "all",
  "state": "sp",
  "city": "sao-paulo",
  "region": "grande-sao-paulo",
  "maxListings": 50,
  "includeDescription": false,
  "debugMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Structured real estate property dataset containing prices, condo fees, IPTU, areas, bedrooms, photos, and links.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "state": "sp",
    "city": "sao-paulo",
    "maxListings": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/brazil-real-estate-olx-quintoandar-imovelweb-airbnb").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "state": "sp",
    "city": "sao-paulo",
    "maxListings": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/brazil-real-estate-olx-quintoandar-imovelweb-airbnb").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "state": "sp",
  "city": "sao-paulo",
  "maxListings": 50
}' |
apify call scrapepilot/brazil-real-estate-olx-quintoandar-imovelweb-airbnb --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapepilot/brazil-real-estate-olx-quintoandar-imovelweb-airbnb"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/boeMRg9kAyNU7WWvu/builds/5hJv6eWRlkRGOMgB0/openapi.json
