---
title: "Njuškalo API: JSON data, 4 endpoints, 1 credit per call"
description: "Njuškalo API for Croatian apartments, houses and land for sale or rent, listings, agencies and locations as JSON. 1 credit per successful call."
url: https://perceptlayer.com/apis/njuskalo
---

[APIs](https://perceptlayer.com/apis) / [Real estate](https://perceptlayer.com/verticals/real-estate) / Njuškalo

1 credit per call 4 endpoints 19 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.

[Get a free API key](https://perceptlayer.com/signup) Run it below

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 OK JSON X-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.

| # | id integer | title string | url url | price integer | price\_formatted string | price\_on\_request boolean | location string | property\_type string | area\_m2 integer | abstracts string\[\] | highlights object\[\] | image url | has\_map boolean | has\_video boolean | has\_virtual\_tour boolean | has\_ground\_plan boolean | is\_luxury boolean | created\_at string | agency object |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | 44475783 | Knežija-smještaj za 5 radnika | https://www.njuskalo.hr/nekretnine/-oglas-44475783 | 170 | 170 € | false | Knežija - Trešnjevka - Jug | Stan u stambenoj zgradi | 50 | \[3 items\] | \[1 item\] | https://www.njuskalo.hr/image-big/nekretnine/knezija-smjestaj-5-radnika-slika-243007922.jpg | true | false | false | false | false | 2026-11-09T11:03:56.000Z | {3 fields} |
| 2 | 41790101 | STAN 135 m2 - IZNAJMLJUJEM u Odri, Novi Zagreb | https://www.njuskalo.hr/nekretnine/-oglas-41790101 | 175 | 175 € | false | Odra - Novi Zagreb - Zapad | Stan u stambenoj zgradi, 1. kat | 130 | \[3 items\] | \[3 items\] | https://www.njuskalo.hr/image-big/nekretnine/stan-iznajmljujem-slika-207959153.jpg | true | false | false | true | false | 2026-11-09T04:44:43.000Z | {3 fields} |
| 3 | 49558568 | Smještaj za radnike, Velika Gorica, Lukavac | https://www.njuskalo.hr/nekretnine/-oglas-49558568 | 175 | 175 € | false | Lašćina - Maksimir | Stan u kući, prizemlje | 65 | \[3 items\] | \[2 items\] | https://www.njuskalo.hr/image-big/nekretnine/smjestaj-radnike-velika-gorica-lukavac-slika-269369314.jpg | true | false | false | false | false | 2026-10-21T19:44:49.000Z | {3 fields} |

Recorded from our API · 3 items shown · 19 datapoints per item GET /v1/njuskalo/search?category=rent\_apartments&location=zagreb&price\_max=700&rooms\_min=2&sort=price\_asc&page=2

19 datapoints

### Identity

-   id integer
-   title string
-   property\_type string

### Contact

-   url url

### Location

-   location string
-   area\_m2 integer

### Reputation

-   image url

### Price

-   price integer
-   price\_formatted string
-   price\_on\_request boolean

### Other

-   abstracts string\[\]
-   highlights object\[\]
-   has\_map boolean
-   has\_video boolean
-   has\_virtual\_tour boolean
-   has\_ground\_plan boolean
-   is\_luxury boolean
-   created\_at string
-   agency object

Playground

## Run this API

cURL shell 

```
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.

| Endpoint | Required parameters | Cost |
| --- | --- | --- |
| [GET `/v1/njuskalo/agency`](https://perceptlayer.com/apis/njuskalo/agency) | `slug` +1 optional | 1 credit |
| [GET `/v1/njuskalo/listing`](https://perceptlayer.com/apis/njuskalo/listing) | none +3 optional | 1 credit |
| [GET `/v1/njuskalo/locations`](https://perceptlayer.com/apis/njuskalo/locations) | `query` | 1 credit |
| [GET `/v1/njuskalo/search`](https://perceptlayer.com/apis/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 estate JSON REST MCP

### More real estate APIs

[28Hse](https://perceptlayer.com/apis/28hse) [4zida](https://perceptlayer.com/apis/4zida) [591](https://perceptlayer.com/apis/591-house) [99.co](https://perceptlayer.com/apis/99co) [99acres](https://perceptlayer.com/apis/99acres) [Adondevivir](https://perceptlayer.com/apis/adondevivir) [Apartment List](https://perceptlayer.com/apis/apartment-list) [Apartments.com](https://perceptlayer.com/apis/apartments-com) [Aqar](https://perceptlayer.com/apis/aqar) [Aqarmap](https://perceptlayer.com/apis/aqarmap) [Argenprop](https://perceptlayer.com/apis/argenprop) [athome](https://perceptlayer.com/apis/athome)

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.

[Get a free API key](https://perceptlayer.com/signup) [Read the docs](https://docs.perceptlayer.com)
