Imovirtual & Storia Property Scraper (Portugal, Romania) avatar

Imovirtual & Storia Property Scraper (Portugal, Romania)

Pricing

from $1.26 / 1,000 results

Go to Apify Store
Imovirtual & Storia Property Scraper (Portugal, Romania)

Imovirtual & Storia Property Scraper (Portugal, Romania)

Scrapes property listings from Imovirtual (Portugal) and Storia (Romania), the leading OLX Group real-estate portals in each market. Each row carries price, area, rooms, address, agency contact and photos, with optional full listing details.

Pricing

from $1.26 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Imovirtual & Storia Property Scraper — Portugal, Romania

Scrapes property listings from Imovirtual (Portugal) and Storia (Romania), the leading OLX Group real-estate portals in each market — the same platform family as otodom-properties-scraper (Poland), already in this portfolio.

MarketSiteExample scale (apartments for sale)
Portugalimovirtual.com~16,400 in Lisbon district, ~74,400 nationwide
Romaniastoria.ro~22,700 in Bucharest, ~82,000 nationwide

Residential and commercial, buy and rent, with optional full listing details.


What each row contains

Every listing is emitted as upstream returns it. Highlights:

  • Price (totalPrice), area, rooms, floor
  • Location — full address text and coordinates
  • Advertiser — agency name and logo, or private owner
  • Listing metadata — creation date, image count, development/investment linkage for new-build units
  • With includePropertyDetails: the full description, a structured characteristics table (price/m², build year, energy certificate), features by category, owner contact details including phone numbers, breadcrumbs, and floor plans

Record types

recordTypeOne perPurpose
SEARCH_SUMMARYqueryupstream's own total, requests spent, honesty flags
PROPERTYlistingthe listing itself, upstream shape preserved
ERRORfailed inputso every input maps to at least one row

The one filter to be careful with

Property type is the dangerous input on this platform. An unrecognised value is not rejected — it returns HTTP 200 with every listing in the whole country, and it discards your location filter too. searchApplied on the summary row reports whether this happened; when it did, the Actor stops before crawling and emits zero property rows rather than filling your dataset with the wrong data. This Actor validates the type against each market's real list before ever sending the request, so this should not come up in normal use — it exists as a safety net and as documentation for anyone calling the underlying URL pattern directly.

Everything else offered here was individually verified to move the result count: transaction, rooms, price range, area range and sort each narrow or reorder genuinely, on both markets independently — Romania's default sort already puts newest first, for instance, so "Newest first" is a no-op there even though it works on Portugal.


Input

FieldNotes
marketpt (Imovirtual) or ro (Storia)
locationsLocation slugs, e.g. lisboa, porto, bucuresti, cluj. Empty = whole country
transactioncomprar/arrendar (PT), vanzare/inchiriere (RO)
propertyTypeSee the market's allowlist in the input description
roomsMulti-select, 1 through 10+
minPrice / maxPriceEUR
minArea / maxArea
sortBy / sortDirectionPrice, area, or newest
pageSize24, 36, 48 or 72 — anything else silently falls back to 36
includePropertyDetailsOne extra request per listing
maxItemsPer location

Known limits

  • No artificial pagination ceiling — a whole-country apartment query pages through several hundred pages. Narrow by location, type or price for a quicker, more targeted crawl.
  • Pagination clamps past the last page rather than erroring — page 458 of a 457-page result re-serves page 457. The Actor detects this (no new ids) and reports paginationClampHit: true rather than looping.
  • totalMatches is read from page 1 only. The live index shifts under a running crawl.
  • otodom.pl (Poland) is not included here — it already ships as its own Actor in this portfolio (otodom-properties-scraper), even though it runs the same platform.
  • Listings removed mid-run answer 404 on the detail pass. The search row is still emitted, with detailFetched: false.

Anti-bot

None encountered. Seven TLS fingerprints were tested against search pages (page 1 and page 5) on both markets — all 28 combinations returned data cleanly, cold, with no warmup. The Actor still rotates fingerprints and exit IPs on failure, and defaults to residential proxy, because cloud egress is fingerprinted differently from a local test.