Otodom, Storia, Imovirtual Scraper (search, filters, alerts) avatar

Otodom, Storia, Imovirtual Scraper (search, filters, alerts)

Pricing

from $1.00 / 1,000 result items

Go to Apify Store
Otodom, Storia, Imovirtual Scraper (search, filters, alerts)

Otodom, Storia, Imovirtual Scraper (search, filters, alerts)

Otodom.pl, Storia.ro and Imovirtual.com scraper for OLX Group real estate: flats, houses and land to rent or buy, by location, price, area and rooms or any result URL. Rows with price, price per m2, area, rooms, floor, district, city, agency, photos. Monitor mode alerts on new listings.

Pricing

from $1.00 / 1,000 result items

Rating

0.0

(0)

Developer

Viktor Dubnytskiy

Viktor Dubnytskiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

One scraper for OLX Group's three property portals: Otodom.pl (Poland), Storia.ro (Romania) and Imovirtual.com (Portugal). They run on the same platform, so a single actor returns flats, houses, rooms, land, offices and commercial units to rent or buy — filtered by location, price, area and rooms, or taken straight from any result URL — and monitor mode gives you only the listings that are new or re-priced since your last run.

What you get — example output

One row per listing. Real values from the example dataset (site: storia, rent, flat, bucuresti):

FieldExample valueWhat it is
listingId / site10572841 / storiaPortal listing id and which portal the row came from
titleInchiriere 2 camere 13Septembrie|Bloc Nou|ParcareListing headline
price / currency649 / EURNumeric price in the portal's currency
pricePerSqm11.8Price per square metre, computed by the portal
area / rooms / floor55 / TWO / NINTHLiving area in m², room count and floor as enums
city / districtBucuresti / 13 SeptembriePlus province and the full locationPath (13 Septembrie, Sectorul 5, Bucuresti)
isPrivateOwnerfalsePrivate seller vs. agency listing
agencyNameGeorge Estate GroupAgency publishing the listing (agencyId alongside)
createdAt / pushedUpAt2026-09-04 11:47:09 / 2026-09-04T11:47:09+03:00First published and last bumped

Full field list: listingId, site, country, url, title, transaction, estate, price, currency, rentPrice, pricePerSqm, area, terrainArea, rooms, floor, city, district, province, locationPath, lat, lon, isPrivateOwner, isPromoted, isExclusive, agencyId, agencyName, developmentId, developmentTitle, createdAt, pushedUpAt, images[], description, tags[], page, rank, scrapedAt.

Use cases

  • Rental yield and price research: pull a district with price, area and pricePerSqm already computed and compare neighbourhoods directly.
  • Flat hunting with alerts: watch one city and price band and be notified the moment a matching listing appears or drops price.
  • Agency and market analysis: measure how much of a market is agency-listed vs. private (isPrivateOwner, agencyName) and how fast listings are bumped.

How it works

All three portals are one Next.js platform, so the actor reads the structured listing data the pages embed — no login, no cookies, no proxy. Give site, transaction, estate and a location segment copied from the portal's own URL, plus optional price/area/room bounds; or paste searchUrls to reuse a filter set exactly. Pagination runs 36 listings per page until maxPages or maxItems. In monitor mode the run is compared with the previous run of the same Task and only new or re-priced listings are pushed, with an optional webhook or Telegram summary.

Input

FieldMeaningDefault
sitestoria (RO), otodom (PL) or imovirtual (PT) — one per runstoria
transactionrent or salerent
estateflat, house, room, terrain, commercial, officeflat
locationLocation segment as in the portal URL, e.g. bucurestibucuresti
priceFrom / priceToPrice range in the portal's currency, e.g. 400 / 900
areaFromMinimum living area in m², e.g. 50
roomsFromMinimum rooms, 1–6
searchUrlsAny result URLs of that portal; overrides the fields above
maxPagesPages per search, 36 listings each3
maxItemsStop after this many listings20
modescrape, or monitor for new/changed onlyscrape
webhookUrl, telegramBotToken, telegramChatIdWhere monitor-mode change summaries are sent

Pricing

EventPrice
result$0.001 per listing ($1 per 1,000)
monitor-check$0.005 per monitor run
change$0.001 per new/changed listing

Charged only for listings actually pushed — an empty run costs you nothing. No proxy needed.

Why this actor

  • Three countries, one schema: Otodom, Storia and Imovirtual rows line up field for field.
  • pricePerSqm comes straight from the portal, so €/m² comparisons need no maths of your own.
  • Private-owner and agency flags on every row, which is what separates real market supply from agency churn.
  • Any result URL can be pasted in, so the filters you set on the site are preserved exactly.
  • Monitor mode with new-listing and price-change alerts, delivered by webhook or Telegram — and no proxy to configure.

Limits

  • Listing detail pages are not opened (url leads to the ad).
  • Location must be given as the portal's URL segment (copy it from the site's address bar).
  • lat / lon are filled only where the portal exposes them; city, district, province and locationPath are always present.
  • One run covers one portal; schedule one Task per country to cover all three.

FAQ

Can I monitor new listings for a search? Yes. Save the input as a Task, set mode: monitor and schedule it — each run returns only listings that appeared or changed price since the previous run, and can POST a summary to webhookUrl or a Telegram chat.

Which countries and portals are supported? Poland via Otodom.pl, Romania via Storia.ro and Portugal via Imovirtual.com. Pick one per run with the site field; prices come back in that portal's own currency.

How do I set the location? Copy the location part of the portal's own search URL: bucuresti or cluj-napoca on Storia, mazowieckie/warszawa/warszawa/warszawa on Otodom, lisboa on Imovirtual. Or skip it and paste the whole result URL into searchUrls.

Changelog

  • 0.1: initial release.

If this actor saved you time, please leave a review on its Store page — it is the main way other buyers find it. Bug reports and field requests are welcome in the Issues tab.