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
5.0
(1)
Developer
Fatih Tahta
Maintained by CommunityActor stats
1
Bookmarked
23
Total users
8
Monthly active users
11 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 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_listingfor 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, orsearch. - 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
- 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.