# Imovelweb Scraper | $1.5 / 1k | Fast & Reliable (`fatihtahta/imovelweb-scraper`) Actor

Extract structured Brazil property listings from Imovelweb 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.

- **URL**: https://apify.com/fatihtahta/imovelweb-scraper.md
- **Developed by:** [Fatih Tahta](https://apify.com/fatihtahta) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Imovelweb Scraper

**Slug:** fatihtahta/imovelweb-scraper

### Overview
Imovelweb Scraper collects structured property listing data from Brazil, including listing identifiers, titles, descriptions, pricing, location details, property attributes, media assets, seller information, and contact details. It is designed for teams that need consistent listing records from searches defined by location, deal type, and other business filters. [Imovelweb](https://www.imovelweb.com.br) is one of Brazil's major real estate marketplaces, making it a useful source for tracking supply, pricing, and local market movement. The actor automates repetitive collection work that would otherwise require manual searching, copying, and normalization. The result is a more reliable dataset and less time spent maintaining recurring data collection workflows.

### Why Use This Actor
- **Market research and analytics:** Track listing volume, price ranges, property mix, and neighborhood-level trends across cities and segments.
- **Product and content teams:** Build city pages, comparison content, property catalogs, and research datasets with structured listing data.
- **Developers and data engineering pipelines:** Feed warehouses, ETL jobs, dashboards, and downstream services with JSON records that are ready to use.
- **Lead generation and enrichment:** Identify active listings, agencies, and seller profiles for CRM enrichment, territory mapping, or prospect research.
- **Monitoring and competitive tracking:** Watch new inventory, pricing changes, media-rich listings, and recently published properties over time.

### Input Parameters
Provide any combination of URLs, queries, and filters…

| Parameter | Type | Description | Default |
| --- | --- | --- | --- |
| `deal_type` | `string` | Overall listing intent to search. Allowed values: `sale`, `rent`, `auction`, `temporary`, `newly_built`. | `sale` |
| `location` | `string` | Optional place query in Brazil, such as a city, neighborhood, district, avenue, or street. Example: `Sao Paulo`, `Pinheiros`, `Avenida Paulista`. | – |
| `property_type` | `array[string]` | Broad property categories to include. Allowed values: `apartment`, `house`, `land`, `commercial`, `rural`. | – |
| `property_subtype` | `array[string]` | More specific property formats. Allowed values: `apartment_standard`, `studio`, `kitnet`, `penthouse`, `flat`, `garden`, `loft`, `duplex`, `house_standard`, `gated_house`, `townhouse`, `villa_house`, `condominium_land`, `office`, `commercial_point`, `store`, `garage_box`, `commercial_house`, `warehouse`, `hotel`, `building`, `country_house`, `farm`. | – |
| `min_bedroom` | `string` | Minimum bedroom count. Allowed values: `1`, `2`, `3`, `4`, `5` for 1+ to 5+ bedrooms. | – |
| `max_bedroom` | `string` | Maximum bedroom count. Allowed values: `1`, `2`, `3`, `4`, `5`. | – |
| `min_bathroom` | `string` | Minimum bathroom count. Allowed values: `1`, `2`, `3`, `4`, `5` for 1+ to 5+ bathrooms. | – |
| `min_parking` | `string` | Minimum parking spaces. Allowed values: `1`, `2`, `3`, `4` for 1+ to 4+ spaces. | – |
| `min_price` | `integer` | Minimum listing price in BRL. Use whole numbers such as `200000`. | – |
| `max_price` | `integer` | Maximum listing price in BRL. Use whole numbers such as `4000000`. | – |
| `min_sqm` | `integer` | Minimum total area in square meters. | – |
| `max_sqm` | `integer` | Maximum total area in square meters. | – |
| `min_usable_sqm` | `integer` | Minimum usable area in square meters. | – |
| `max_usable_sqm` | `integer` | Maximum usable area in square meters. | – |
| `common_feature_ids` | `array[string]` | Shared building or condominium features to require. Allowed values: `accessible_access`, `central_heating`, `service_area`, `green_area`, `playroom`, `security_cameras`, `soccer_field`, `golf_course`, `barbecue_grill`, `elevator`, `generator`, `jogging_track`, `playground`, `electronic_gate`, `concierge_24_hours`, `near_metro`, `tennis_court`, `furnished`, `balcony`, `pool`. | – |
| `private_feature_ids` | `array[string]` | Private or in-unit features to require. Allowed values: `air_conditioning`, `bar`, `closet`, `open_kitchen`, `staff_quarters`, `home_office`, `exchange_accepted`, `oceanfront`, `hot_tub`, `garden`, `fireplace`, `suites`, `not_in_rental_pool`, `pets_allowed`, `backyard`, `alarm_system`. | – |
| `near_transit` | `boolean` | When `true`, keeps only listings marked as near a metro station or public transit. | `false` |
| `max_antiquity` | `string` | Maximum property age range. Allowed values: `under_construction`, `coming_soon`, `up_to_5_years`, `up_to_10_years`, `up_to_20_years`, `up_to_50_years`, `more_than_50_years`. | – |
| `publication_days` | `string` | Recency filter for published listings. Allowed values: `today`, `since_yesterday`, `up_to_7_days`, `up_to_15_days`, `up_to_30_days`, `up_to_45_days`. | – |
| `publisher_type` | `string` | Restrict results by advertiser type. Allowed values: `ALL`, `COMPANY`, `PARTICULAR`. | – |
| `multimedia_types` | `array[string]` | Require specific listing media. Allowed values: `tour_360`, `videos`, `floor_plans`. | – |
| `limit` | `integer` | Maximum number of listings to save. Leave empty to collect all matching results the actor can reach. | – |

### Example Inputs

#### Scenario: Broad sale search in Sao Paulo
```json
{
  "deal_type": "sale",
  "location": "Sao Paulo",
  "property_type": ["apartment"],
  "min_bedroom": "2",
  "max_price": 1200000,
  "publication_days": "up_to_7_days",
  "limit": 100
}
````

#### Scenario: Rental search with transit and media filters

```json
{
  "deal_type": "rent",
  "location": "Copacabana, Rio de Janeiro",
  "property_subtype": ["flat", "studio"],
  "max_price": 7000,
  "near_transit": true,
  "multimedia_types": ["videos"],
  "limit": 75
}
```

#### Scenario: Filter-only commercial search

```json
{
  "deal_type": "sale",
  "property_type": ["commercial"],
  "property_subtype": ["office", "store"],
  "min_usable_sqm": 80,
  "publisher_type": "COMPANY",
  "common_feature_ids": ["elevator"],
  "limit": 50
}
```

### Output

#### 6.1 Output destination

The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.

#### 6.2 Record envelope (all items)

Every record includes these stable top-level identifiers:

- **type** *(string, required)*: Record category. Current value: `listing`.
- **id** *(number, required)*: Stable numeric listing identifier.
- **url** *(string, required)*: Canonical Imovelweb listing URL.

Recommended idempotency key: `type + ":" + id`

Use this key when deduplicating or upserting repeated listings across multiple runs, filters, or search seeds.

#### 6.3 Examples

All dataset items are `listing` records. Sale and rental context appears in fields such as `attributes.business` and `pricing.offers`.

##### Example: listing (`type = "listing"`)

```json
{
  "type": "listing",
  "id": 2973493139,
  "url": "https://www.imovelweb.com.br/propriedades/casa-a-venda-vila-metalurgica-3-quartos-517-m-2973493139.html",
  "identity": {
    "id": "2973493139",
    "external_id": "S893189964",
    "legacy_id": "2973493139",
    "provider_id": "47514138",
    "fingerprint": "9c8fd41d1cfdfeee28fb"
  },
  "source_context": {
    "url": "https://www.imovelweb.com.br/propriedades/casa-a-venda-vila-metalurgica-3-quartos-517-m-2973493139.html",
    "source_url": "https://www.imovelweb.com.br/imoveis-venda.html",
    "page_index": 1,
    "seed": {
      "id": "2af1977af04a",
      "type": "location",
      "value": "Sao Paulo"
    }
  },
  "timestamps": {
    "published_at": "2026-04-20T11:20:21-04:00",
    "created_at": "2022-03-29T04:00:00+00:00",
    "updated_at": "2026-04-20T11:20:21-04:00"
  },
  "content": {
    "title": "Casa à Venda - Vila Metalúrgica, 3 Quartos, 517 m² - Santo André",
    "description": "Casa à venda na Vila Camilopolis com 3 quartos e varanda."
  },
  "pricing": {
    "amount": 1390000,
    "currency": "BRL",
    "offers": [
      {
        "currency": "BRL",
        "operation_type": {
          "name": "Venda",
          "operation_type_id": "1"
        },
        "prices": [
          {
            "amount": 1390000,
            "formatted_amount": "1.390.000",
            "currency": "R$"
          }
        ]
      }
    ]
  },
  "availability": {
    "status": "online",
    "show_price": true
  },
  "location": {
    "label": "Rua do Centro, Vila Camilópolis, Santo André",
    "street": "Rua do Centro",
    "neighborhood": "Vila Camilópolis",
    "city": "Santo André",
    "state_code": "São Paulo",
    "location_id": "V1-D-523906",
    "coordinates": {
      "latitude": -23.62548,
      "longitude": -46.5284623
    }
  },
  "media": {
    "images": [
      {
        "id": "0",
        "url": "https://imgbr.imovelwebcdn.com/avisos/2/29/73/49/31/39/720x532/3607688575.jpg?isFirstImage=true",
        "title": "Casa · 517m² · 3 Quartos · 12 Vagas · Casa à Venda - Vila Metalúrgica, 3 Quartos, 517 m² - Santo André",
        "order": 0
      }
    ]
  },
  "attributes": {
    "business": "sale",
    "listing_type": "property",
    "property_type": "casas",
    "portal": "imovelweb",
    "rooms": {
      "bedrooms": 3,
      "bathrooms": 5,
      "suites": 3,
      "parking_spaces": 12
    },
    "area": {
      "usable_area": 517,
      "total_area": 517
    }
  },
  "entities": {
    "seller": {
      "account_id": "47514138",
      "name": "QuintoAndar (Premier Vendas)",
      "profile_url": "https://www.imovelweb.com.br/imobiliarias/quintoandar-premier-vendas_47514138-imoveis.html",
      "license_number": "J24.344",
      "tier": "premier",
      "logo_url": "https://imgbr.imovelwebcdn.com/empresas/2/00/47/51/41/38/130x70/logo_quintoandar-premier-vendas_1723818602737.jpg"
    }
  },
  "contact": {
    "whatsapp": "55 1150280245"
  }
}
```

##### Example: listing (`type = "listing"`)

```json
{
  "type": "listing",
  "id": 3022457990,
  "url": "https://www.imovelweb.com.br/propriedades/imoveis-em-copacabana-3022457990.html",
  "identity": {
    "id": "3022457990",
    "external_id": "20622",
    "legacy_id": "3022457990",
    "provider_id": "47523649",
    "fingerprint": "1ed7b2e2ed8f4df42bd5"
  },
  "source_context": {
    "url": "https://www.imovelweb.com.br/propriedades/imoveis-em-copacabana-3022457990.html",
    "source_url": "https://www.imovelweb.com.br/imoveis-aluguel-copacab.html",
    "page_index": 1,
    "seed": {
      "id": "582c6829eb74",
      "type": "location",
      "value": "copacab"
    }
  },
  "timestamps": {
    "published_at": "2026-04-20T17:20:18-04:00",
    "created_at": "2022-05-05T04:00:00+00:00",
    "updated_at": "2026-04-20T17:20:18-04:00"
  },
  "content": {
    "title": "Imoveis - em Copacabana",
    "description": "Apartamento duplex com vista para o mar em Copacabana, com três suítes, varanda, área de serviço e vaga."
  },
  "pricing": {
    "amount": 15000,
    "currency": "BRL",
    "offers": [
      {
        "currency": "BRL",
        "operation_type": {
          "name": "Aluguel",
          "operation_type_id": "2"
        },
        "prices": [
          {
            "amount": 15000,
            "formatted_amount": "15.000",
            "currency": "R$"
          }
        ]
      }
    ]
  },
  "availability": {
    "status": "online",
    "show_price": true
  },
  "location": {
    "label": "Avenida Atlantica, Copacabana, Rio de Janeiro",
    "street": "Avenida Atlantica",
    "neighborhood": "Copacabana",
    "city": "Rio de Janeiro",
    "state_code": "Rio De Janeiro",
    "location_id": "V1-D-512182",
    "coordinates": {
      "latitude": -22.9725074,
      "longitude": -43.1851037
    }
  },
  "media": {
    "images": [
      {
        "id": "0",
        "url": "https://imgbr.imovelwebcdn.com/avisos/2/30/22/45/79/90/720x532/5748338891.jpg?isFirstImage=true",
        "title": "Vista · Imoveis - em Copacabana",
        "order": 0
      }
    ]
  },
  "attributes": {
    "business": "rent",
    "listing_type": "property",
    "property_type": "apartamentos",
    "portal": "imovelweb",
    "rooms": {
      "bedrooms": 3,
      "bathrooms": 3,
      "suites": 3,
      "parking_spaces": 1
    },
    "area": {
      "usable_area": 220,
      "total_area": 220
    }
  },
  "entities": {
    "seller": {
      "account_id": "47523649",
      "name": "JTavares – Locação",
      "profile_url": "https://www.imovelweb.com.br/imobiliarias/jtavares-locacao_47523649-imoveis.html",
      "license_number": "00000",
      "tier": "premier",
      "logo_url": "https://imgbr.imovelwebcdn.com/empresas/2/00/47/52/36/49/130x70/logo_jtavares-locacao_1747235178104.jpg"
    }
  },
  "contact": {
    "whatsapp": "55 2132614200"
  }
}
```

### Field reference

#### Listing fields (`type = "listing"`)

- **type** *(string, required)*: Record type. Always `listing`.
- **id** *(number, required)*: Stable numeric listing identifier.
- **url** *(string, required)*: Canonical listing URL.
- **identity.id** *(string, required)*: Source listing ID as exposed by Imovelweb.
- **identity.external\_id** *(string, optional)*: External or advertiser-facing listing code.
- **identity.legacy\_id** *(string, optional)*: Legacy listing identifier when present.
- **identity.provider\_id** *(string, optional)*: Source provider or account ID.
- **identity.fingerprint** *(string, optional)*: Stable source fingerprint for the listing.
- **source\_context.url** *(string, required)*: Listing URL used for the record.
- **source\_context.source\_url** *(string, optional)*: Search or category URL where the listing was discovered.
- **source\_context.page\_index** *(number, optional)*: Result page where the listing was found.
- **source\_context.seed.id** *(string, optional)*: Identifier for the originating search input.
- **source\_context.seed.type** *(string, optional)*: Seed category, such as `location`.
- **source\_context.seed.value** *(string, optional)*: Original seed value used for discovery.
- **timestamps.published\_at** *(string, optional)*: Listing publication timestamp.
- **timestamps.created\_at** *(string, optional)*: Listing creation timestamp if available.
- **timestamps.updated\_at** *(string, optional)*: Last observed update timestamp.
- **content.title** *(string, required)*: Listing title.
- **content.description** *(string, optional)*: Listing description text.
- **pricing.amount** *(number, optional)*: Primary numeric price.
- **pricing.currency** *(string, optional)*: Currency code for the primary price, typically `BRL`.
- **pricing.offers\[]** *(array\[object], optional)*: Offer objects shown for the listing.
- **pricing.offers\[].currency** *(string, optional)*: Currency code for the offer.
- **pricing.offers\[].operation\_type.name** *(string, optional)*: Human-readable deal type, such as sale or rent.
- **pricing.offers\[].operation\_type.operation\_type\_id** *(string, optional)*: Source operation type identifier.
- **pricing.offers\[].prices\[]** *(array\[object], optional)*: Price breakdown objects for the offer.
- **pricing.offers\[].prices\[].amount** *(number, optional)*: Numeric amount in the displayed currency.
- **pricing.offers\[].prices\[].formatted\_amount** *(string, optional)*: Formatted price string without currency code normalization.
- **pricing.offers\[].prices\[].currency** *(string, optional)*: Display currency symbol.
- **availability.status** *(string, optional)*: Listing availability status.
- **availability.show\_price** *(boolean, optional)*: Whether price is visible on the listing.
- **location.label** *(string, optional)*: Full location label as displayed.
- **location.street** *(string, optional)*: Street name.
- **location.neighborhood** *(string, optional)*: Neighborhood or bairro.
- **location.zone** *(string, optional)*: Zone or local area label.
- **location.city** *(string, optional)*: City name.
- **location.state\_code** *(string, optional)*: State value as provided by the source.
- **location.location\_id** *(string, optional)*: Source location identifier.
- **location.coordinates.latitude** *(number, optional)*: Latitude.
- **location.coordinates.longitude** *(number, optional)*: Longitude.
- **location.geocoding.address\_type** *(string, optional)*: Address precision label.
- **location.address.name** *(string, optional)*: Address or street display name.
- **location.address.visibility** *(string, optional)*: Source visibility level for the address.
- **location.location.location\_id** *(string, optional)*: Hierarchical location node ID.
- **location.location.name** *(string, optional)*: Hierarchical location node name.
- **location.location.label** *(string, optional)*: Hierarchical location node label.
- **location.location.depth** *(number, optional)*: Hierarchy depth for the location node.
- **location.location.parent** *(object, optional)*: Parent location node; may repeat recursively.
- **location.posting\_geolocation.geolocation.latitude** *(number, optional)*: Posting geolocation latitude.
- **location.posting\_geolocation.geolocation.longitude** *(number, optional)*: Posting geolocation longitude.
- **media.images\[]** *(array\[object], optional)*: Listing images.
- **media.images\[].id** *(string, optional)*: Image identifier.
- **media.images\[].url** *(string, optional)*: Primary image URL.
- **media.images\[].title** *(string, optional)*: Image title or caption.
- **media.images\[].order** *(number, optional)*: Image ordering index.
- **media.images\[].height** *(number, optional)*: Image height in pixels.
- **media.images\[].width** *(number, optional)*: Image width in pixels.
- **media.images\[].multimedia\_type\_id** *(string, optional)*: Source multimedia type identifier.
- **media.images\[].url730x532** *(string, optional)*: Larger image variant URL.
- **media.images\[].url360x266** *(string, optional)*: Smaller image variant URL.
- **attributes.business** *(string, optional)*: Business context, such as `sale` or `rent`.
- **attributes.listing\_type** *(string, optional)*: Listing classification from the source.
- **attributes.property\_type** *(string, optional)*: Property category label from the source.
- **attributes.publication\_type** *(string, optional)*: Source publication tier or class.
- **attributes.display\_address\_type** *(string, optional)*: Address display precision from the source.
- **attributes.portal** *(string, optional)*: Source portal name.
- **attributes.rooms.bedrooms** *(number, optional)*: Bedroom count.
- **attributes.rooms.bathrooms** *(number, optional)*: Bathroom count.
- **attributes.rooms.suites** *(number, optional)*: Suite count.
- **attributes.rooms.parking\_spaces** *(number, optional)*: Parking space count.
- **attributes.area.usable\_area** *(number, optional)*: Usable area in square meters.
- **attributes.area.total\_area** *(number, optional)*: Total area in square meters.
- **entities.seller.account\_id** *(string, optional)*: Seller account identifier.
- **entities.seller.advertiser\_id** *(string, optional)*: Advertiser identifier when available.
- **entities.seller.name** *(string, optional)*: Seller or agency name.
- **entities.seller.profile\_url** *(string, optional)*: Seller profile URL.
- **entities.seller.license\_number** *(string, optional)*: License number if provided.
- **entities.seller.tier** *(string, optional)*: Seller tier or placement level.
- **entities.seller.logo\_url** *(string, optional)*: Seller logo URL.
- **entities.seller.publisher\_id** *(string, optional)*: Source publisher identifier.
- **contact.whatsapp** *(string, optional)*: WhatsApp contact number when available.
- **source\_data.raw\_listing** *(object, optional)*: Original listing payload retained for audit, traceability, or advanced downstream mapping.

### Data guarantees & handling

- **Best-effort extraction:** fields may vary by region, session, source availability, and UI experiments.
- **Optional fields:** null-check in downstream code.
- **Deduplication:** recommend `type + ":" + id`.

### How to Run on Apify

1. Open the Actor in Apify Console.
2. Configure your search parameters, such as deal type, location, property type, room counts, price range, amenities, and recency filters.
3. Set the maximum number of outputs to collect.
4. Click **Start** and wait for the run to finish.
5. Download results in JSON, CSV, Excel, or other supported formats.

### Scheduling & Automation

#### Scheduling

**Automated Data Collection**

You can schedule runs to keep your dataset fresh without manually starting each job. This is useful for recurring market snapshots, listing monitoring, and regular reporting.

- Navigate to **Schedules** in Apify Console
- Create a new schedule (daily, weekly, or custom cron)
- Configure input parameters
- Enable notifications for run completion
- (Optional) Add webhooks for automated processing

#### Integration Options

- **Webhooks:** Trigger downstream actions when a run completes
- **Zapier:** Connect to 5,000+ apps without coding
- **Make (Integromat):** Build multi-step automation workflows
- **Google Sheets:** Export results to a spreadsheet
- **Slack/Discord:** Receive notifications and summaries
- **Email:** Send automated reports via email

### Performance

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

Execution time varies based on filters, result volume, and how much information is returned per record.

### Compliance & Ethics

#### Responsible Data Collection

This actor collects publicly available real estate listing information from <https://www.imovelweb.com.br> for legitimate business purposes. Common use cases include residential and commercial real estate research, market analysis, lead generation and enrichment, and pricing or inventory monitoring. Users are responsible for ensuring their use of the data complies with applicable laws, regulations, contractual obligations, and the target site's terms. This section is informational and not legal advice.

- **Real estate** research and market analysis
- **Lead generation and listing enrichment**
- **Pricing monitoring and competitive intelligence**

#### Best Practices

- Use collected data in accordance with applicable laws, regulations, and the target site’s terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable (e.g., GDPR, CCPA)

### Support

If you need help, use the Issues tab or the support channel on the actor page in Apify. Include the input you used with sensitive values redacted, the run ID, a short description of expected versus actual behavior, and, if useful, a small output sample.

# Actor input Schema

## `deal_type` (type: `string`):

Select whether you want listings for sale, rent, auction, temporary stay, or newly built developments.

## `location` (type: `string`):

Optional. Search within a city, neighborhood, district, avenue, street, or another place in Brazil. Leave this empty to search more broadly with the other filters. For example: Sao Paulo, Pinheiros, or Avenida Paulista.

## `property_type` (type: `array`):

Pick one or more main property categories, or leave this empty to search across all property types.

## `property_subtype` (type: `array`):

Narrow the results to more specific property formats such as Cobertura, Flat, Sobrado, Loja, or other subtype options.

## `min_bedroom` (type: `string`):

Show only properties with at least this many bedrooms.

## `max_bedroom` (type: `string`):

Limit results to properties with no more than this many bedrooms.

## `min_bathroom` (type: `string`):

Show only properties with at least this many bathrooms.

## `min_parking` (type: `string`):

Show only properties with at least this many parking spaces.

## `min_price` (type: `integer`):

Exclude listings priced below this amount in BRL. For example, 200000.

## `max_price` (type: `integer`):

Exclude listings priced above this amount in BRL. For example, 4000000.

## `min_sqm` (type: `integer`):

Show only properties with at least this much total area in square meters.

## `max_sqm` (type: `integer`):

Limit results to properties with no more than this much total area in square meters.

## `min_usable_sqm` (type: `integer`):

Show only properties with at least this much usable area in square meters.

## `max_usable_sqm` (type: `integer`):

Limit results to properties with no more than this much usable area in square meters.

## `common_feature_ids` (type: `array`):

Filter for shared amenities such as a pool, elevator, playground, 24-hour concierge, or other condominium-level features.

## `private_feature_ids` (type: `array`):

Filter for features inside the property or exclusive to it, such as air conditioning, a fireplace, a garden, suites, or pet-friendly access.

## `near_transit` (type: `boolean`):

Turn this on to keep only listings marked as close to a metro station or public transit.

## `max_antiquity` (type: `string`):

Limit results to properties that fall within this age range, including options such as under 5 years or under 20 years.

## `publication_days` (type: `string`):

Show only listings published within the selected number of days.

## `publisher_type` (type: `string`):

Filter listings by advertiser type, such as all sellers, real estate agencies, or direct owners.

## `multimedia_types` (type: `array`):

Keep only listings that include specific media such as a 360 tour, video, or floor plan.

## `limit` (type: `integer`):

Enter how many listings you want to save. Leave this empty to collect every matching result the actor can reach.

## Actor input object example

```json
{
  "deal_type": "sale",
  "location": "Sao Paulo",
  "near_transit": false,
  "limit": 100
}
```

# Actor output Schema

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

No description

# 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 = {
    "location": "Sao Paulo",
    "limit": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("fatihtahta/imovelweb-scraper").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 = {
    "location": "Sao Paulo",
    "limit": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("fatihtahta/imovelweb-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "location": "Sao Paulo",
  "limit": 100
}' |
apify call fatihtahta/imovelweb-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fatihtahta/imovelweb-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Imovelweb Scraper | $1.5 / 1k | Fast & Reliable",
        "description": "Extract structured Brazil property listings from Imovelweb 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.",
        "version": "0.0",
        "x-build-id": "09RCUPF9A8sag9hx9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fatihtahta~imovelweb-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fatihtahta-imovelweb-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/fatihtahta~imovelweb-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fatihtahta-imovelweb-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/fatihtahta~imovelweb-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fatihtahta-imovelweb-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "deal_type": {
                        "title": "Choose a Deal Type",
                        "enum": [
                            "sale",
                            "rent",
                            "auction",
                            "temporary",
                            "newly_built"
                        ],
                        "type": "string",
                        "description": "Select whether you want listings for sale, rent, auction, temporary stay, or newly built developments.",
                        "default": "sale"
                    },
                    "location": {
                        "title": "Optionally Enter a Location (city or neighbourhood (bairro))",
                        "type": "string",
                        "description": "Optional. Search within a city, neighborhood, district, avenue, street, or another place in Brazil. Leave this empty to search more broadly with the other filters. For example: Sao Paulo, Pinheiros, or Avenida Paulista."
                    },
                    "property_type": {
                        "title": "Select Property Categories",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Pick one or more main property categories, or leave this empty to search across all property types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "apartment",
                                "house",
                                "land",
                                "commercial",
                                "rural"
                            ],
                            "enumTitles": [
                                "Apartment | Apartamento",
                                "House | Casa",
                                "Land | Terreno",
                                "Commercial | Comercial",
                                "Rural | Rural"
                            ]
                        }
                    },
                    "property_subtype": {
                        "title": "Refine by Property Subtype",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Narrow the results to more specific property formats such as Cobertura, Flat, Sobrado, Loja, or other subtype options.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "apartment_standard",
                                "studio",
                                "kitnet",
                                "penthouse",
                                "flat",
                                "garden",
                                "loft",
                                "duplex",
                                "house_standard",
                                "gated_house",
                                "townhouse",
                                "villa_house",
                                "condominium_land",
                                "office",
                                "commercial_point",
                                "store",
                                "garage_box",
                                "commercial_house",
                                "warehouse",
                                "hotel",
                                "building",
                                "country_house",
                                "farm"
                            ],
                            "enumTitles": [
                                "Standard apartment | Padrao",
                                "Studio apartment | Studio",
                                "Kitnet | Kitnet",
                                "Penthouse | Cobertura",
                                "Flat | Flat",
                                "Garden apartment | Garden",
                                "Loft | Loft",
                                "Duplex | Duplex",
                                "Standard house | Casa padrao",
                                "Gated community house | Casa em condominio",
                                "Townhouse | Sobrado",
                                "Village house | Casa de vila",
                                "Condominium land | Loteamento / Condominio",
                                "Office | Conjunto Comercial / Sala",
                                "Commercial point | Ponto Comercial",
                                "Storefront | Loja / Salao",
                                "Garage box | Box / Garagem",
                                "Commercial property | Casa Comercial",
                                "Warehouse | Galpao / Deposito / Barracao",
                                "Hotel / Inn | Hotel / Pousada",
                                "Whole building | Predio Inteiro",
                                "Country house | Chacara",
                                "Farm | Fazenda"
                            ]
                        }
                    },
                    "min_bedroom": {
                        "title": "Set a Minimum Bedroom Count",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Show only properties with at least this many bedrooms."
                    },
                    "max_bedroom": {
                        "title": "Set a Maximum Bedroom Count",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Limit results to properties with no more than this many bedrooms."
                    },
                    "min_bathroom": {
                        "title": "Set a Minimum Bathroom Count",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Show only properties with at least this many bathrooms."
                    },
                    "min_parking": {
                        "title": "Set a Minimum Parking Count",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Show only properties with at least this many parking spaces."
                    },
                    "min_price": {
                        "title": "Set a Minimum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Exclude listings priced below this amount in BRL. For example, 200000."
                    },
                    "max_price": {
                        "title": "Set a Maximum Price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Exclude listings priced above this amount in BRL. For example, 4000000."
                    },
                    "min_sqm": {
                        "title": "Set a Minimum Total Area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Show only properties with at least this much total area in square meters."
                    },
                    "max_sqm": {
                        "title": "Set a Maximum Total Area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Limit results to properties with no more than this much total area in square meters."
                    },
                    "min_usable_sqm": {
                        "title": "Set a Minimum Usable Area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Show only properties with at least this much usable area in square meters."
                    },
                    "max_usable_sqm": {
                        "title": "Set a Maximum Usable Area (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Limit results to properties with no more than this much usable area in square meters."
                    },
                    "common_feature_ids": {
                        "title": "Choose Shared Building Features",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter for shared amenities such as a pool, elevator, playground, 24-hour concierge, or other condominium-level features.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "accessible_access",
                                "central_heating",
                                "service_area",
                                "green_area",
                                "playroom",
                                "security_cameras",
                                "soccer_field",
                                "golf_course",
                                "barbecue_grill",
                                "elevator",
                                "generator",
                                "jogging_track",
                                "playground",
                                "electronic_gate",
                                "concierge_24_hours",
                                "near_metro",
                                "tennis_court",
                                "furnished",
                                "balcony",
                                "pool"
                            ],
                            "enumTitles": [
                                "Accessible access | Acesso para deficientes",
                                "Central heating | Aquecimento central",
                                "Service area | Area de servico",
                                "Green area | Area verde",
                                "Playroom | Brinquedoteca",
                                "Security cameras | Cameras de seguranca",
                                "Soccer field | Campo de futebol",
                                "Golf course | Campo de golfe",
                                "Barbecue grill | Churrasqueira",
                                "Elevator | Elevador",
                                "Generator | Gerador",
                                "Jogging track | Pista de cooper",
                                "Playground | Playground",
                                "Electronic gate | Portao eletronico",
                                "24-hour concierge | Portaria 24 horas",
                                "Near metro | Proximo ao metro",
                                "Tennis court | Quadra de tenis",
                                "Furnished | Mobiliado",
                                "Balcony | Varanda",
                                "Pool | Piscina"
                            ]
                        }
                    },
                    "private_feature_ids": {
                        "title": "Choose Private Property Features",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter for features inside the property or exclusive to it, such as air conditioning, a fireplace, a garden, suites, or pet-friendly access.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "air_conditioning",
                                "bar",
                                "closet",
                                "open_kitchen",
                                "staff_quarters",
                                "home_office",
                                "exchange_accepted",
                                "oceanfront",
                                "hot_tub",
                                "garden",
                                "fireplace",
                                "suites",
                                "not_in_rental_pool",
                                "pets_allowed",
                                "backyard",
                                "alarm_system"
                            ],
                            "enumTitles": [
                                "Air conditioning | Ar condicionado",
                                "Bar | Bar",
                                "Closet | Closet",
                                "Open kitchen | Cozinha americana",
                                "Staff quarters | Dependencia de empregados",
                                "Home office | Escritorio / Home-office",
                                "Exchange accepted | Aceita / Estuda permuta",
                                "Oceanfront | Frente para o mar",
                                "Hot tub | Hidromassagem",
                                "Garden | Jardim",
                                "Fireplace | Lareira",
                                "Suites | Suites",
                                "Not in rental pool | No pool de locacao",
                                "Pets allowed | Permite animais",
                                "Backyard | Quintal",
                                "Alarm system | Sistema de alarme"
                            ]
                        }
                    },
                    "near_transit": {
                        "title": "Show Only Listings Near Metro or Transit 🚇",
                        "type": "boolean",
                        "description": "Turn this on to keep only listings marked as close to a metro station or public transit.",
                        "default": false
                    },
                    "max_antiquity": {
                        "title": "Set the Maximum Property Age",
                        "enum": [
                            "under_construction",
                            "coming_soon",
                            "up_to_5_years",
                            "up_to_10_years",
                            "up_to_20_years",
                            "up_to_50_years",
                            "more_than_50_years"
                        ],
                        "type": "string",
                        "description": "Limit results to properties that fall within this age range, including options such as under 5 years or under 20 years."
                    },
                    "publication_days": {
                        "title": "Limit by Publication Recency",
                        "enum": [
                            "today",
                            "since_yesterday",
                            "up_to_7_days",
                            "up_to_15_days",
                            "up_to_30_days",
                            "up_to_45_days"
                        ],
                        "type": "string",
                        "description": "Show only listings published within the selected number of days."
                    },
                    "publisher_type": {
                        "title": "Choose a Listing Source",
                        "enum": [
                            "ALL",
                            "COMPANY",
                            "PARTICULAR"
                        ],
                        "type": "string",
                        "description": "Filter listings by advertiser type, such as all sellers, real estate agencies, or direct owners."
                    },
                    "multimedia_types": {
                        "title": "Require Listing Media",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Keep only listings that include specific media such as a 360 tour, video, or floor plan.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "tour_360",
                                "videos",
                                "floor_plans"
                            ],
                            "enumTitles": [
                                "360 tour | Tour 360",
                                "Videos | Videos",
                                "Floor plans | Plantas"
                            ]
                        }
                    },
                    "limit": {
                        "title": "Set a Maximum Number of Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Enter how many listings you want to save. Leave this empty to collect every matching result the actor can reach."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
