Njuškalo Scraper — Croatia Classifieds & Prices avatar

Njuškalo Scraper — Croatia Classifieds & Prices

Pricing

from $1.69 / 1,000 listings

Go to Apify Store
Njuškalo Scraper — Croatia Classifieds & Prices

Njuškalo Scraper — Croatia Classifieds & Prices

Njuškalo scraper for Croatian classifieds. Each row has the EUR price, location, seller, description, and photos for apartments, cars, phones, and jobs. Export JSON or monitor new ads.

Pricing

from $1.69 / 1,000 listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Share

Njuškalo Scraper

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Njuškalo d.o.o. or its affiliates. Data is read from publicly accessible search, category, and listing pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Njuškalo scraper for Croatian classifieds. Each row is one listing: asking price in EUR, location, seller, description, and photos. Search by keyword or category, or paste a results URL. Use it as a Njuskalo scraper and Njuskalo.hr API alternative from Python, Node.js, cURL, or Apify MCP, and export the dataset as JSON.

Best for: apartment and house comps, used cars, phones, job leads, and a scheduled run that saves only new ads and price changes.

ActorRole
Njuškalo Scraper ◄── you are hereCroatia classifieds: EUR price, location, seller, new-ad monitor
Kleinanzeigen ScraperGermany classifieds
Tutti.ch ScraperSwitzerland classifieds
Gumtree ScraperUK classifieds
Leboncoin ScraperFrance classifieds
Marktplaats ScraperNetherlands classifieds
eBay Sold Listings ScraperSold comps for the same goods

When to use this Actor

  • A keyword — Set Keyword to iphone and leave Search URLs empty. Category is ignored while a keyword is set.
  • Apartments, cars, phones, or jobs — Pick the category and leave Keyword empty.
  • A results page you already opened — Paste the category or search URL. Keyword and category are ignored when Search URLs is set.
  • One listing — Paste the listing URL. The run saves that page.
  • New ads and price cuts — Turn on monitor mode and schedule the same search. The first run stores a baseline and saves nothing. Later runs save new listing ids and price changes.

When not to use this Actor

  • Hidden phone numbers — The reveal button is not called. A number the seller typed into the description stays inside description.
  • A national dump in one run — Cap maxItems (200). Split by category or keyword.
  • Logged-in seller tools — This Actor reads public pages only.

Key features

  • Search and listing pages — Title, EUR price, location, seller, description, and photos. Default 256 MB. Datacenter proxy. No browser.
  • Keyword or category — Apartments for sale, apartments for rent, houses, cars, motorbikes, phones, and jobs.
  • Pasted URL — Category paths, search URLs, and single listing pages.
  • Private versus business — sellerType is private or business when the page says so.
  • Monitor — Named key-value store of listing id and last price for that search. The seed run does not open listing pages.

Input

FieldRequiredDefaultWhat it does
Search or listing URLsNoiPhone searchWins over the filters below.
KeywordNo—Site search when URLs are empty. Overrides Category.
CategoryNoApartments for saleSection used when URLs and Keyword are empty.
SortNoNewestApplied when the Actor builds the URL.
Open listing pagesNoonDescription, photos, attributes, and public seller fields. Same saved row.
Maximum listingsNo40Rows to save, up to 200.
Monitor modeNooffBaseline first, then new ids and price changes.
Monitor state storeNonjuskalo-monitorNamed store for the baseline.
ProxyNoDatacenterListing pages need it. Switch to residential if a run is blocked.
{
"keyword": "iphone",
"sort": "new",
"includeListingDetails": true,
"maxItems": 40,
"monitorMode": false,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output

FieldMeaning
idListing id
urlPublic listing page
titleListing title
priceAsking price in EUR
locationPlace on the card or listing page
postedAtPublish time
livingAreaM2Square meters when the listing shows them
roomsRoom count on property listings
sellerTypeprivate or business
sellerNameDisplay name on the listing page
sellerAddress, sellerEmailPrinted on the listing page when present
descriptionListing description
image, imagesFirst photo, then the photo list
attributesAttribute pairs from the listing page
changeTypenew or price_change on monitor runs
previousPricePrior asking price when changeType is price_change
scrapedAtUTC timestamp
{
"id": "51355151",
"url": "https://www.njuskalo.hr/nekretnine/stan-oglas-51355151",
"title": "Stan Grižanska",
"price": 148000,
"currency": "EUR",
"location": "Grad Zagreb, Gornja Dubrava",
"livingAreaM2": 34.83,
"rooms": "1-sobni",
"sellerType": "business",
"sellerName": "Moj dom nekretnine",
"description": "Sunčan stan s balkonom."
}

Use cases

  • Compare asking prices for apartments in one district and keep livingAreaM2 and sellerType so agencies are separate from private sellers.
  • Pull used cars or phones with the public price, location, and description.
  • Schedule monitor mode each morning and export only listings whose price moved.
  • For sold comps on the same goods, run eBay Sold Listings Scraper. For Switzerland, run Tutti.ch Scraper.

Integration examples

Replace APIFY_TOKEN. The slug below is the Store name.

Node.js

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("crawloop/njuskalo-scraper").call({
keyword: "iphone",
maxItems: 40,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("crawloop/njuskalo-scraper").call(run_input={
"category": "apartments",
"maxItems": 40,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items))

cURL

curl -X POST "https://api.apify.com/v2/acts/crawloop~njuskalo-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"category":"apartments","maxItems":40}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store name crawloop/njuskalo-scraper.

Example prompts:

  • "Run Njuškalo Scraper for apartments and return price, location, and living area as JSON"
  • "Scrape Njuškalo cars and summarize asking price and location"
  • "Run Njuškalo Scraper in monitor mode for iphone, then use eBay Sold Listings Scraper for sold comps"

Suite next step

This Actor covers Croatian classifieds. For sold prices on the same goods, run eBay Sold Listings Scraper. For another country’s classifieds, run Tutti.ch Scraper or Gumtree Scraper.

FAQ

Does this open every listing page? Yes, when Open listing pages is on. Monitor seed runs skip those pages and save nothing. Turn the option off to keep the search card only.

Which categories are included? Apartments for sale, apartments for rent, houses for sale, cars, motorbikes, phones, and jobs. A pasted category URL can target any public section.

What if the run is blocked? Leave the datacenter proxy on and retry. If the run still fails, switch the proxy to residential.

What does monitor mode skip? Listing ids already stored for that same search, unless the asking price changed. A quiet tick writes zero rows. The first run only fills the baseline.

Are phone numbers included? The reveal button is not called. Public email, address, and website are saved when the listing page prints them. A number written in the description stays in description.

How do I export the rows? The run writes one listing per dataset row. Download JSON, CSV, or Excel from that dataset, or read it with the Node.js, Python, and cURL examples.