Imobiliare.ro Scraper
Pricing
from $0.70 / 1,000 listings
Imobiliare.ro Scraper
Scrape real estate listings from imobiliare.ro — Romania's largest property portal. Filter by sale/rent, property type and location. EUR prices, descriptions, images. Optional detail enrichment for surface area and floor data.
Pricing
from $0.70 / 1,000 listings
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
17
Total users
3
Monthly active users
7 days ago
Last modified
Categories
Share

Extract property listings from imobiliare.ro at scale, in a clean, consistent structure ready for market analysis, valuation models, lead generation and monitoring. No API key required.
Why this scraper?
🎯 Built for Romania
A dedicated Romanian scraper, not a global tool with a country dropdown. Locations, price formats and currency (EUR) are tuned for imobiliare.ro.
💶 Structured pricing
Asking price or rent as a clean number in EUR, plus the price exactly as displayed. Price-on-request listings return null, never a guess.
🏠 Property characteristics
Bedrooms, rooms, surface and property type in structured fields, ready for filtering and analysis.
📄 Full listing content
Complete listing description and title for every record, with a direct link back to the source.
📍 Precise location
Address fields plus latitude/longitude for mapping and radius analysis.
🖼️ Listing photos
Photo URLs for every listing where the source publishes them.
🔁 Change detection
Every record carries a contentHash over the listing's identity and price, so a daily feed can tell an unchanged listing from a repriced one.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
offerType | string | "sell" | Whether to scrape sale or rental listings. |
propertyType | string | "apartamente" | Type of property to scrape. |
location | string | "bucuresti" | Romanian location slug, e.g. 'bucuresti', 'cluj-napoca', 'timisoara', 'iasi'. Used to build the search URL. |
maxItems | integer | 100 | Maximum number of listings to scrape. 30 listings are collected per search page. |
fetchDetails | boolean | true | Fetch each listing's detail page to add bathrooms, energy label, kitchens, exact street address, coordinates, publish date and the full description. Leave it off for a faster, cheaper run — the search results alone already carry price, surface, rooms, floor, images, agency and location. |
startUrls | array | (empty) | Optional list of direct listing URLs (imobiliare.ro/oferta/...) to scrape. When provided, the offerType/propertyType/location fields are ignored. |
Output schema
Every field below is present on every record. Fields the source does not publish for a given listing are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
id | string | Imobiliare.ro internal listing ID |
url | string | Direct link to the listing |
operationType | string | sale or rent |
propertyType | string | e.g. apartment, house |
title | string | Listing title |
priceText | string | Price as displayed |
priceAmount | number | Price (numeric) |
priceCurrency | string | e.g. EUR, RON |
county | string | Romanian county |
neighborhood | string | Neighborhood. |
city | string | City |
country | string | Always RO |
bedrooms | number | Number of bedrooms (null if not stated). |
bathrooms | number | Number of bathrooms (null if not stated). |
floor | string | Floor. |
yearBuilt | number | Construction year (null if not stated). |
surfaceTotal | number | Surface total. |
surfaceUnit | string | Surface unit. |
features | array | Feature list as published on the listing. |
images | array | URLs of listing photos. |
agencyName | string | Agency name. |
sellerType | string | Seller type. |
daysOnMarket | number | Days on market. |
energyLabel | string | Energy label or rating (null if not published). |
kitchens | number | Kitchens. |
isNew | boolean | Is new. |
publishDate | string | Publish date. |
publishDateISO | string | Publish date iso. |
latitude | number | Latitude of the property. |
longitude | number | Longitude of the property. |
streetAddress | string | Street address. |
descriptionPreview | string | Truncated description from the search results card. Always present. |
descriptionText | string | Full listing description as plain text. Requires fetchDetails. |
descriptionHtml | string | Full listing description in HTML. Requires fetchDetails. |
descriptionMarkdown | string | Full listing description in Markdown. Requires fetchDetails. |
source | string | Source. |
scrapedAt | string | Timestamp when this record was scraped. |
contentHash | string | Stable hash of the listing content, used for repost and change detection. |
Example record
{"id": "273029660","url": "https://www.imobiliare.ro/oferta/apartament-de-vanzare-sector-3-theodor-pallady-3-camere-273029660","operationType": "sell","propertyType": "apartamente","title": "Apartament cu 3 camere decomandat în Theodor Pallady","priceText": "180.290 EUR","priceAmount": 180290,"priceCurrency": "EUR","county": "Bucuresti","neighborhood": "Theodor Pallady","city": "Sector 3","country": "RO","bedrooms": 3,"bathrooms": 2,"floor": "1 / 10","yearBuilt": 2026,"surfaceTotal": 74.26,"surfaceUnit": "m²","features": ["Rezidențial","Faianță","Vopsea lavabilă","Gresie"],"images": ["https://i.roamcdn.net/prop/imo/og-image-full-1200w-630h/F1yByVnkGZPo_bMy-Nj2ug/-/_1I8pjhgYGhsZmFoZGAA/60e31c02-1331-41e8 …","https://i.roamcdn.net/prop/imo/og-image-full-1200w-630h/vLogP3bgU4hPIFaX6hPKRg/-/_1I8pjhgYGhsZmFobGAA/e46c02d4-7089-4f08 …","https://i.roamcdn.net/prop/imo/og-image-full-1200w-630h/K5tmlWQQcclz0UaM31_DsQ/-/_1I8pjhgYGhsZmFoYmAA/8798be62-6eae-4c23 …","https://i.roamcdn.net/prop/imo/og-image-full-1200w-630h/NtQqszPrkj9Yt4mYrvUlkA/-/_1I8pjhgYGhsZmFoamAA/e5ddee61-f785-4d06 …"],"agencyName": "Hils Titanium","sellerType": "developer","daysOnMarket": 115,"energyLabel": null,"kitchens": 1,"isNew": true,"publishDate": "2026-03-10","publishDateISO": "2026-03-10","latitude": 44.4113422,"longitude": 26.1898017,"streetAddress": "Bulevardul Theodor Pallady,45,,,, Theodor Pallady, Sector 3","descriptionText": "Vă invităm să descoperiți HILS Titanium, un ansamblu rezidențial remarcabil, potrivit pentru cei care doresc să își înceapă viața independentă sau să investească într-un mediu urban de calitate superi …","descriptionHtml": "<p>Vă invităm să descoperiți HILS Titanium, un ansamblu rezidențial remarcabil, potrivit pentru cei care doresc să își înceapă viața independentă sau să investească într-un mediu urban de calitate sup …","descriptionMarkdown": "Vă invităm să descoperiți HILS Titanium, un ansamblu rezidențial remarcabil, potrivit pentru cei care doresc să își înceapă viața independentă sau să investească într-un mediu urban de calitate superi …","source": "imobiliare.ro","scrapedAt": "2026-07-04T00:29:08.120Z","contentHash": "99971fadba7340f2"}
Examples
Listings in București:
{"location": "București","maxItems": 100}
Filter by transaction type:
{"location": "București","maxItems": 100,"offerType": "sell"}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.imobiliare.ro/vanzare-apartamente/bucuresti"}],"maxItems": 200}
Daily feed of new listings (run on a schedule):
{"location": "București","maxItems": 500}
Schedule this input in the Apify Scheduler (for example daily at 07:00) to keep an always-fresh feed of the newest listings.
💰 Pricing
$0.7 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.07 |
| 1,000 | ~$0.7 |
| 10,000 | ~$7 |
| 100,000 | ~$70 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.7 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
Measured on build 1.0.67, 512 MB:
| Run | Typical time |
|---|---|
| 20 listings with details | ~4 minutes |
| 60 listings, details off | ~1.5 minutes |
| 1,000 listings, details off | ~20 minutes |
Detail pages are the slow part: each one is a separate fetch, and most of them go through a challenge-solving proxy. Turn fetchDetails off when the search-result fields are enough and runs get several times faster.
Known limitations
- Some fields (energy label, kitchens, year built) are only returned when the lister publishes them — expect
nullon a share of records. - The full description, coordinates, bathrooms and publish date come from the detail page, so they are only populated when
fetchDetailsis on. Without it you still get a truncateddescriptionPreview. - The portal caps any single search at 333 pages (~10,000 listings). Narrow by location or property type to reach beyond that.
- An unrecognised
locationslug is rejected rather than silently widened: imobiliare.ro answers an unknown slug with nationwide results, and returning those would be wrong data, so the run stops and tells you. - Listings can be withdrawn at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: imobiliare.ro — Romania property listings
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
Rate this actor
If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl