Serbian Real Estate Scraper | Nekretnine.rs avatar

Serbian Real Estate Scraper | Nekretnine.rs

Pricing

from $2.00 / 1,000 listings

Go to Apify Store
Serbian Real Estate Scraper | Nekretnine.rs

Serbian Real Estate Scraper | Nekretnine.rs

Scrape apartments, houses, rentals, land, prices, images, and detailed real estate listings from Nekretnine.rs with advanced filters for property type, location, price, rooms, and more. Export structured JSON data for market analysis, lead generation, and property tracking.

Pricing

from $2.00 / 1,000 listings

Rating

0.0

(0)

Developer

TrueFalseMaybe

TrueFalseMaybe

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

1

Monthly active users

43 minutes ago

Last modified

Share

Nekretnine.rs Real Estate Scraper

This Apify Actor scrapes structured real estate listings from Nekretnine.rs, one of the largest property marketplaces in Serbia.

Give it a city and some filters (or paste a full search URL, or specific listing IDs/URLs), and it returns clean, structured data for every matching listing — price, size, rooms, floor, location, amenities, photos, and optionally the advertising agency's contact details.


How It Works

You can point the Actor at listings in three ways (checked in this order):

  1. Direct listings — pass specific listingIds and/or listingUrls to scrape exactly those properties, skipping search entirely.
  2. Custom search URL — paste any search URL copied from your browser (e.g. after setting filters on the site yourself) into startUrl.
  3. Built-in filters — set city plus any of the price/size/room/keyword filters below and the Actor builds the search URL for you.

The Actor then crawls the search results (following pagination automatically) or the direct listings, and extracts structured data from each listing page into an Apify Dataset — one item per property.

Because the target site blocks Apify's datacenter proxy IPs, the Actor always routes requests through Apify's residential proxy. This is built in and not configurable — there's no proxy input.


Input

Direct listings

FieldTypeDescription
listingIdsstring[]Numeric listing ID(s), e.g. for https://www.nekretnine.rs/oglasi/1030479/ the ID is 1030479.
listingUrlsstring[]Full listing URLs to scrape directly.

If either of these is set, they take priority and everything below is ignored.

FieldTypeDescription
startUrlstringA full nekretnine.rs search URL, e.g. https://www.nekretnine.rs/prodaja-stambenih-nekretnina/beograd/?prezzoMinimo=50000. Overrides all filter fields below (except maxResults) if set.
citystringCity to search in, e.g. "Beograd" or "Novi Sad". Ignored if startUrl is set.
typeOfListingstring"sale" or "rent". Default "sale". Ignored if startUrl is set.
minPrice / maxPriceintegerPrice range in EUR. Ignored if startUrl is set.
sqMeterMin / sqMeterMaxintegerSize range in m². Ignored if startUrl is set.
noOfRoomsMin / noOfRoomsMaxintegerRoom count range. Ignored if startUrl is set.
keywordsstring[]Only show listings whose description matches these keywords, e.g. "grad", "kamin". Ignored if startUrl is set.

All filters above are independent and can be combined freely (e.g. only minPrice, or minPrice + sqMeterMin, etc).

Filtering by property subtype (houses, cottages, land, commercial, etc.) isn't exposed as a separate input — if you need it, build the URL for it on the site yourself and pass it via startUrl.

Crawl settings

FieldTypeDescription
maxResultsintegerMaximum number of listings to scrape. Leave empty for unlimited. Doesn't apply when scraping specific listingIds/listingUrls.
startPageintegerSkip ahead to this search-results page instead of starting from page 1. Default 1. Only applies to City/filter searches, not startUrl or direct listings.

Nekretnine.rs never shows more than 2000 results for a given search, no matter how many total matches it reports. If your search matches more than that, narrow it down with filters (price, size, rooms, keywords) or split it by city/municipality to get everything.

Add-ons

FieldTypeDescription
scrapeCompanybooleanScrape the agency/company advertising each property: name, address, phone numbers, website, logo, opening hours, and the specific agent's name when the site shows one. Default false. Additional charges apply per listing when enabled.

Full input example

{
"city": "Novi Sad",
"typeOfListing": "rent",
"minPrice": 200,
"maxPrice": 800,
"noOfRoomsMin": 2,
"keywords": ["kamin"],
"maxResults": 50,
"scrapeCompany": true
}

Or, to scrape specific listings directly:

{
"listingIds": ["1030479"],
"scrapeCompany": false
}

Or, using a search URL copied straight from your browser:

{
"startUrl": "https://www.nekretnine.rs/prodaja-stambenih-nekretnina/beograd/?prezzoMinimo=50000&prezzoMassimo=70000",
"maxResults": 100
}

Output

Each dataset item represents one property listing.

Listing fields

FieldTypeDescription
titlestringListing title
contractstringSale or rent, as reported by the site
listingUrlstringURL of the listing
descriptionstringFull property description
pricenumberPrice (null if the seller hides it)
sizenumberSize in m²
pricePerSqMeternumberPrice divided by size
numberOfRoomsnumberNumber of rooms
numberOfBedroomsnumberNumber of bedrooms
numberOfBathroomsnumberNumber of bathrooms
parkingbooleanWhether a garage/parking space is included
garageDetailsstringRaw garage/parking description
propertyFloornumberFloor the property is on (0 for ground floor)
totalFloorsnumberTotal floors in the building
hasElevatorbooleanWhether the building has an elevator
conditionstringProperty condition (e.g. "Novogradnja", "Renovirano")
buildingYearstring | numberYear built, as reported by the site
energyClassstringEnergy efficiency class
heatingTypestringHeating type
kitchenTypestringKitchen type/status
isNewbooleanWhether the listing is flagged as new
luxurybooleanWhether the listing is flagged as luxury
registeredbooleanWhether the property is legally registered ("uknjižen")
referenceCodestringAgency's internal reference code
featuresstring[]Full list of visible amenities (balcony, alarm, fiber, etc.)
latitude / longitudenumberGPS coordinates
addressstringStreet address
citystringCity
municipalitystringMunicipality/macrozone
neighborhoodstringNeighborhood/microzone
datePublishedstringPublication date (DD.MM.YYYY.)
dateUpdatedstringLast updated date (DD.MM.YYYY.)
imagestringMain/first photo URL
imagesstring[]All photo URLs
agencyobjectAgency/company info — only present when scrapeCompany is enabled

Photos are included at no extra cost — no add-on needed for image/images.

agency object (requires scrapeCompany)

FieldTypeDescription
namestringAgency name
urlstringAgency's page on nekretnine.rs
agencyUrlstringAgency's own external website
phonesobject[]All phone numbers, each { type, value }
businessPhonestringConvenience alias for the office/landline number
mobilePhonestringConvenience alias for the mobile number
imagestringAgency logo URL
numberOfListingnumberNumber of active listings the agency has
addressstringAgency address
latitude / longitudenumberAgency GPS coordinates
openingHoursarrayOpening hours, when the agency provides them (empty otherwise)
agentsarrayAgency's listed agents, when provided (empty otherwise)
contactPersonobjectThe specific agent handling this listing, if the site names one — { name, phones }

Output example

{
"title": "Dvosoban stan, Vračar",
"contract": "sale",
"listingUrl": "https://www.nekretnine.rs/oglasi/1030479/",
"description": "Prostran dvosoban stan u mirnoj ulici...",
"price": 145000,
"size": 62,
"pricePerSqMeter": 2339,
"numberOfRooms": 2,
"numberOfBedrooms": 1,
"numberOfBathrooms": 1,
"parking": true,
"garageDetails": "Garažno mesto",
"propertyFloor": 3,
"totalFloors": 5,
"hasElevator": true,
"condition": "Renovirano",
"buildingYear": 1978,
"energyClass": "C",
"heatingType": "Centralno grejanje",
"kitchenType": "Odvojena",
"isNew": false,
"luxury": false,
"registered": true,
"referenceCode": "VR-1234",
"features": ["Terasa", "Klima", "Internet"],
"latitude": 44.797,
"longitude": 20.478,
"address": "Njegoševa 15",
"city": "Beograd",
"municipality": "Vračar",
"neighborhood": "Neimar",
"datePublished": "12.03.2026.",
"dateUpdated": "20.03.2026.",
"image": "https://www.nekretnine.rs/.../photo1.jpg",
"images": ["https://www.nekretnine.rs/.../photo1.jpg", "https://www.nekretnine.rs/.../photo2.jpg"],
"agency": {
"name": "Nebessa Kvart",
"url": "https://www.nekretnine.rs/agencije/nebessa-kvart/",
"agencyUrl": "https://nebessakvart.rs",
"phones": [
{ "type": "tel1", "value": "011/123-4567" },
{ "type": "cell", "value": "064/123-4567" }
],
"businessPhone": "011/123-4567",
"mobilePhone": "064/123-4567",
"image": "https://www.nekretnine.rs/.../logo.jpg",
"numberOfListing": 42,
"address": "Kneza Miloša 10, Beograd",
"latitude": 44.804,
"longitude": 20.462,
"openingHours": [],
"agents": [],
"contactPerson": {
"name": "Marko Marković",
"phones": [{ "type": "cell", "value": "065/987-6543" }]
}
}
}

This Actor is not affiliated with, endorsed by, or officially connected to Nekretnine.rs.

  • All trademarks and brand names belong to their respective owners
  • This scraper is intended for educational, analytical, and research purposes only
  • Users are responsible for complying with Nekretnine.rs's terms of service and applicable laws