Skip to Content
PlatformsEuropeImovirtual

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.

CountryPortugal
TypePortal
OwnerOLX Group (Adevinta-adjacent)
Listing typesresale, rental, new-build
Monthly visits~6M+ / mo (est.)
Active listings— (large)
API accessNo public API (parse-only)
Parse priority★★★☆☆
Official sitewww.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

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.

Frequently asked questions