Imovelweb Scraper | $1.5 / 1k | Fast & Reliable
Pricing
from $1.50 / 1,000 results
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
0.0
(0)
Developer
Fatih Tahta
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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…
| 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
{"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}
Scenario: Filter-only commercial search
{"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")
{"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")
{"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
saleorrent. - 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
- Open the Actor in Apify Console.
- Configure your search parameters, such as deal type, location, property type, room counts, price range, amenities, and recency filters.
- Set the maximum number of outputs to collect.
- Click Start and wait for the run to finish.
- 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.