APIs / Real estate / Njuškalo

1 credit per call4 endpoints19 datapoints

Njuškalo API

Njuškalo API for Croatian apartments, houses and land for sale or rent, listings, agencies and locations as JSON. 1 credit per successful call.

Njuškalo
GET/v1/njuskalo/search?category=rent_apartments&location=zagreb&price_max=700&rooms_min=2&sort=price_asc&page=2
{
  "success": true,
  "data": {
    "category": "rent_apartments",
    "location": "zagreb",
    "total": 996,
    "pagination": {
      "page": 2,
      "per_page": 25,
      "total_pages": 40,
      "has_next_page": true
    },
    "filters": {
      "price_max": 700,
      "rooms_min": 2,
      "sort": "price_asc"
    },
    "listings": [
      {
        "id": 44475783,
        "title": "Knežija-smještaj za 5 radnika",
        "url": "https://www.njuskalo.hr/nekretnine/-oglas-44475783",
        "price": 170,
        "price_formatted": "170 €",
        "price_on_request": false,
        "location": "Knežija - Trešnjevka - Jug",
        "property_type": "Stan u stambenoj zgradi",
        "area_m2": 50,
        "abstracts": [
          "Stan u stambenoj zgradi",
          "Stambena površina: 50 m2",
          "Lokacija: Trešnjevka - Jug, Knežija"
        ],
        "highlights": [
          {
            "id": "livingArea",
            "label": "Stambena površina",
            "value": "50 m²"
          }
        ],
        "image": "https://www.njuskalo.hr/image-big/nekretnine/knezija-smjestaj-5-radnika-slika-243007922.jpg",
        "has_map": true,
        "has_video": false,
        "has_virtual_tour": false,
        "has_ground_plan": false,
        "is_luxury": false,
        "created_at": "2026-11-09T11:03:56.000Z",
        "agency": {
          "id": 3240017,
          "name": "BAGI Nekretnine",
          "is_store": false
        }
      },
      {
        "id": 41790101,
        "title": "STAN 135 m2 - IZNAJMLJUJEM u Odri, Novi Zagreb",
        "url": "https://www.njuskalo.hr/nekretnine/-oglas-41790101",
        "price": 175,
        "price_formatted": "175 €",
        "price_on_request": false,
        "location": "Odra - Novi Zagreb - Zapad",
        "property_type": "Stan u stambenoj zgradi, 1. kat",
        "area_m2": 130,
        "year_built": 2019,
        "abstracts": [
          "Stan u stambenoj zgradi, 1. kat",
          "Stambena površina: 130 m2",
          "Lokacija: Novi Zagreb - Zapad, Odra"
        ],
        "highlights": [
          {
            "id": "livingArea",
            "label": "Stambena površina",
            "value": "130 m²"
          },
          {
            "id": "yearOfConstruction",
            "label": "Godina izgradnje",
            "value": "2019"
          },
          {
            "id": "newBuilding",
            "label": "Novogradnja",
            "value": "Novogradnja"
          }
        ],
        "image": "https://www.njuskalo.hr/image-big/nekretnine/stan-iznajmljujem-slika-207959153.jpg",
        "has_map": true,
        "has_video": false,
        "has_virtual_tour": false,
        "has_ground_plan": true,
        "is_luxury": false,
        "created_at": "2026-11-09T04:44:43.000Z",
        "agency": {
          "id": 2870533,
          "name": "Johny54",
          "is_store": false
        }
      },
      {
        "id": 49558568,
        "title": "Smještaj za radnike, Velika Gorica, Lukavac",
        "url": "https://www.njuskalo.hr/nekretnine/-oglas-49558568",
        "price": 175,
        "price_formatted": "175 €",
        "price_on_request": false,
        "location": "Lašćina - Maksimir",
        "property_type": "Stan u kući, prizemlje",
        "area_m2": 65,
        "abstracts": [
          "Stan u kući, prizemlje",
          "Stambena površina: 65 m2",
          "Lokacija: Maksimir, Lašćina"
        ],
        "highlights": [
          {
            "id": "livingArea",
            "label": "Stambena površina",
            "value": "65 m²"
          },
          {
            "id": "furnishing",
            "label": "Opremljenost",
            "value": "Potpuno namješten"
          }
        ],
        "image": "https://www.njuskalo.hr/image-big/nekretnine/smjestaj-radnike-velika-gorica-lukavac-slika-269369314.jpg",
        "has_map": true,
        "has_video": false,
        "has_virtual_tour": false,
        "has_ground_plan": false,
        "is_luxury": false,
        "created_at": "2026-10-21T19:44:49.000Z",
        "agency": {
          "id": 2896999,
          "name": "CityLux nekretnine",
          "is_store": false
        }
      }
    ]
  },
  "meta": {
    "endpoint_family": "search",
    "request_id": "req_4893ee1600b34dfd8861003bb7cb14d6",
    "credits_charged": 1,
    "credits_remaining": 1837
  }
}
200 OKJSONX-Credits-Used: 1
Recorded from our API and shortened.

Sample data

What one call returns

A recorded run of search: the fields and shapes you will get, shortened to 3 items.

#idintegertitlestringurlurlpriceintegerprice_formattedstringprice_on_requestbooleanlocationstringproperty_typestringarea_m2integerabstractsstring[]highlightsobject[]imageurlhas_mapbooleanhas_videobooleanhas_virtual_tourbooleanhas_ground_planbooleanis_luxurybooleancreated_atstringagencyobject
144475783Knežija-smještaj za 5 radnikahttps://www.njuskalo.hr/nekretnine/-oglas-44475783170170 €falseKnežija - Trešnjevka - JugStan u stambenoj zgradi50[3 items][1 item]https://www.njuskalo.hr/image-big/nekretnine/knezija-smjestaj-5-radnika-slika-243007922.jpgtruefalsefalsefalsefalse2026-11-09T11:03:56.000Z{3 fields}
241790101STAN 135 m2 - IZNAJMLJUJEM u Odri, Novi Zagrebhttps://www.njuskalo.hr/nekretnine/-oglas-41790101175175 €falseOdra - Novi Zagreb - ZapadStan u stambenoj zgradi, 1. kat130[3 items][3 items]https://www.njuskalo.hr/image-big/nekretnine/stan-iznajmljujem-slika-207959153.jpgtruefalsefalsetruefalse2026-11-09T04:44:43.000Z{3 fields}
349558568Smještaj za radnike, Velika Gorica, Lukavachttps://www.njuskalo.hr/nekretnine/-oglas-49558568175175 €falseLašćina - MaksimirStan u kući, prizemlje65[3 items][2 items]https://www.njuskalo.hr/image-big/nekretnine/smjestaj-radnike-velika-gorica-lukavac-slika-269369314.jpgtruefalsefalsefalsefalse2026-10-21T19:44:49.000Z{3 fields}

Recorded from our API · 3 items shown · 19 datapoints per itemGET /v1/njuskalo/search?category=rent_apartments&location=zagreb&price_max=700&rooms_min=2&sort=price_asc&page=2

19 datapoints

Identity

  • idinteger
  • titlestring
  • property_typestring

Contact

  • urlurl

Location

  • locationstring
  • area_m2integer

Reputation

  • imageurl

Price

  • priceinteger
  • price_formattedstring
  • price_on_requestboolean

Other

  • abstractsstring[]
  • highlightsobject[]
  • has_mapboolean
  • has_videoboolean
  • has_virtual_tourboolean
  • has_ground_planboolean
  • is_luxuryboolean
  • created_atstring
  • agencyobject

Playground

Run this API

cURLshell
curl "https://api.perceptlayer.com/v1/njuskalo/search?category=rent_apartments&location=zagreb&price_max=700&rooms_min=2&sort=price_asc&page=2" \
  -H "X-API-Key: $API_KEY"

Njuškalo · 4 endpoints

Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

EndpointRequired parametersCost
GET/v1/njuskalo/agency
slug+1 optional
1 credit
GET/v1/njuskalo/listing
none+3 optional
1 credit
GET/v1/njuskalo/locations
query
1 credit
GET/v1/njuskalo/search
category+9 optional
1 credit

Overview

About the Njuškalo API

What you can get

The Njuškalo API returns Njuškalo property data as JSON through 4 endpoints.

  • Search: search takes a category (sale_apartments, rent_apartments, sale_houses or sale_land), with location (a county, city or Zagreb district slug such as zagreb, split, rijeka, osijek, zadar, splitsko-dalmatinska or tresnjevka-jug), price_min, price_max, area_min, area_max, rooms_min, rooms_max, sort (newest, oldest, price_asc or price_desc) and page.
  • Listings: listing takes a url, or an id with its slug.
  • Agencies: agency takes a slug, with page.
  • Locations: locations takes a query.

The recorded search for apartments to rent in Zagreb, up to 700 with at least two rooms, sorted by price_asc (page 2), returns listings with id, title, url, price, price_formatted, price_on_request, location, property_type, area_m2, abstracts, highlights, image, has_map, has_video, has_virtual_tour, has_ground_plan, is_luxury, created_at and agency. It also returns total (996), and pagination with per_page, total_pages and has_next_page.

How a call works

Search a city: GET /v1/njuskalo/search?category=rent_apartments&location=zagreb&price_max=700&rooms_min=2&sort=price_asc with your key in the X-API-Key header. Each listing carries an id and a url, either of which listing takes for the full record. Page with page while has_next_page is true. Every successful call costs 1 credit; failed calls cost nothing.

Real estateJSONRESTMCP

More real estate APIs

Use cases

Track asking rents for apartments in Zagreb, Split or Rijeka

Use the Njuškalo API to track asking rents for apartments in Zagreb, Split or Rijeka

Compare sale prices per `area_m2` across Croatian counties and Zagreb districts

Use the Njuškalo API to compare sale prices per `area_m2` across Croatian counties and Zagreb districts

Watch land for sale in a coastal county such as splitsko-dalmatinska or zadarska

Use the Njuškalo API to watch land for sale in a coastal county such as splitsko-dalmatinska or zadarska

Pull an agency's listings with `agency`

Use the Njuškalo API to pull an agency's listings with `agency`

FAQ

Questions

Do I need a Njuškalo account?

No. You call this Njuškalo API with your Perceptlayer key in the `X-API-Key` header, with no Njuškalo login.

How much does the Njuškalo API cost?

Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.

What format are responses in?

Every endpoint returns JSON, with no HTML parsing on your side.

Which locations can I search?

`location` takes a slug for a Croatian county, a city or a Zagreb district, from bjelovarsko-bilogorska to crnomerec. Use `locations` to look one up by name.

Should I build a Njuškalo scraper instead?

You can, but a Njuškalo scraper is code you maintain: page changes break it, requests get blocked, and Njuškalo's terms govern how you collect data. The Njuškalo API gives you 4 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

Try the Njuškalo API with 100 free credits

No credit card. Failed calls are never billed.