Discover/Nekretnine API
live

Nekretnine APInekretnine.rs

Access Serbian real estate listings from Nekretnine.rs. Search apartments by city and transaction type, retrieve prices, photos, coordinates, and agency contact details.

Endpoint health
verified 3d ago
search_listings
get_listing_detail
2/2 passing latest checkself-healing
Endpoints
2
Updated
20d ago

What is the Nekretnine API?

The Nekretnine.rs API exposes 2 endpoints for querying Serbia's largest property marketplace, covering apartment listings across cities including Belgrade, Novi Sad, and Niš. The search_listings endpoint returns paginated summaries with price, surface area, room count, and location, while get_listing_detail returns full property records including photos, floor, coordinates, and agency contact information.

This call costs2 credits / call— charged only on success
Try it
City slug used in the URL path (e.g. 'beograd', 'novi-sad', 'nis'). Slugs use lowercase Latin transliteration with hyphens.
Page number for pagination. Maximum effective value is 80 (the site returns 404 for pages beyond 80).
Maximum price in euros (inclusive). Use together with price_min to partition results into ranges that fit within the 80-page limit for full catalog traversal. Ignored when price_status='on_request'.
Minimum price in euros (inclusive). Use together with price_max to partition results into ranges that fit within the 80-page limit for full catalog traversal. Ignored when price_status='on_request'.
Filter listings by price visibility. 'any' returns all listings. 'priced' returns only listings with a numeric euro price (server-side filter). 'on_request' returns only listings marked 'cena na upit' with no listed price (client-side filtered from each page). Use 'priced' with price_min/price_max for partitioned traversal and 'on_request' separately to cover the full catalog without gaps.
Transaction type filter.
api.parse.bot/scraper/8af79894-120f-4da7-88bc-cf16c5be7356/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/8af79894-120f-4da7-88bc-cf16c5be7356/search_listings?city=beograd&page=1&price_min=100000&price_status=any&transaction_type=prodaja' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalmissing one? ·

Search apartment listings by city and transaction type (sale or rent). Returns paginated results with basic listing information including price, surface area, rooms, location, and a direct URL to the detail page. The site enforces a hard 80-page (2000-result) pagination limit per query. For complete catalog traversal: use price_status='priced' with price_min/price_max ranges to tile priced listings into windows that fit within 80 pages, and price_status='on_request' to separately retrieve no-price listings. The union of all priced partitions plus on_request listings equals the full catalog (verifiable via on_request_count + priced total_count = any total_count). When is_truncated is true, narrow price_min/price_max further. Price filter boundaries are inclusive (>=, <=). When price_status='on_request', results are filtered client-side from the site's page; page_result_count shows how many matched on that page (may be fewer than 25). Listings have unique integer IDs usable for deduplication across pages and partitions.

Input
ParamTypeDescription
citystringCity slug used in the URL path (e.g. 'beograd', 'novi-sad', 'nis'). Slugs use lowercase Latin transliteration with hyphens.
pageintegerPage number for pagination. Maximum effective value is 80 (the site returns 404 for pages beyond 80).
price_maxintegerMaximum price in euros (inclusive). Use together with price_min to partition results into ranges that fit within the 80-page limit for full catalog traversal. Ignored when price_status='on_request'.
price_minintegerMinimum price in euros (inclusive). Use together with price_max to partition results into ranges that fit within the 80-page limit for full catalog traversal. Ignored when price_status='on_request'.
price_statusstringFilter listings by price visibility. 'any' returns all listings. 'priced' returns only listings with a numeric euro price (server-side filter). 'on_request' returns only listings marked 'cena na upit' with no listed price (client-side filtered from each page). Use 'priced' with price_min/price_max for partitioned traversal and 'on_request' separately to cover the full catalog without gaps.
transaction_typestringTransaction type filter.
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing objects with id, title, price, has_price, price_formatted, surface, rooms, bathrooms, floor, city, municipality, neighborhood, address, latitude, longitude, url",
    "max_pages": "total number of pages reported by the site (site reports up to 376 but only pages 1-80 are accessible)",
    "total_count": "total number of matching listings for this partition (when price_status='on_request', this is the count of on-request listings; when 'priced', the count of priced listings; when 'any', the full catalog count)",
    "current_page": "current page number",
    "is_truncated": "true when total_count exceeds accessible_count, indicating the caller should narrow price_min/price_max filters to access all results",
    "accessible_count": "number of results actually reachable via pagination (capped at max_pages * 25, with max_pages capped at 80)",
    "on_request_count": "number of on-request (no-price) listings in the catalog for this city/transaction_type combination (null when price_min or price_max are applied with price_status='any')",
    "page_result_count": "number of listings returned on this page after filtering (present only when price_status='on_request'; may be less than 25 since filtering is client-side)"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "id": 1351759,
          "url": "https://www.nekretnine.rs/oglasi/1351759/",
          "city": "Beograd",
          "floor": null,
          "price": null,
          "rooms": "1 - 5",
          "title": "Novogradnja Stanovi i Penthausi u Beograd",
          "address": "Ulica Partizanske avijacije, 4",
          "surface": "41 m²",
          "latitude": 44.82389832,
          "bathrooms": null,
          "has_price": false,
          "longitude": 20.38909912,
          "municipality": null,
          "neighborhood": null,
          "price_formatted": "cena na upit"
        }
      ],
      "max_pages": 376,
      "total_count": 9382,
      "current_page": 1,
      "is_truncated": true,
      "accessible_count": 2000,
      "on_request_count": 67,
      "page_result_count": null
    },
    "status": "success"
  }
}

About the Nekretnine API

Searching Listings

The search_listings endpoint accepts a city slug (e.g. beograd, novi-sad, nis), a transaction_type to filter between sale and rental listings, and a page integer for pagination. Each response includes a listings array of summaries — each with an id, title, price, surface, rooms, and location — alongside total_count, max_pages, and current_page fields. The id values in results are the input for get_listing_detail.

Retrieving Listing Detail

The get_listing_detail endpoint takes a numeric listing_id and returns a full property record. Key fields include price in euros (returned as null when the listing is price-on-request), photos as an array of full-size image URLs, address, floor, rooms, city, and an is_new flag. The url field gives the canonical listing page on Nekretnine.rs.

Coverage and Data Shape

Listings cover apartments for sale and rent across Serbian cities. The title field typically encodes property type, street address, and city. Photo arrays can contain multiple images per listing. Location coordinate data is included where available in the detail response, making the data suitable for map-based display or geospatial filtering.

Reliability & maintenanceVerified

The Nekretnine API is a managed, monitored endpoint for nekretnine.rs — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nekretnine.rs changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official nekretnine.rs API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a cross-city price comparison tool using price and surface fields from search_listings
  • Populate a property map by pulling coordinates from get_listing_detail for Belgrade or Novi Sad listings
  • Track new listings by monitoring the is_new flag and total_count across paginated search_listings results
  • Aggregate rental vs. sale price trends by filtering on transaction_type over time
  • Display property photo galleries in a custom frontend using the photos URL array from listing detail
  • Build an apartment alert system that watches search_listings results for a given city and room count
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Nekretnine.rs have an official developer API?+
Nekretnine.rs does not publish a public developer API or documented data access program for third-party use.
What does search_listings return per listing, and how do I page through results?+
Each entry in the listings array includes id, title, price, surface, rooms, and location. The response also includes total_count and max_pages so you can iterate from page 1 to max_pages using the page parameter. The id from each summary is what you pass to get_listing_detail for the full record.
Are house or commercial property listings covered, or only apartments?+
The current API covers apartment listings. Houses, commercial properties, land, and other property types are not currently exposed. You can fork this API on Parse and revise it to add endpoints targeting those listing categories.
What happens when a listing has a price-on-request rather than a listed price?+
The price field in get_listing_detail returns null for price-on-request listings. You should handle null checks in your integration when building price-dependent logic such as sorting or range filtering.
Is there a way to filter listings by price range, surface area, or number of rooms within the API?+
The search_listings endpoint currently filters by city and transaction_type only. Price range, surface area, and room count filters are not exposed as parameters. You can fork this API on Parse and revise it to add those filter parameters.
Page content last updated . Spec covers 2 endpoints from nekretnine.rs.
Related APIs in Real EstateSee all →
halooglasi.com API
Search and filter property listings across Serbia's largest real estate classifieds platform by price, location, rooms, and category. Retrieve detailed information about specific properties including full descriptions, pricing, amenities, and location data, with pagination support.
olx.ba API
Search and browse listings on OLX.ba across all categories. Retrieve listing names, prices, categories, and URLs, or drill into individual listings for detailed attributes such as location, address, area, floor, condition, and seller information. Includes dedicated support for apartment listings.
zonaprop.com.ar API
Search and retrieve property listings from Zonaprop, Argentina's leading real estate portal. Filter by operation type, property category, and location, then fetch full details for any listing.
krisha.kz API
Search and browse real estate listings across Krisha.kz to find properties for sale, rent, or new developments, then access detailed information and contact details for each listing. Get comprehensive property data including prices, descriptions, and seller information to make informed decisions about properties in Kazakhstan.
imot.bg API
Search real estate listings for sale or rent on Bulgaria's imot.bg marketplace, view detailed property information, and compare average prices to make informed decisions. Access search filters and options to refine your property search by location, price, and other criteria.
ingatlan.com API
Search real estate listings and development projects on ingatlan.com to find properties with detailed information like prices, descriptions, and project details. Get comprehensive data on available homes and construction projects even when direct access is restricted.
realtor.ca API
Search Canadian real estate listings and retrieve detailed property information including photos, prices, descriptions, and agent details from REALTOR.ca. Browse available properties with comprehensive listing data across Canada.
imobiliare.ro API
Search and filter rental apartments across Romania by city, zone, and price range using real-time listings from imobiliare.ro. Discover available properties that match your budget and location preferences with detailed filtering options.