
Imovirtual Scraper
Pricing
$20.00/month + usage
Go to Store

Imovirtual 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.
0.0 (0)
Pricing
$20.00/month + usage
1
8
2
Last modified
16 hours ago
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.
🎯 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
💡 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 |
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}
📤 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
The property information is structured in a clean, consistent format, making it easy to access and process the data programmatically for your specific use case.