Imovirtual Data Parser & API
Imovirtual is a leading Portuguese property portal — drawing an estimated ~6M+ monthly visits as the main challenger to Idealista in Portugal — and PropAPIS extracts its resale, rental, and new-build listings through a single REST API. Part of the OLX Group (Adevinta-adjacent), Imovirtual carries a large national inventory, exposing price, size, energy certificate, and agent data.
| Country | Portugal |
|---|---|
| Type | Portal |
| Owner | OLX Group (Adevinta-adjacent) |
| Listing types | resale, rental, new-build |
| Monthly visits | ~6M+ / mo (est.) |
| Active listings | — (large) |
| API access | No public API (parse-only) |
| Parse priority | ★★★☆☆ |
| Official site | www.imovirtual.com |
Platform Overview
Market Position
Imovirtual is operated within the OLX Group (Adevinta-adjacent through OLX/Naspers heritage) and is the main challenger to market leader Idealista in Portugal. It carries a large national inventory and draws an estimated ~6M+ monthly visits, making it a primary secondary source for Portuguese property data (Portugalist ).
- Portugal’s #2 Portal: Main challenger to Idealista
- OLX Group: Adevinta-adjacent classifieds heritage
- ~6M+ Monthly Visits (est.): Broad Portuguese reach
- Large National Inventory: Resale, rental, and new-build
Market Coverage
Geographic Coverage:
- Portugal: All districts nationwide
- Major cities: Lisbon, Porto, Braga, Coimbra, Faro
- Algarve and coastal markets
Property Types:
- Apartments (Apartamentos)
- Houses and villas (Moradias)
- New-build developments (Empreendimentos novos)
- Studios and lofts
Data Fields Available
PropAPIS extracts a rich field set from each Imovirtual listing:
Property Information
- Address: Property location with postcode (código postal)
- Price: Asking price or rent (EUR)
- Size: Square meters (Área)
- Rooms: Typology (Tipologia, e.g. T2, T3)
- Bathrooms: Number of bathrooms (Casas de banho)
- Property Type: Apartment, villa, new-build
- Floor: Floor level (Andar)
- Price per m²: Calculated price per square meter
Listing Details
- Description: Full property description (Portuguese)
- Features: Amenities and equipment
- Photos: Image URLs
- Energy Certificate: Energy efficiency rating (Certificado energético)
Agent Information
- Estate Agent: Agency name (Agência / Mediadora)
- Agent Contact: Office contact details
- Agent Reference: Listing reference number (Referência)
Location Data
- Postcode: Portuguese postal code (código postal)
- City and Parish: Cidade and freguesia
- Coordinates: Latitude and longitude
Financial Information
- Condo Fees: Monthly condominium fees (Condomínio)
- Price per m²: Value benchmark
- IMI context: Property tax considerations
API Endpoints
Get Property Details
from propapis import PropAPIS
api = PropAPIS(api_key='your_api_key')
# Get property by ID or URL
property_data = api.platforms.imovirtual.get_property(
listing_id='ID12345678'
)
print(f"Address: {property_data.address}")
print(f"Price: €{property_data.price:,}")
print(f"Size: {property_data.size_m2} m²")
print(f"Typology: {property_data.rooms}")
print(f"Energy Certificate: {property_data.energy_cert}")Search For Sale Listings
# Search properties for sale
listings = api.platforms.imovirtual.search_for_sale(
location='Lisbon',
min_price=150000,
max_price=500000,
min_rooms=2,
property_type='Apartment'
)
for listing in listings[:10]:
print(f"{listing.address} - €{listing.price:,}")
print(f" {listing.rooms} | {listing.size_m2} m² | €{listing.price_per_m2:,.0f}/m²")Search Rental Properties
# Search rental properties
rentals = api.platforms.imovirtual.search_to_rent(
location='Porto',
min_price=600, # monthly rent
max_price=1500,
min_rooms=2
)
for rental in rentals[:5]:
print(f"{rental.address} - €{rental.price:,}/mo")Quick Start
Python
from propapis import PropAPIS
api = PropAPIS(api_key='your_api_key')
property_data = api.platforms.imovirtual.get_property('ID12345678')
print(f"Price: €{property_data.price:,}")
print(f"Size: {property_data.size_m2} m²")
print(f"Price per m²: €{property_data.price_per_m2:,.0f}")For detailed documentation, see our API Reference.