Imovirtual Listings Scraper
Pricing
from $1.00 / 1,000 search listings
Imovirtual Listings Scraper
Scrape Imovirtual.com real estate listings in Portugal: price, price per m², area, rooms, floor, district, municipality, parish, agency and photos. Search by location, property type and price or paste any search URL. Optional details add GPS, phone numbers, description and energy certificate.
Pricing
from $1.00 / 1,000 search listings
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
🏠 Imovirtual Listings Scraper
Extract real estate listings from Imovirtual.com, one of Portugal's largest property portals. Get apartments, houses, land, commercial property, garages, rooms and new developments for sale or rent, with prices, price per m², area, rooms, location and agency. Use it for market analysis, price monitoring, investment research or real estate lead generation.
✨ Features
- 🔍 Search by fields or by URL: pick buy or rent, property type, location (district, municipality, parish or neighbourhood) and a price range. Or paste any Imovirtual search URL: every filter, the sort order and the page number are kept.
- 🏷️ Rich listing data: title, price, price per m², area, land area, rooms (T0, T1, T2... become 1, 2, 3 rooms), floor, street, district, municipality, parish, neighbourhood, agency, photos, listing dates and development info.
- 📋 Optional full details: turn on Scrape full listing details to add the full description, GPS coordinates, energy certificate, build year, bathrooms, all characteristics, amenities (lift, balcony, garage...), contact phone numbers and the agency profile.
- 📄 No page limit: whole result sets are reachable, e.g. all ~16,800 apartments for sale in Lisboa district.
- 🧹 No duplicates: listings that appear in several of your searches are saved once.
- 💰 Pay only for results: cheap search rows, details only when you ask for them.
🛠️ How it works
- Choose what to scrape: fill in the search fields, or go to imovirtual.com, set your filters (e.g. T2 apartments in Lisboa under €300,000) and copy the URL from your browser.
- Set your limits: choose how many listings you want (Max listings) and whether to fetch full details.
- Run the scraper and download the data as JSON, CSV, Excel or HTML, or connect it to Google Sheets, Make, Zapier or a webhook.
You can also paste individual listing URLs (https://www.imovirtual.com/pt/anuncio/...) to scrape specific properties.
⚙️ Input
Search by fields:
{"transaction": "sale","propertyType": "apartamento","location": "Lisboa","priceMax": 400000,"maxItems": 50,"scrapeDetails": false}
Or by search URL:
{"startUrls": [{"url": "https://www.imovirtual.com/pt/resultados/comprar/apartamento,t1/lisboa?priceMax=300000&roomsNumber=%5BTWO%5D&by=PRICE&direction=ASC"}],"maxItems": 200}
| Field | Description |
|---|---|
startUrls | Imovirtual search URLs (any filters, sort and page) or listing URLs. When given, the search fields are ignored. |
transaction | sale (comprar) or rent (arrendar). Default sale. |
propertyType | apartamento, moradia, terreno, imoveis-comerciais, imoveis-comerciais,escritorio, armazens, garagem, quarto, empreendimento, apartamento,nova-construcao, moradia,nova-construcao. Default apartamento. |
location | A place as written on Imovirtual, e.g. Lisboa, Cascais, Arroios, or Porto, Porto for the municipality rather than the district. Empty = all of Portugal. |
priceMin / priceMax | Price range in euro. |
maxItems | Maximum number of listings to save (default 50, 0 = no limit). |
scrapeDetails | Open each listing for description, GPS, phones and all characteristics (default off). |
proxyConfiguration | Proxy settings; the default works well. |
With empty input the Actor scrapes the newest 50 apartments for sale in Portugal.
📊 Sample output
A search result row:
{"id": 19301039,"url": "https://www.imovirtual.com/pt/anuncio/apartamento-t1-para-venda-ID1iZ55","title": "Apartamento T1 para venda","estate": "FLAT","transaction": "SELL","price": { "value": 239000, "currency": "EUR" },"pricePerSquareMeter": { "value": 7769.83, "currency": "EUR" },"areaInSquareMeters": 30.76,"roomsNumber": 2,"floorNumber": 1,"street": "Rua Antero de Quental","region": "Porto","municipality": "Porto","parish": "Cedofeita, Ildefonso, Sé, Miragaia, Nicolau, Vitória","neighborhood": "Lapa - Bouça","isPrivateOwner": false,"agency": { "id": 4009208, "name": "RE/MAX + Grupo Vantagem", "slug": "re-max-grupo-vantagem-ID4009208" },"dateCreated": "2026-10-07 20:08:03","image": "https://ireland.apollo.olxcdn.com/v1/files/.../image;s=1280x1024;q=80"}
With details on, each row also has description, latitude, longitude, bathroomsNumber, buildYear, energyCertificate, characteristics, features (amenities), floorPlans, phones, contact, owner and the full agency profile with address and phones.
💰 Pricing
You pay per saved listing:
| Event | Price | What you get |
|---|---|---|
| Search listing | $0.001 ($1.00 / 1,000) | All fields in the sample above |
| Listing detail | $0.004 ($4.00 / 1,000) | Charged instead of a search listing when details are on: everything, incl. description, GPS and phone numbers |
| Actor start | $0.00005 per run | One-off start fee |
Examples: 1,000 apartments from search results cost about $1.00; 1,000 listings with full details cost about $4.00.
💡 Tips
- Set filters on imovirtual.com (rooms, area, energy certificate, new builds...) and paste the URL: everything carries over, including
page=3if you want to start there. - Keep details off when you only need prices and locations: 4× cheaper and much faster.
- Add several URLs in one run to cover several cities or property types; duplicates are removed.
- Schedule the Actor to track new listings and price changes over time.
❓ FAQ
Is it legal to scrape Imovirtual? The Actor extracts only publicly available data. You are responsible for how you use it and for complying with local law and the site's terms. Contact details can be personal data under GDPR: only collect them with a legitimate purpose.
A listing disappeared before its details loaded. Sold or withdrawn listings are skipped and not billed.
Found a problem or need another field? Open an issue in the Issues tab.