Imobiliare.ro Scraper - Romania Property Listings & Prices avatar

Imobiliare.ro Scraper - Romania Property Listings & Prices

Pricing

from $0.73 / 1,000 property searches

Go to Apify Store
Imobiliare.ro Scraper - Romania Property Listings & Prices

Imobiliare.ro Scraper - Romania Property Listings & Prices

Scrape Imobiliare.ro listings across Romania: price, price cuts, area, rooms, floor, photos, agency contacts. Sale and rental, in Romanian.

Pricing

from $0.73 / 1,000 property searches

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Imobiliare.ro Scraper - Romania Property Listings & Prices 🚀

SIÁN Agency Store Store-OLX%20Property-1AE392 Store-Otodom-1AE392 Store-Sreality-1AE392

🎉 Every Imobiliare.ro advert, with the price cut already flagged

For analysts pricing the Romanian market, agencies sourcing stock, and anyone tired of scrolling 333 pages by hand

Scrape Imobiliare.ro listings across Romania: price, price cuts, area, rooms, floor, photos, agency contacts. Sale and rental, in Romanian.

🔎 What is the Imobiliare.ro Romania Property Scraper — and when should you use it?

The Imobiliare.ro Romania Property Scraper turns public Imobiliare.ro property adverts from anywhere in Romania into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, nothing for you to configure or maintain.

Use it when you need: Romanian sale and rental adverts as rows: asking price or monthly rent, the price move the card is currently flagging, built area, rooms, floor, build year, the full photo set, and the agency or developer behind the listing. Switch on full details and each row also carries the untruncated advert text, the numeric price with its VAT flag, and the publication and last-edit dates. The page state also reports each search's true size, so you know what a county holds before you page through it.

Use something else when: the property is not in Romania. Use OLX Property Scraper for Romania's biggest classifieds site, OLX.ro, with the same sale-and-rent row shape. Use Sreality Scraper for the Czech market leader, including price per square metre and agency contacts. Use Otodom Scraper for Poland, sale and rent, from the country's dominant portal. This actor covers the public listing sections of imobiliare.ro — sale and rental of apartments, houses and villas, individual homes, studios, duplexes, penthouses, land, construction land, agricultural land, commercial spaces and offices. Sold-price history is out of scope, because the site publishes only what is currently on the market, and so are the phone-reveal interactions, which need a signed-in click per advert; where an agent wrote a phone number into the advert text, the full-details row carries it.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/imobiliare-property-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want property adverts and asking prices from Imobiliare.ro using the Apify Actor `sian.agency/imobiliare-property-scraper`.
Use it when I need: Romanian sale and rental adverts as rows: asking price or monthly rent, the price move the card is currently flagging, built area, rooms, floor, build year, the full photo set, and the agency or developer behind the listing. Switch on full details and each row also carries the untruncated advert text, the numeric price with its VAT flag, and the publication and last-edit dates. The page state also reports each search's true size, so you know what a county holds before you page through it.
Don't use it when: the property is not in Romania — use olx-property-scraper or sreality-property-scraper or otodom-property-scraper instead.
How to call it: give `locations` a list of Imobiliare.ro areas (`bucuresti` or any of the 41 `judetul-*` counties — the picker lists exactly what the site indexes) and set `dealType` to `vanzare` for sale or `inchirieri` for rent. Add `propertyTypes` to pick apartments, houses, studios, land, commercial spaces and the rest; leaving it empty sweeps every type through the site's own all-types section, and naming sections is also how a big search is covered past the ~10,000-listing serving ceiling. Set `maxResults` to your row budget, turn `includeDetails` on for the untruncated advert text and the agency's legal name, or paste a zone-level address (https://www.imobiliare.ro/vanzare-apartamente/bucuresti/sector-1/pipera) into `searchUrls` for anything narrower than a county.
Start with this input:
{
"operation": "search",
"dealType": "vanzare",
"locations": [
"bucuresti"
],
"propertyTypes": [
"apartamente"
],
"maxResults": 200
}
Ask me which parts of Romania to cover, whether they want sale or rental adverts, and whether the full advert text and the agency's legal name are worth the extra per-listing charge, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Pull every two-bedroom apartment for sale in Bucharest under €100,000 and rank the sectors by price per square metre.
  • Find owner-published houses in județul Cluj whose price Imobiliare.ro is currently flagging as reduced.
  • Give me this week's new rental studios in județul Timiș with photos and the agency behind each one, ready to paste into a sheet.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/imobiliare-property-scraper.md.

📋 Overview

Imobiliare.ro is Romania's leading property portal — around 1.7 million visits a month and the country's most-cited source of asking prices. Its listing pages carry the complete result set inside the page itself: 30 fully structured advert cards per request, each with price, price-move flag, photos, room and floor facts and the agency. This actor reads that data the way the site publishes it, so one served page carries thirty complete rows — no fragile CSS selectors, and no scraping of rendered markup. Imobiliare.ro guards its front door with challenges that ordinary scrapers cannot pass, so the actor reads those pages through a managed anti-bot fetch path that is maintained on our side. Advert pages ship the same way, as a schema.org graph with the numeric price and the agency's legal name.

OperationReturnsRows per requestNotes
searchProperty Search~30listings by county, deal type and property section
detailProperty Detail~1full advert text, every photo and the agency's legal name

✨ Features

  • 🇷🇴 Whole-of-Romania coverage: Bucharest plus all 41 counties Imobiliare.ro indexes, and 8,753 zones and sectors via pasted addresses
  • 🏠 12 property sections, sale and rental: apartments, houses and villas, individual homes, studios, duplexes, penthouses, land, construction land, agricultural land, commercial spaces, offices
  • 📉 Price cuts flagged on arrival: Imobiliare.ro marks each advert's last price move on the card, so "only reductions" works on your first run
  • 👤 Owner adverts as a filter: keep only the listings with no agency or developer card behind them
  • 📄 Full details on demand: the untruncated advert text, the numeric price with its VAT flag, publish and edit dates, and the agency's legal name and agents
  • 📷 The complete photo set per row, not a thumbnail
  • 💶 VAT honesty on developer prices: where an advert states "104,900 € + TVA", the row carries the VAT flag rather than a number that silently reads as final
  • 🎚️ Filters that cost nothing: price bands, area bands, price cuts, owner adverts. Filtered-out listings are never saved and never charged

🎬 Quick Start

  1. Input → leave everything at its defaults: Bucharest, all property sections, for sale, 100 listings
  2. Run → press Start
  3. Export → your dataset holds the rows as JSON, CSV or Excel — every field ready for a pivot table

🚀 Getting Started (3 Simple Steps)

Step 1: Choose your areas

locations offers exactly what Imobiliare.ro indexes: bucuresti or any of the 41 counties (judetul-cluj, judetul-timis, judetul-constanta…). For anything narrower (a sector, a neighbourhood, a room count) paste the address of that page into searchUrls, for example https://www.imobiliare.ro/vanzare-apartamente/bucuresti/sector-1/pipera.

Step 2: Choose sale or rent, and the property sections

dealType is vanzare (for sale) or inchirieri (for rent). propertyTypes narrows to apartments, houses, studios, land, commercial spaces and the rest; leave it empty to sweep every section in one pass. Sections the site only publishes for one deal type are handled for you: offices fall under commercial spaces for sale, and land sections are skipped on rentals rather than silently widened.

Step 3: Press Start, then export

The run walks Imobiliare.ro's own listing pages until your maxResults budget is met, then saves every row to the dataset. Download as JSON, CSV or Excel, or read the dataset straight from your code.

📥 Input Configuration

FieldTypeDefaultWhat it does
operationselectsearchProperty Search walks listing pages; Property Detail expands advert addresses
locationsmulti-selectbucurestiWhich parts of Romania to read — Bucharest and the 41 counties the site indexes
dealTypeselectvanzareFor sale (vanzare) or for rent (inchirieri)
propertyTypesmulti-select(empty = all)Which sections to read; naming them is also how a big search is covered past the ~10,000-listing ceiling
maxResultsinteger100Stop after this many listings across the whole run
includeDetailsbooleanfalseOpen each advert for the untruncated text, numeric price with VAT flag, dates and agency legal name — one extra request and one extra charge per listing
minPrice / maxPriceinteger0Price band in euros; a rental's monthly rent uses the same field. 0 means no bound
minArea / maxAreainteger0Area band in m², read from the advert's own facts. 0 means no bound
onlyPriceReducedbooleanfalseKeep only adverts Imobiliare.ro is currently flagging as reduced
onlyPrivateSellersbooleanfalseKeep only listings with no agency or developer card behind them
searchUrlslist(empty)Paste Imobiliare.ro search addresses for zone- or room-level pages the form cannot reach; a page number in the address is ignored so the run starts from page one
listingUrlslist(empty)Imobiliare.ro advert addresses for the Property Detail operation

📤 Output

Every row is one listing, typed and flattened — no nested parsing on your side:

FieldTypeWhat it holds
listingIdnumberImobiliare.ro's own advert id
urlstringThe advert address
propertyTitlestringThe advert's title as published
price · currency · priceTextnumber · string · stringAsking price (monthly rent on rentals), parsed, with the original text kept
priceOld · priceDirectionnumber · stringThe previous price and the site's own move direction (down / up)
pricePerSqmnumberWhere Imobiliare.ro publishes it
dealType · propertyTypestringSale or rent; the section the row came from
locationText · addressstringLocation line and street address as published
rooms · area · floor · yearBuiltnumberParsed from the card's own facts: "44,8 mp" arrives as 44.8
photoCount · photos · thumbnailUrlnumber · array · stringThe complete photo set, not a thumbnail
hasVideo · hasVirtualTourbooleanMedia flags straight off the card
summarystringThe advert's preview text
agencyName · isEstateAgent · isBoostedstring · boolean · booleanWho stands behind the listing, and whether it is promoted
createdAtstringWhen the card says it was listed (null on some developer adverts)
descriptionTextstringWith includeDetails: the untruncated advert text
publishedAt · updatedAtstringWith includeDetails: first publication and last edit
vatIncludedbooleanWith includeDetails: whether the stated price includes VAT
bathroomsnumberWith includeDetails: the advert page's own fact
agencyLegalName · agentsstring · arrayWith includeDetails: the company behind the advert and its agents
searchedLocation · searchUrlstringWhich search produced the row
status · errorMessagestringRow health; failed rows are never charged

💼 Use Cases & Examples

1. Romanian asking-price index

Take Bucharest or a whole county and measure it: asking price against area, price per square metre by zone, how stock splits across build years and room counts.

2. Price-cut hunting

Turn on "Only price cuts" and a run returns nothing but the adverts whose price has come down. That is the shortlist a buyer's agent or a flipper actually works from, without holding two weeks of your own history to diff against.

3. Estate agency lead generation

Every agency advert names the agency; full details add the company's legal name and its agents. Group a county by agency and you can see who holds the stock before you approach them.

4. For-sale-by-owner sourcing

Filter to owner adverts and you get the listings with no agency or developer behind them — the ones that never reach an agency feed.

5. New listing monitoring

Run a saved search on a schedule, keep the advert ids you have already seen, and pay only for what appeared since yesterday.

6. Rental yield screening

Pull sale adverts and rental adverts for the same city in two runs and match them on area and room count. The result is a gross-yield picture per zone that no single Imobiliare.ro page shows.

7. Land and development sourcing

Construction land and agricultural land have their own sections; screen plots by county and price band before anyone drives out to look.

🔗 Integration Examples

JavaScript/Node.js

import { Actor } from 'apify';
const run = await Actor.call('sian.agency/imobiliare-property-scraper', {
operation: 'search',
dealType: 'vanzare',
locations: ['bucuresti'],
propertyTypes: ['apartamente'],
maxResults: 500,
onlyPriceReduced: true,
});
const { items } = await Actor.getDataset(run.defaultDatasetId).getData();
for (const listing of items) {
console.log(listing.price, listing.currency, listing.url);
}

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sian.agency/imobiliare-property-scraper").call(run_input={
"operation": "search",
"dealType": "inchirieri",
"locations": ["judetul-cluj"],
"maxResults": 300,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["price"], item["locationText"], item["url"])

cURL

curl -X POST "https://api.apify.com/v2/acts/sian.agency~imobiliare-property-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"operation": "search",
"dealType": "vanzare",
"locations": ["bucuresti"],
"propertyTypes": [],
"maxResults": 100
}'

Automation Workflows (N8N / Zapier / Make)

This actor is an Apify integration target: add it as an Apify Actor step in n8n, Zapier or Make, feed it a search definition, and every row arrives in your sheet, CRM or database the moment the run finishes. The cURL call above is the whole contract, so any tool that can POST JSON can run it.

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 listings per run, with every field and every filter available
  • No credit card required
  • Enough to check the data before you commit to a sweep
  • Unlimited listings per run, up to Imobiliare.ro's own ~10,000-per-search serving ceiling
  • Pay-per-result: charged per listing saved, never for an advert your filters excluded
  • Full details available as a per-listing add-on, only when you switch it on

💰 $0.83 per 1,000 listings for search rows — right under the leading Imobiliare.ro Actor on the Store. The price-move flag, the full photo set, the owner filter and the VAT flag all sit on the same row. Full details are a separate add-on at $25.00 per 1,000 adverts, charged only when you switch it on, because each expanded advert is one whole extra protected fetch.

🔗 View current pricing

❓ Frequently Asked Questions

Q: Do I need a proxy or a browser for this? No. The actor reads the listing pages Imobiliare.ro serves to an ordinary request and retries on our own network if the site's edge ever hesitates. There is no proxy setting for you to configure and no proxy cost to pass on.

Q: How many listings can one search return? Imobiliare.ro serves at most about 10,000 per search (333 pages of 30, the deepest page link it renders). Bucharest flats alone run past 25,000, so to go wider you split the run: pick property sections (each is walked separately), narrow to a county, use a price band, or paste zone-level addresses into Search URLs.

Q: What is the difference between a listing row and full details? A listing row is everything Imobiliare.ro puts on the search card: price and price history, area, rooms, floor, build year, the full photo set and the agency. Full details opens the advert itself and adds the untruncated text, the numeric price with its VAT flag, the publish and edit dates, bathrooms, and the agency's legal name and agents.

Q: Are prices in euros or lei? Imobiliare.ro quotes in euros and the currency is reported on every row rather than assumed. Where an advert states a VAT-inclusive figure, the detail row carries that flag too, so a developer price of "104,900 € + TVA" never silently reads as the final price.

Q: Can I search a single neighbourhood? Yes, through Search URLs. Open the zone page on imobiliare.ro — for example https://www.imobiliare.ro/vanzare-apartamente/bucuresti/sector-1/pipera — and paste the address.

Q: Does it cover the whole of Romania? Every county Imobiliare.ro indexes is in the area list — 41 of them plus Bucharest, which is the site's own national coverage. Within a county the form reads county-wide; narrow to a town or zone with Search URLs.

Q: What happens to an advert that has been withdrawn? The site answers a dead advert with an ordinary page that has no listing in it. The actor recognises that and writes a row saying the listing could not be found, and that row is not billed.

🐛 Troubleshooting

The run says Imobiliare.ro is challenging automated requests The site's edge guards its listing pages in bursts. Wait a few minutes and re-run. The actor already retries across sessions and network paths before giving up, and you were not charged for anything it did not return.

A search came back empty Check the deal type — rental sections differ from sale sections — and widen the area or clear the property sections. The run log prints how many adverts each search matched before any filter was applied.

My price filter returned nothing Listings that say "price on request" carry no number, so a price band excludes them by design. Loosen the band or clear it.

Romanian characters look wrong in my export They should not — the actor reads UTF-8 end to end. If your spreadsheet shows mojibake, import the CSV with UTF-8 encoding selected.

A specific advert failed with "sold, rented or withdrawn" That advert is no longer published. Run the search again to pick up what is live today.

This actor reads publicly accessible listing pages that Imobiliare.ro serves to every browser, and extracts only what the site itself publishes: prices, photos, descriptions and agency names. It does not bypass authentication, does not touch private dashboards and does not take content behind a login. That said: Romanian and EU data-protection rules still apply to what you do with the rows. Agency names and business contact details are business data; personal data inside advert text is the advertiser's. Imobiliare.ro is a trademark of Imobiliare.ro SRL (Ringier Romania); this actor is not affiliated with, endorsed by or sponsored by Imobiliare.ro or Ringier. You are responsible for using the output in line with the site's terms and applicable law.

🤝 Support

Keywords for LLM Discovery

imobiliare.ro scraper · imobiliare scraper · Romania real estate data · Romanian property API · apartamente de vanzare bucuresti data · apartamente de inchiriat bucuresti · case de vanzare bucuresti · case de vanzare Cluj · pret metru patrat apartament Bucuresti · anunturi imobiliare Romania · imobiliare bucuresti · imobiliare Cluj · imobiliare Timisoara · imobiliare Brasov · imobiliare Constanta · imobiliare Iasi · garsoniere de vanzare · terenuri de vanzare · spatii comerciale de inchiriat · birouri de inchiriat Bucuresti · preturi apartamente Romania · piata imobiliara Romania · RealEstateListing API · real estate scraper Romania · property listings dataset Romania · Bucharest real estate prices · Bucharest apartments for sale data · Romania rental yields · price cut alerts property Romania · for sale by owner Romania · estate agency leads Romania · proptech data Romania · asking price index Romania · price per square metre Bucharest · sector 1 apartamente · Pipera apartamente · OLX.ro alternative property source · Storia.ro alternative · Imot.bg sibling actor · Sreality Czech property · Otodom Poland property · Apify real estate actor · pay per result property scraper