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

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

Pricing

from $1.50 / 1,000 results

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

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

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.

Pricing

from $1.50 / 1,000 results

Rating

5.0

(1)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

23

Total users

8

Monthly active users

11 days ago

Last modified

Share

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 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…

ParameterTypeDescriptionDefault
deal_typestringOverall listing intent to search. Allowed values: sale, rent, auction, temporary, newly_built.sale
locationstringOptional place query in Brazil, such as a city, neighborhood, district, avenue, or street. Example: Sao Paulo, Pinheiros, Avenida Paulista.
property_typearray[string]Broad property categories to include. Allowed values: apartment, house, land, commercial, rural.
property_subtypearray[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_bedroomstringMinimum bedroom count. Allowed values: 1, 2, 3, 4, 5 for 1+ to 5+ bedrooms.
max_bedroomstringMaximum bedroom count. Allowed values: 1, 2, 3, 4, 5.
min_bathroomstringMinimum bathroom count. Allowed values: 1, 2, 3, 4, 5 for 1+ to 5+ bathrooms.
min_parkingstringMinimum parking spaces. Allowed values: 1, 2, 3, 4 for 1+ to 4+ spaces.
min_priceintegerMinimum listing price in BRL. Use whole numbers such as 200000.
max_priceintegerMaximum listing price in BRL. Use whole numbers such as 4000000.
min_sqmintegerMinimum total area in square meters.
max_sqmintegerMaximum total area in square meters.
min_usable_sqmintegerMinimum usable area in square meters.
max_usable_sqmintegerMaximum usable area in square meters.
common_feature_idsarray[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_idsarray[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_transitbooleanWhen true, keeps only listings marked as near a metro station or public transit.false
max_antiquitystringMaximum 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_daysstringRecency 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_typestringRestrict results by advertiser type. Allowed values: ALL, COMPANY, PARTICULAR.
multimedia_typesarray[string]Require specific listing media. Allowed values: tour_360, videos, floor_plans.
limitintegerMaximum 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

{
"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

{
"deal_type": "rent",
"location": "Copacabana, Rio de Janeiro",
"property_subtype": ["flat", "studio"],
"max_price": 7000,
"near_transit": true,
"multimedia_types": ["videos"],
"limit": 75
}
{
"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 normalized rows to the default Apify dataset as JSON records.

Every saved row now follows a stable real-estate contract with these top-level groups:

  • record_type: always property_listing for this actor.
  • record_id: stable listing ID for dedupe and idempotency.
  • source_context: source URLs, seed details, seed provenance, and lookup IDs.
  • entity: title, description, status, category, and IDs.
  • listing: listing-type metadata (deal type, contract, status, source links, timestamps).
  • pricing: normalized amount and offer details.
  • availability: availability/visibility flags.
  • property: rooms, areas, building context, and variant data.
  • location: address + coordinates.
  • media: images, videos, and logos.
  • contact_details: phones, whatsapp, and contact links.
  • relationships: seller/developer entities.
  • metrics: listing counters and score-like numbers.
  • attributes: structured and source-preserving fallback bucket.

Use record_type + record_id for idempotent upserts.

6.2 Example output row

{
"record_type": "property_listing",
"record_id": "3011654662",
"source_context": {
"source_name": "imovelweb",
"source_domain": "imovelweb.com.br",
"source_url": "https://www.imovelweb.com.br/imoveis-venda-sao-paulo.html",
"listing_url": "https://www.imovelweb.com.br/propriedades/casa-com-3-dormitorios-a-venda-336m-urbanova-3011654662.html",
"canonical_url": "https://www.imovelweb.com.br/propriedades/casa-com-3-dormitorios-a-venda-336m-urbanova-3011654662.html",
"loaded_url": "https://www.imovelweb.com.br/propriedades/casa-com-3-dormitorios-a-venda-336m-urbanova-3011654662.html",
"search_url": "https://www.imovelweb.com.br/imoveis-venda-sao-paulo.html",
"seed_type": "location",
"seed_id": "2af1977af04a",
"seed_value": "Sao Paulo",
"seed": {
"type": "location",
"value": "Sao Paulo",
"id": "2af1977af04a"
},
"page_index": 1,
"page_number": 1,
"external_ids": {
"listing_id": "3011654662",
"external_id": "CA4602",
"legacy_id": "3011654662",
"provider_id": "47039668"
}
},
"entity": {
"name": "Casa com 3 dormitórios à venda, 336m² - Urbanova - SJCampos",
"title": "Casa com 3 dormitórios à venda, 336m² - Urbanova - SJCampos",
"description": "Casa com 3 dormitórios, cozinha e garagem.",
"url": "https://www.imovelweb.com.br/propriedades/casa-com-3-dormitorios-a-venda-336m-urbanova-3011654662.html",
"status": "online",
"category": "property",
"external_ids": {
"listing_id": "3011654662",
"external_id": "CA4602",
"legacy_id": "3011654662",
"provider_id": "47039668"
}
},
"listing": {
"listing_id": "3011654662",
"listing_type": "property",
"deal_type": "sale",
"transaction_type": "sale",
"property_type": "casas",
"listed_at": "2026-06-09T07:55:08-04:00",
"created_at": "2016-09-14T04:00:00+00:00",
"updated_at": "2026-06-09T07:55:08-04:00",
"publication_type": "3",
"display_address_type": "exact",
"portal": "imovelweb",
"is_sponsored": false
},
"pricing": {
"amount": 1700000,
"currency": "BRL",
"price_text": "1700000",
"offers": [
{
"business_type": "sale",
"currency": "BRL",
"operation_type_id": "1",
"operation_type_name": "Venda",
"prices": []
}
],
"is_price_hidden": false
},
"availability": {
"status": "online",
"show_price": true
},
"property": {
"property_type": "casas",
"rooms": {
"bedrooms": 4,
"bathrooms": 3,
"suites": 1,
"parking_spaces": 2
},
"area": {
"usable_area": 336,
"total_area": 350
}
},
"location": {
"label": "Avenida Shishima Hifumi 2700, Urbanova, São José dos Campos",
"street": "Avenida Shishima Hifumi 2700",
"neighborhood": "Urbanova",
"zone": "ZONA",
"city": "São José dos Campos",
"state_code": "SP",
"location_id": "V1-D-525135",
"coordinates": {
"latitude": -23.20393,
"longitude": -45.94852
},
"address": {
"postal_code": null,
"state": "São Paulo",
"country": "Brasil"
},
"external_ids": {
"source_id": "V1-D-525135",
"listing_id": "3011654662"
}
},
"media": {
"images": [
{
"url": "https://imgbr.imovelwebcdn.com/avisos/2/30/11/65/46/62/360x266/5655419277.jpg",
"order": 0
}
]
},
"contact_details": {
"whatsapp": "55 12982095100"
},
"relationships": {
"seller": {
"account_id": "47039668",
"name": "i9vale Imóveis",
"tier": "premier"
}
},
"attributes": {
"source_specific": {
"listing_id": "3011654662",
"raw_source_data": {
"raw_listing": {
"posting_id": "3011654662",
"expenses": {
"amount": 1000,
"currency": "R$"
}
}
}
}
}
}

Field reference

Listing fields (record_type = "property_listing")

  • record_type (string, required): Stable top-level record class.
  • record_id (string, required): Stable listing identifier for dedupe and upserts.
  • source_context.source_name (string, optional): Normalized source platform.
  • source_context.source_domain (string, optional): Source domain.
  • source_context.source_url (string, optional): Seed or discovery URL.
  • source_context.listing_url (string, optional): Listing URL for the row.
  • source_context.canonical_url (string, optional): Canonicalized listing URL.
  • source_context.loaded_url (string, optional): Resolved page URL used by the actor.
  • source_context.search_url (string, optional): Search URL used to discover the listing.
  • source_context.seed_type (string, optional): url, location, or search.
  • source_context.seed_id (string, optional): Actor seed id.
  • source_context.seed_value (string, optional): Seed value string.
  • source_context.seed.type (string, optional): Seed kind.
  • source_context.seed.value (string, optional): Seed value.
  • source_context.seed.id (string, optional): Seed id.
  • source_context.page_index (number, optional): Result page where listing appeared.
  • source_context.page_number (number, optional): Search page number in listing flow.
  • source_context.external_ids (object, optional): IDs and references for seed context.
  • entity.name (string, optional): Listing name/title alias.
  • entity.title (string, optional): Normalized listing title.
  • entity.description (string, optional): Marketing and details text.
  • entity.url (string, optional): Primary listing URL.
  • entity.status (string, optional): Listing status.
  • entity.category (string, optional): Listing/property category.
  • entity.external_ids (object, optional): Canonical and source IDs.
  • listing.listing_id (string, optional): Listing ID.
  • listing.deal_type (string, optional): Sale/rent/auction context.
  • listing.transaction_type (string, optional): Normalized transaction context.
  • listing.contract_type (string, optional): Contract type from source.
  • listing.property_type (string, optional): Normalized property type.
  • listing.publication_type (string, optional): Source publication tier.
  • listing.listed_at (string, optional): Listing timestamp.
  • listing.created_at (string, optional): Source creation time.
  • listing.updated_at (string, optional): Last known source update.
  • pricing.amount (number, optional): Primary numeric asking amount.
  • pricing.currency (string, optional): Currency code.
  • pricing.price_text (string, optional): Price text as shown by source.
  • pricing.offers[] (array[object], optional): Offer-level pricing objects.
  • availability.status (string, optional): Availability status.
  • availability.show_price (boolean, optional): Whether price is visible.
  • availability.accept_exchange (boolean, optional): Exchange supported flag.
  • property.rooms (object, optional): Rooms and counts.
  • property.area (object, optional): Area fields and variants.
  • location.label (string, optional): Full source location label.
  • location.full_address (string, optional): Full address string.
  • location.street (string, optional): Street value.
  • location.neighborhood (string, optional): Neighborhood/bairro.
  • location.city (string, optional): City.
  • location.state (string, optional): State value.
  • location.postal_code (string, optional): Postal code.
  • location.coordinates.latitude (number, optional): Latitude.
  • location.coordinates.longitude (number, optional): Longitude.
  • media.images[] (array[object], optional): Listing image objects.
  • media.videos[] (array[object], optional): Listing videos and tour URLs.
  • contact_details.phones (array[string], optional): Contact phone numbers.
  • contact_details.whatsapp (string, optional): WhatsApp number.
  • relationships.seller (object, optional): Seller/advertiser entity data.
  • metrics.view_count (number, optional): View-like metric.
  • metrics.trust_score (number, optional): Trust/rating score.
  • attributes.source_specific.raw_source_data (object, optional): Preserved full source payload.

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 record_type + \":\" + record_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.