Imovirtual Property Scraper avatar

Imovirtual Property Scraper

Pricing

Pay per usage

Go to Apify Store
Imovirtual Property Scraper

Imovirtual Property Scraper

Scrape residential & commercial listings from Imovirtual. Extract prices, locations, property types, descriptions, agent details & images. Ideal for real estate market analysis, price intelligence, investment pipeline building & property dataset monetization. High-volume, reliable extraction.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract property listing data from Imovirtual for Portuguese real estate research, pricing analysis, and listing monitoring. Collect apartment and house results with prices, areas, room counts, locations, images, seller details, and listing dates in a clean Apify dataset.

Features

  • Result URL support - Start from any compatible Imovirtual result page.
  • Search inputs - Build a default apartment purchase search from location and optional keyword.
  • Pagination control - Collect multiple result pages up to your chosen result limit.
  • Clean records - Empty and always-missing values are removed from saved items.
  • Rich listing fields - Capture price, area, room count, location hierarchy, images, seller, and tags.

Use Cases

Market Research

Compare property prices across Portuguese districts and cities. Use fields such as price, area, room count, and price per square meter to understand local market ranges.

Investment Analysis

Build datasets for buy-to-let or resale analysis. Track asking prices, listing dates, seller type, and location details to shortlist useful opportunities.

Listing Monitoring

Run the scraper on a schedule to monitor new and updated listings. Compare listing IDs and dates across runs to detect changes.

Lead Enrichment

Collect structured property records for CRM workflows. Agency names, owner names, URLs, and location fields help qualify listings before outreach.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoImovirtual apartment purchase URLImovirtual result URL. This has priority over the search fields.
keywordStringNoterraçoOptional keyword matched against listing text and tags.
locationStringNotodo-o-paisLocation used when startUrl is empty, such as lisboa, porto, or todo-o-pais.
results_wantedIntegerNo20Maximum number of listings to save.
max_pagesIntegerNo3Maximum result pages to request.
proxyConfigurationObjectNoApify Proxy offProxy settings for cloud runs.

Output Data

Each dataset item can contain:

FieldTypeDescription
idIntegerImovirtual listing ID
titleStringListing title
urlStringListing detail URL
transactionStringTransaction type
estateStringProperty category
priceNumberListing price
currencyStringPrice currency
price_per_square_meterNumberPrice per square meter
area_sqmNumberProperty area in square meters
roomsStringRoom count label
cityStringCity, parish, or local area
provinceStringDistrict or province
descriptionStringShort listing description
image_urlsArrayUnique large image URLs returned by the listing endpoint
total_possible_imagesNumberTotal photo count reported by Imovirtual
agency_nameStringAgency name when available
owner_nameStringAdvert owner name when available
tagsArrayListing feature tags
date_createdStringListing creation date
pageIntegerResult page where the listing was found

Usage Examples

Start From a URL

{
"startUrl": "https://www.imovirtual.com/pt/resultados/comprar/apartamento/todo-o-pais",
"results_wanted": 50,
"max_pages": 3
}

Search Lisbon Apartments

{
"location": "lisboa",
"results_wanted": 40,
"max_pages": 2
}

Filter by Keyword

{
"location": "porto",
"keyword": "terraço",
"results_wanted": 20,
"max_pages": 5
}

Sample Output

{
"id": 19174677,
"title": "Apartamento T3 Duplex com terraço",
"url": "https://www.imovirtual.com/pt/ad/apartamento-t3-duplex-com-terraco-ID1iscZ",
"transaction": "SELL",
"estate": "FLAT",
"price": 280000,
"currency": "EUR",
"price_per_square_meter": 1458.33,
"area_sqm": 192,
"rooms": "T3",
"city": "S. João da Madeira",
"province": "Aveiro",
"description": "Apartamento T3 duplex com terraço, último andar, óptimo estado...",
"image_urls": [
"https://ireland.apollo.olxcdn.com/v1/files/example/image;s=1280x1024;q=80"
],
"total_possible_images": 22,
"image": "https://ireland.apollo.olxcdn.com/v1/files/example/image;s=1280x1024;q=80",
"owner_name": "Lúcia Ferreira",
"is_private_owner": true,
"date_created": "2026-07-18 16:21:06",
"page": 1
}

Tips for Best Results

Use Result URLs for Exact Searches

  • Copy a working Imovirtual result URL when you need specific filters.
  • Use startUrl when you already selected filters on the website.
  • Keep max_pages modest for quick test runs.

Use Search Fields for Common Runs

  • Set location to a district slug such as lisboa or porto.
  • Use todo-o-pais for country-wide collection.
  • Use keyword only when you want a text match inside collected listings.

Optimize Collection Size

  • Start with 20 results for testing.
  • Increase results_wanted and max_pages for larger datasets.
  • Schedule repeated runs for monitoring instead of very large one-off runs.

Integrations

Connect your data with:

  • Google Sheets - Review property tables with your team.
  • Airtable - Build searchable real estate databases.
  • Make - Trigger workflows from new dataset items.
  • Zapier - Send matching listings to business tools.
  • Webhooks - Deliver fresh results to your own systems.

Export Formats

  • JSON - For application workflows.
  • CSV - For spreadsheet analysis.
  • Excel - For reporting.
  • XML - For system integrations.

Frequently Asked Questions

Can I scrape any Imovirtual result URL?

Yes, compatible Imovirtual result URLs can be provided through startUrl.

Does user input override the sample values?

Yes, values you provide in the Apify UI or API are used at runtime.

Can I collect more than one page?

Yes, set max_pages above 1 and increase results_wanted.

Why are some fields missing?

Some listings do not publish every field. Empty values are removed from the saved record.

Can I search by keyword?

Yes, the keyword is matched against collected listing text, locations, agencies, owners, and tags.


Support

For issues or feature requests, contact support through the Apify Console.

Resources


This actor is designed for legitimate data collection purposes. Users are responsible for ensuring compliance with website terms of service and applicable laws. Use collected data responsibly and respect rate limits.