4zida.rs Scraper
Pricing
from $1.20 / 1,000 results
4zida.rs Scraper
Scrape Serbia's largest real estate portal: 76,000+ listings. Prices, GPS, rooms, area, photos & agency info for sale and rental properties across Serbia.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share

Extract property listings from 4zida.rs 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 Serbia
A dedicated Serbian scraper, not a global tool with a country dropdown. Locations, price formats and currency (EUR) are tuned for 4zida.rs.
💶 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.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
transaction | string | "sale" | Whether to scrape for-sale listings, rental listings, or both. |
propertyType | string | "all" | Type of property to scrape. Select 'All types' to include all categories. |
location | string | "srbija" | City or region to search in. Examples: beograd, novi-sad, nis, srbija (whole Serbia). Leave empty for all of Serbia. |
minPrice | integer | (empty) | Minimum listing price (local currency). Leave empty for no minimum. |
maxPrice | integer | (empty) | Maximum listing price (local currency). Leave empty for no maximum. |
daysOld | integer | (empty) | Only return listings published within the last N days. Leave empty for no recency filter. |
fetchDetails | boolean | false | ON: fetches full job description, salary, company info, and all details. OFF: returns basic listing info only (faster, lower cost). |
maxItems | integer | 100 | Maximum number of property listings to return. Set to 0 for unlimited. |
startUrls | array | (empty) | Optional: provide specific 4zida.rs search or listing URLs to scrape instead of using the location/type filters above. |
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 | Unique listing ID from the source. |
url | string | Direct link to the listing. |
transaction | string | sale or rent |
propertyType | string | Property type (e.g. apartment, house). |
price | number | Asking price or rent (null if price on request). |
previousPrice | number | Previous price. |
pricePerSqm | number | Price per sqm. |
priceCurrency | string | Currency code of the price. |
area | number | Surface area (null if not stated). |
rooms | number | Total number of rooms (null if not stated). |
floor | number | Floor. |
totalFloors | number | Total floors. |
lastFloor | boolean | Last floor. |
furnished | string | Furnished. |
heatingType | string | Heating type. |
state | string | State. |
registered | string | Registered. |
structureLabel | string | Structure label. |
address | string | Full address as displayed. |
neighborhood | string | Neighborhood. |
city | string | City of the property. |
placeTitles | array | Place titles. |
latitude | number | Latitude of the property. |
longitude | number | Longitude of the property. |
bathrooms | number | Number of bathrooms (null if not stated). |
description | string | Full listing description in plain text. |
descriptionMarkdown | string | Full description converted to Markdown. |
features.intercom | boolean | Intercom. |
features.phone | boolean | Phone. |
features.terrace | boolean | Terrace. |
features.atticFloor | boolean | Attic floor. |
features.groundFloor | boolean | Ground floor. |
features.lastFloor | boolean | Last floor. |
agencyName | string | Agency name. |
agencyUrl | string | Agency url. |
images | array | URLs of listing photos. |
imageCount | number | Image count. |
createdAt | string | Created at. |
scrapedAt | string | Timestamp when this record was scraped. |
Example record
{"id": "69e89f449811b11a630de6b8","url": "https://www.4zida.rs/prodaja-stanova/london-stari-grad-opstina-beograd/sestoiposoban-stan/69e89f449811b11a630de6b8","transaction": "sale","propertyType": "apartment","price": 529000,"previousPrice": 530000,"pricePerSqm": 3058,"priceCurrency": "EUR","area": 173,"rooms": 6.5,"floor": 3,"totalFloors": 3,"lastFloor": true,"furnished": "no","heatingType": "central","state": "original","registered": "yes","structureLabel": "Šestoiposoban stan","address": "Kralja Milana","neighborhood": "London","city": "Beograd","placeTitles": ["London","Stari Grad opština","Beograd"],"latitude": 44.809931,"longitude": 20.462677,"bathrooms": 2,"description": "Odličan, sunčan, svetao stan u srcu grada. Kompletno renoviran bez ulaganja.\n\nNa prvom nivou stana je ulazni hodnik, velika spavaća soba dvostrane orijentacije, raskošni dnevni boravak sa izlazom na t …","descriptionMarkdown": "Odličan, sunčan, svetao stan u srcu grada. Kompletno renoviran bez ulaganja. Na prvom nivou stana je ulazni hodnik, velika spavaća soba dvostrane orijentacije, raskošni dnevni boravak sa izlazom na te …","features": {"intercom": true,"phone": true,"terrace": true,"atticFloor": false,"groundFloor": false,"lastFloor": true},"agencyName": "HILL Nekretnine","agencyUrl": "https://www.4zida.rs/agencije/beograd/hill-nekretnine/214092","images": ["https://resizer2.4zida.rs/y7biziOHgeM__OImo-cm9XJnHUmmG0cIjJ4RIilqoF4/rs:fit:1920:1080:0/bG9jYWw6Ly8vNjllODlmNDQ5ODExYjE …","https://resizer2.4zida.rs/llETLGpVkJxKsOT_ezByS24_ok-kl77iSd5_wvMKpDU/rs:fit:1920:1080:0/bG9jYWw6Ly8vNjllODlmNDQ5ODExYjE …","https://resizer2.4zida.rs/opSTCzw2WnFquKXEObXo8SLZkMu-TCYuNrYbGw521y0/rs:fit:1920:1080:0/bG9jYWw6Ly8vNjllODlmNDQ5ODExYjE …","https://resizer2.4zida.rs/mKXmP_Pe66XwZ_k4_iFIFDYr68BAY10b_HJgWBcSZ2M/rs:fit:1920:1080:0/bG9jYWw6Ly8vNjllODlmNDQ5ODExYjE …"],"imageCount": 18,"createdAt": "2026-04-22T10:13:24.000Z","scrapedAt": "2026-07-02T12:25:36.691Z"}
Examples
Listings in Beograd:
{"location": "Beograd","maxItems": 100}
Cap the price:
{"location": "Beograd","maxItems": 100,"maxPrice": 285000}
Scrape a specific search URL:
{"startUrls": [{"url": "https://4zida.rs/prodaja/stanovi/beograd"}],"maxItems": 200}
Daily feed of new listings (run on a schedule):
{"location": "Beograd","daysOld": 1,"maxItems": 500}
Schedule this input to run once a day in the Apify Scheduler — each run returns only listings added in the last 24 hours.
💰 Pricing
$1.5 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.5 |
| 10,000 | ~$15 |
| 100,000 | ~$150 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.9 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Known limitations
- Some fields (surface, year built, energy label) are only returned when the lister publishes them — expect
nullon a share of records. - Listing photos and agent details vary per listing; the scraper returns what the source publishes and never invents data.
- Very large result sets are bounded by the source's own paging limits.
- Listings can be withdrawn at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: 4zida.rs — Serbia property listings
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
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