Imovirtual Scraper (Per Event)
Pricing
from $8.00 / 1,000 results
Imovirtual Scraper (Per Event)
Extract detailed property listings from Imovirtual.com, Portugal's leading real estate platform. Get comprehensive property data for market analysis, lead generation, or research purposes.
Pricing
from $8.00 / 1,000 results
Rating
0.0
(0)
Developer

Marco Rodrigues
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Imovirtual Property Scraper 🏠
Extract detailed property listings from Imovirtual.com, Portugal's leading real estate platform. Get comprehensive property data for market analysis, lead generation, or research purposes.
💰 Pricing (Pay-per-event)
- Start actor run: $0.10 per execution
- Usage: $0.008 per result (per listing saved)
🎯 Features
- Complete Property Details: Capture titles, prices, locations, and sizes
- Professional Info: Get agency details and contact information
- Detailed Descriptions: Full property descriptions and features
- Price Analytics: Price per square meter calculations
- Flexible Filtering: Filter by location, property type, price range, and more
- Smart Collection: Automatically handles pagination and retry logic
- Comprehensive Data: Extract 20+ fields including photos, agency info, and property flags
💵 Pricing (Pay Per Event)
| Item | Cost | Notes |
|---|---|---|
| Actor start (per run) | $0.10 | Charged once each time the Actor starts |
| Per result saved | $0.008 | Charged for every listing pushed to the dataset |
Example: a run that saves 100 listings costs $0.10 + (100 × $0.008) = $0.90.
💡 Use Cases
- Real Estate Market Analysis: Track property prices and trends across Portugal
- Lead Generation: Get contact details of property agencies
- Investment Research: Analyze property prices across different locations and property types
- Market Competition: Monitor competitor listings and pricing strategies
- Property Database: Build your own comprehensive property database
- Location Analysis: Compare property prices by city, province, and neighborhood
🚀 Input Parameters
| Field | Type | Description | Default |
|---|---|---|---|
search_location | String | Location to search (e.g., 'Lisboa', 'Porto', 'Braga') | "Lisboa" |
property_type | String | Type of property (apartment, house, studio, etc.) | "apartment" |
listing_type | String | Buy or rent listings | "buy" |
min_price | Integer | Minimum price in EUR | 50000 |
max_price | Integer | Maximum price in EUR | 500000 |
min_sqft | Integer | Minimum area in m² | 50 |
max_sqft | Integer | Maximum area in m² | 100 |
number_of_bedrooms | Integer | Number of bedrooms (1-6+) | 1 |
max_properties | Integer | Maximum listings to collect before stopping | 200 |
Property Types Available:
- apartment - Apartments
- house - Houses
- studio - Studios (T0)
- building - Buildings/Developments
- room - Rooms
- land - Land plots
- commercial - Commercial properties
- office/warehouse - Offices and warehouses
- garage - Garages
📊 Output Dataset
The actor stores results in a dataset with the following fields:
| Field | Type | Description |
|---|---|---|
id | Integer | Unique property listing ID |
title | String | Property title/name |
url | String | Direct URL to the property listing |
description | String | Property description |
full_address | String | Complete property address |
province | String | Province name |
first_photo | String | URL of the first property photo |
number_of_photos | Integer | Total number of photos available |
agency_id | Integer | Agency ID |
agency_name | String | Name of the real estate agency |
price | Integer | Total property price in EUR |
price_per_square_meter | Integer | Price per square meter in EUR |
terrain_area_square_meter | Integer | Terrain area in square meters |
area_square_meter | Integer | Property area in square meters |
rooms_number | String | Number of rooms (e.g., "ONE", "TWO") |
floor_number | String | Floor number (e.g., "GROUND", "FIRST") |
date_created | String | Date when listing was created |
is_private_owner | Boolean | Whether it's a private owner listing |
is_promoted | Boolean | Whether the listing is promoted |
is_exclusive_offer | Boolean | Whether it's an exclusive offer |
🔧 Technical Features
- Retry Logic: Automatically retries failed requests up to 10 times
- Response Validation: Ensures valid JSON responses before processing
- Error Handling: Graceful error handling with detailed logging
- Data Validation: Robust field extraction with fallback values
- Stealth Mode: Uses stealth techniques to avoid detection
- Flexible Output: Saves both processed data and raw responses
📈 Data Quality
The scraper ensures high-quality data extraction by:
- Validating all required fields before saving
- Using fallback values for missing data
- Providing detailed logging for debugging
- Handling various property types and formats
- Supporting both Portuguese and international property markets
📥 Example Input JSON
{"search_location": "Lisboa","property_type": "apartment","listing_type": "buy","min_price": 50000,"max_price": 500000,"min_sqft": 50,"max_sqft": 100,"number_of_bedrooms": 1,"max_properties": 200}
📤 Example Output JSON (Single Listing)
{"id": 18668154,"title": "Apartamento T0 espaçoso com terraço, em São Bento, Lisboa","url": "https://www.imovirtual.com/pt/anuncio/apartamento-t0-espacoso-com-terraco-em-sao-bento-lisboa-ID1gkrg","description": "O projeto São Bento 21, como o nome indica, localiza-se na Rua de São Bento, num dos bairros mais bonitos e cosmopolitas de Lisboa. Trata-se de uma reabilitação com assintura do gabinete Saraiva +Ass...","full_address": "Rua de São Bento 123, Misericórdia, Lisboa","province": "Lisboa","first_photo": "https://ireland.apollo.olxcdn.com/v1/files/eyJmbiI6InZuY2o4ZTJzY3Aycy1FQ09TWVNURU0iLCJ3IjpbeyJmbiI6IjY5bmxwYTdlY3FtNzEtQVBUIiwicyI6IjE0IiwicCI6IjEwLC0xMCIsImEiOiIwIn1dfQ.KPfw7Rp-ulwi7-mkqdoJQnMQ2DioSIEqdTYpSfuuxGE/image;s=1280x1024;q=80","number_of_photos": 13,"agency_id": 3456674,"agency_name": "Infante & Riu - Portugal Real Estate","price": 450000,"price_per_square_meter": 7759,"terrain_area_square_meter": null,"area_square_meter": 58,"rooms_number": "ONE","floor_number": "GROUND","date_created": "2025-08-04 21:00:37","is_private_owner": false,"is_promoted": false,"is_exclusive_offer": false}
🚀 Getting Started
- Configure your input parameters (location, property type, price range)
- Run the scraper
- Access your results in the dataset
- Export data in JSON format for further analysis