Njuškalo Car Scraper (Croatia)
Pricing
Pay per event
Njuškalo Car Scraper (Croatia)
Scrape used-car listings from Njuškalo.hr — Croatia's #1 classifieds marketplace. Get make, model, year, price in EUR, mileage, fuel type, gearbox, engine power (kW + hp), first registration, seller type (dealer/private), location, photos and the full Croatian description. Export to JSON or CSV.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
🎯 What this scrapes
Njuškalo.hr is Croatia's dominant marketplace (Styria/Adevinta) and its car vertical lists tens of thousands of used vehicles — with no public API. This Actor scrapes the public car search at /auti: paste a full Njuškalo search URL with your filters already applied, or use the default newest-first listing, then (optionally) enrich each car from its detail page with mileage, gearbox, engine power, engine size, first registration in Croatia, owner count, and whether the seller is a dealer or a private person. Built on curl-cffi with browser TLS impersonation and Apify residential proxy rotation — Njuškalo is anti-bot-sensitive, so the Actor rotates sessions and backs off on blocks.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python. - 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
- 🔁 Retries with exponential backoff on
408 / 429 / 5xx— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
💡 Use cases
- Used-car price analytics — track EUR price vs mileage and model year across the Croatian market.
- Dealer-inventory monitoring — filter by
seller_type = dealerand watch a competitor's stock turnover. - Import/export sourcing — spot under-priced Croatian listings for cross-border arbitrage the moment they appear.
- Lead generation — build a directory of private sellers and dealers by make, county, and price band.
- Market research — chart fuel-type and EV adoption trends across Croatia's biggest classifieds.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
searchUrl | string | no | '—' | A full Njuškalo.hr car search URL you pasted (filters already applied), e.g. https://www.njuskalo.hr/auti?price%5B |
maxResults | integer | no | 50 | Hard cap on dataset rows. Njuškalo serves ~25 regular listings per search page; we paginate up to this cap. |
enrichDetails | boolean | no | True | Fetch each car's detail page (/auti/...-oglas-{id}) for mileage, gearbox, engine power, engine size, first |
proxyConfiguration | object | no | {'useApifyProxy': True, 'apifyProxyGroups': ['RESIDENTIAL']} | Apify Proxy spec. Njuškalo is anti-bot-sensitive — residential exits are strongly recommended. |
Example input
{"searchUrl": "","maxResults": 5,"enrichDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
listing_id | string | Njuškalo listing (oglas) ID. |
listing_url | string | Absolute URL to the listing detail page. |
title | string | Listing title (make + model + trim heading). |
make | ['string', 'null'] | Car make (Marka automobila), e.g. Mercedes-Benz. Enrichment-only. |
model | ['string', 'null'] | Car model (Model automobila), e.g. E-klasa. Enrichment-only. |
year | ['integer', 'null'] | Year of manufacture (Godište / Godina proizvodnje). |
price | ['integer', 'null'] | Asking price as an integer in the listing currency. |
currency | ['string', 'null'] | ISO-4217 currency code — always EUR (Croatia adopted the euro in 2023). |
mileage_km | ['integer', 'null'] | Odometer reading in kilometres (Prijeđeni kilometri). |
fuel_type | ['string', 'null'] | Fuel type (Vrsta motora / Motor), e.g. Benzin, Dizel, Plug-in hibrid. Enrichment-only. |
transmission | ['string', 'null'] | Gearbox (Mjenjač), e.g. Ručni, Automatski. Enrichment-only. |
engine_power_hp | ['integer', 'null'] | Engine power in metric horsepower, derived from kW. Enrichment-only. |
engine_power_kw | ['integer', 'null'] | Engine power in kilowatts (Snaga motora). Enrichment-only. |
engine_size_cc | ['integer', 'null'] | Engine displacement in cubic centimetres (Radni obujam). Enrichment-only. |
color | ['string', 'null'] | Exterior colour (Boja), when listed. Enrichment-only. |
first_registration | ['string', 'null'] | First registration in Croatia (Prva registracija u RH). Enrichment-only. |
owner_count | ['string', 'null'] | Owner count (Vlasnik), e.g. prvi (first). Enrichment-only. |
location | ['string', 'null'] | Vehicle location (Lokacija vozila). |
region | ['string', 'null'] | Croatian county (županija), parsed from the location line. Enrichment-only. |
condition | ['string', 'null'] | Condition (Stanje): rabljeno (used) or novo (new). |
seller_type | ['string', 'null'] | private or dealer. |
photo_urls | array | List of listing photo URLs. |
description | ['string', 'null'] | Full Croatian listing description. Enrichment-only. |
posted_date | ['string', 'null'] | Date the listing was published (ISO when available). |
scraped_at | string | ISO timestamp when this row was recorded. |
Example output
{"listing_id": "50712880","listing_url": "https://www.njuskalo.hr/auti/mercedes-benz-e-klasa-e53-amg-4matic-hybrid-automatik-oglas-50712880","title": "Mercedes-Benz E-klasa E53 AMG 4MATIC+ Hybrid 9G,PANO,DIGITAL,BURMESTER","make": "Mercedes-Benz","model": "E-klasa","year": 2025,"price": 99990,"currency": "EUR","mileage_km": 15800,"fuel_type": "Plug-in hibrid","transmission": "Automatski sekvencijski","engine_power_hp": 585,"engine_power_kw": 430,"engine_size_cc": 2999,"first_registration": "2026.","owner_count": "prvi","location": "Dugo Selo, Dugo Selo - Centar","region": "Zagreba\u010dka","condition": "rabljeno","seller_type": "private","photo_urls": ["https://www.njuskalo.hr/image-xlsize/auti/mercedes-benz-e-klasa-e53-amg-4matic-hybrid-automatik-slika-278829050.jpg"],"scraped_at": "2026-06-02T00:00:00+00:00"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.05 | One-off warm-up charge per run |
result-row | $0.002 | PPE event |
Example: 1 000 results at the rates above ≈ $2.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
Njuškalo is anti-bot-sensitive; residential proxies are strongly recommended and the Actor rotates sessions and backs off on blocks. Search pages serve ~25 regular listings each, so large result sets take proportionally longer. Detail enrichment doubles the request count. Spec labels are Croatian and mapped to standard fields; rare or missing labels surface as null rather than guessed values. Make, model, mileage and most engine specs come from the detail page, so they are null when enrichDetails is off.
❓ FAQ
Does this cover new cars too?
The default search is Njuškalo's car channel at /auti, which is overwhelmingly used cars but includes some new ones. Paste a searchUrl with new-car filters if you want to narrow it — the parser reads whatever the search page returns and records the condition field.
Why are mileage, gearbox and power sometimes null?
Those live on each car's detail page. Keep enrichDetails on (the default) to fill them; turn it off to halve the request count and get just title, price, year, mileage, location, photos and seller type from the search payload.
What currency are prices in?
Euros (EUR). Croatia adopted the euro in 2023, so Njuškalo prices are shown and recorded in EUR as an integer amount.
How do I search a specific make, model or price band?
Apply your filters on Njuškalo.hr in the browser, then copy the resulting URL into searchUrl — the Actor scrapes exactly that result set, pagination included.
Is this a Njuškalo-sanctioned API?
No. Njuškalo publishes no public car API. This Actor scrapes the public website politely with browser TLS impersonation, residential proxy rotation and backoff — see the ToS notice in the README.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.