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

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

Pricing

from $0.80 / 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 $0.80 / 1,000 result items

Rating

0.0

(0)

Developer

Viktor Dubnytskiy

Viktor Dubnytskiy

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

17 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) — no login, no cookies, no proxy.

What you get

Real rows from the example dataset (site: storia, rent, flat, bucuresti):

titlepriceareadistrictagencyName
Inchiriere 2 camere 13Septembrie|Bloc Nou|Parcare649 EUR55 m²13 SeptembrieGeorge Estate Group
Apartament 2 Camere | Victoriei | Complet Mobilat si Utilat, Parcare699 EUR55 m²DorobantiFocus Imobiliare
Apartament 2 camere Drumul Taberei zona Favorit400 EUR53 m²Drumul TabereiGalaxy Imob

Full row: 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 get 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.

Try it in 10 seconds

Hit Start/Try it — the input already works: site: storia, transaction: rent, estate: flat, location: bucuresti, maxPages: 3, maxItems: 20, nothing required.

To track a search over time instead of a one-off pull: save the task, set Mode to monitor, and put it on a schedule (Apify → Schedules → cron 0 8 * * 1 for weekly). Each run then returns only listings that are new or re-priced since last time, and can post the diff to a webhook or Telegram.

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.