Njuskalo.hr Property Scraper avatar

Njuskalo.hr Property Scraper

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Njuskalo.hr Property Scraper

Njuskalo.hr Property Scraper

Scrape real estate listings from Njuskalo.hr — Croatia's #1 classifieds portal. Extract apartments, houses, land, commercial space and garages (sale or rent) by city or county, with price (EUR), surface area, rooms, parsed Croatian address (city → district → micro-location), image and listing labels

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

Njuskalo.hr Property Scraper — Croatia Real Estate Listings to JSON, CSV & Excel

Njuskalo.hr Property Scraper

Scrape real estate listings from Njuskalo.hr, Croatia's #1 classifieds portal, into a clean, structured dataset. This Njuskalo scraper extracts apartments, houses, land, commercial space, garages, rooms and vacation homes — for sale or rent — filtered by Croatian city or county, price in EUR, surface area and room count. No login and no API key required: just set your search and export Croatia property data to JSON, CSV or Excel.

Whether you are building a real-estate price index, sourcing investment leads, or feeding a property aggregator, this Actor turns Njuskalo search pages into ready-to-use structured records with parsed addresses, EUR pricing and price-per-m².

✨ What this Actor does / Key features

  • 🇭🇷 Croatia-wide coverage — every Njuskalo county and city slug is supported (Grad Zagreb, Split, Rijeka, Osijek, Zadar, Pula, Istra, Primorsko-goranska and more). Leave the location list empty to scrape nationwide.
  • 💰 Native EUR pricing with an auto-computed pricePerSqm for fast comparison and valuation work.
  • 🏘️ Hierarchical location parsing — city, district and micro-location are parsed from the search slug plus each listing's "Lokacija" string into a clean address chain.
  • 🛏️ Room count extraction — Njuskalo doesn't expose room counts on result cards, so the Actor parses Croatian shorthand (2 soban, 3s, Trosobni, garsonjera, …) from listing titles.
  • 🏷️ Sponsored / VauVau / SuperVau detection — premium tier flags exposed via isExclusive and labels.
  • 🛡️ Anti-bot bypass via headless Chromium — Playwright with fingerprint rotation, residential proxy, cookie-banner handling, asset blocking and session retirement on block detection.
  • 🔁 De-duplication & dynamic pagination — crawling stops automatically when a page returns no new listing IDs.
  • 🎯 Server- and client-side filtering — price, area and room filters are applied both in the URL and again in-memory, so results stay correct.
  • 📦 Structured, export-ready output — every record is flat JSON, downloadable as CSV or Excel, with pre-built Overview and Full Detail dataset views.

🔍 Input

FieldTypeDescription
locationSlugsarray of stringsNjuskalo city / county slugs (e.g. zagreb, split). Each slug becomes its own scraping task. Leave empty for nationwide. Default ["zagreb"].
transactionstring (enum)sale (prodaja) or rent (iznajmljivanje). Default sale.
propertyTypestring (enum)apartment, house, land, commercial, garage, room or vacation. Default apartment.
priceMininteger (EUR)Minimum price in EUR. 0 = no minimum.
priceMaxinteger (EUR)Maximum price in EUR. 0 = no maximum.
areaMininteger (m²)Minimum surface area. 0 = no minimum.
areaMaxinteger (m²)Maximum surface area. 0 = no maximum.
roomsMinintegerMinimum room count. 0 = no minimum.
roomsMaxintegerMaximum room count. 0 = no maximum.
maxListingsintegerTotal cap across all location tasks. 0 = unlimited. Default 200.
maxPagesPerTaskintegerPagination depth per location (~25 listings per page). Default 10.
requestDelayinteger (ms)Delay between sequential page requests. Keep ≥ 2000 ms. Default 2500.
maxRetriesintegerRetries per request on errors / block detection (rotates session and proxy IP). Default 3.
proxyConfigurationobjectRequired. Apify Proxy with RESIDENTIAL group and country HR is mandatory — datacenter IPs are blocked instantly.

🚀 Example input

{
"locationSlugs": ["zagreb", "split"],
"transaction": "sale",
"propertyType": "apartment",
"priceMin": 100000,
"priceMax": 350000,
"areaMin": 40,
"areaMax": 100,
"roomsMin": 2,
"roomsMax": 4,
"maxListings": 500,
"maxPagesPerTask": 25,
"requestDelay": 2500,
"maxRetries": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "HR"
}
}

📦 Output

One Apify dataset record per Njuskalo listing. Records are flat JSON and can be exported to CSV, Excel, JSON or XML, or pulled via the Apify API. Two dataset views are pre-configured: Overview (compact) and Full Detail.

FieldDescription
adIdNjuskalo numeric listing ID
detailUrlFull URL to the listing page
titleListing title
shortDescriptionProperty type + floor snippet (e.g. "Stan u stambenoj zgradi, 1. kat")
transactionTypesale / rent
propertyTypeapartment / house / land / …
advertTypeOwner / agency advert type when present
pricePrice in EUR (number)
priceCurrencyEUR (rare legacy HRK listings handled)
pricePerSqmPrice per m² (parsed or computed)
areaSqmUsable surface area (m²)
terrainAreaSqmPlot / terrain area (houses, land)
roomsRoom count parsed from the title
roomsLabelRaw room shorthand text
floor / totalFloorsFloor info when present on the card
buildingType / heatingType / yearBuiltWhen present on the card
country / city / municipality / district / microLocationParsed location hierarchy
street / fullAddressStreet and composed full address
latitude / longitudeCoordinates (detail-page only — null from search)
mainImageUrl / imageUrls / imageCountCover photo and gallery info
advertiserId / advertiserName / advertiserUrl / advertiserTypeAdvertiser info when available
isRegistered, hasElevator, hasParking, hasGarage, hasTerrace, hasBalcony, isFurnishedFeature flags (detail-page only)
isExclusivetrue for sponsored / VauVau / SuperVau cards
labelsTier tags (VauVau, SuperVau, Premium, Featured, Top, …)
datePosted / dateValidFromListing dates
searchTransaction / searchPropertyType / searchLocation / searchUrlEcho of the input search parameters
scrapedAtISO-8601 scrape timestamp

Detail-only fieldslatitude, longitude, the full imageUrls gallery, street, advertiser fields and feature flags live on the individual listing page, not the search results, so the search scraper leaves them null.

💡 Use cases

  • Real-estate analysts & valuers — build Croatian price-per-m² indices and track market trends by city, county and property type.
  • Property investors & flippers — monitor new apartments and houses for sale under a target budget the moment they are posted.
  • Real-estate agencies & portals — feed an aggregator or CRM with fresh Njuskalo inventory.
  • Lead generation — surface owner and agency listings for outreach.
  • Researchers & journalists — quantify housing supply, rental prices and sponsored-listing share across Croatia.
  • PropTech & data products — power dashboards, alerts and comparison tools with structured Croatia real estate data.

❓ Frequently Asked Questions

Is scraping Njuskalo.hr legal? The Actor collects only publicly visible listing data — no login or account is required. As with any scraping, use the data responsibly, respect Njuskalo's terms, and avoid republishing copyrighted text or images verbatim. You are responsible for how you use the output.

Do I need an API key or a Njuskalo account? No. There is no official Njuskalo API. The Actor works entirely from public search pages — no login, no API key.

Why is a proxy required? Njuskalo runs aggressive, Cloudflare-grade bot detection. Datacenter IPs are blocked instantly, so Apify Proxy with the RESIDENTIAL group and country HR is mandatory. The Actor rotates IPs and retires flagged sessions automatically.

How much data can I get and how fast? A clean 200-listing run takes about 75 seconds; with anti-bot retries it can reach 4–5 minutes. A 1,000-listing run typically takes 8–15 minutes. New content is rare past page 50, so narrow wide queries with price and area filters instead of crawling very deep.

Can I filter by price, area, rooms or property type? Yes. You can filter by transaction (sale/rent), property type, price range in EUR, surface area range and room count. Filters are applied both in the URL and again in-memory for accuracy.

Why are some fields like latitude, longitude or parking always null? Those fields only exist on individual listing detail pages, not on the search-results cards this Actor reads. They are intentionally left null.

What output formats are supported? Every run produces a structured dataset you can export to JSON, CSV, Excel or XML, or access through the Apify API.

⏰ Scheduling & integration

Schedule this Actor on Apify to refresh Croatia property data daily or hourly, and export results to JSON, CSV or Excel with one click. Use the Apify API, webhooks or integrations to push new Njuskalo listings straight into Google Sheets, a database, your CRM or a downstream data pipeline.

License

Apache-2.0


Changelog

  • 2026-05-25 — Maintenance & reliability pass: pulled the latest source and rebuilt the Actor on the current base image; build verified.

Last reviewed: 2026-05-25.