Polovni Automobili Car Scraper avatar

Polovni Automobili Car Scraper

Pricing

Pay per event

Go to Apify Store
Polovni Automobili Car Scraper

Polovni Automobili Car Scraper

Scrape used-car listings from polovniautomobili.com — Serbia's #1 car marketplace. Returns make, model, year, price (RSD/EUR), mileage, fuel, transmission, engine power, body type, color, seller, location and photos. Enriches each ad from its detail page. Export to JSON or CSV.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share


🎯 What this scrapes

Polovni Automobili is Serbia's largest used-car marketplace and ships no public API. This Actor wraps a polite scrape — pull the search/results page, parse every car ad, and (optionally) enrich each one from its detail page: full price and currency, mileage, gearbox, engine power, registration, seller name and city, plus the photo gallery. Built on curl-cffi with rotating browser TLS impersonation and residential proxy support, so the target sees a real browser instead of a script.

🔥 What we handle for you

  • 🛡️ Browser fingerprint rotationcurl-cffi impersonates 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-After honoured.
  • 🧱 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 market analytics — track asking prices by make, model, and year across the Serbian market.
  • Dealer intelligence — build a directory of dealers from seller_name, seller_type, and location.
  • Price monitoring — diff successive runs to catch reductions on the models you watch.
  • Lead sourcing — surface private sellers of a specific make in a specific region.
  • Inventory enrichment — pull mileage, gearbox, engine power, and photos for an existing watchlist of ads.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
searchUrlstringno'—'Full polovniautomobili.com search/results URL with your filters already applied (e.g. https://www.polovniautomobil
maxResultsintegerno50Hard cap on dataset rows.
enrichDetailsbooleannoTrueFetch each ad's detail page for full price + currency, gearbox, engine power, registration, color, seller name and city,
proxyConfigurationobjectno{'useApifyProxy': True, 'apifyProxyGroups': ['RESIDENTIAL']}Apify Proxy spec. Residential exits are safest — the site can show a captcha under load.

Example input

{
"maxResults": 5,
"enrichDetails": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
listing_idstringNumeric ad ID from polovniautomobili.com.
listing_urlstringAbsolute URL to the ad detail page.
titlestringAd title (Serbian, kept as published).
make['string', 'null']Vehicle make / brand (e.g. BMW, Audi).
model['string', 'null']Vehicle model (e.g. X6, Q5).
year['integer', 'null']Production year.
price['integer', 'null']Asking price as an integer in the listing's own currency.
currency['string', 'null']ISO-4217 currency code (EUR or RSD).
mileage_km['integer', 'null']Odometer reading in kilometres.
fuel_type['string', 'null']Fuel type (e.g. Dizel, Benzin).
transmission['string', 'null']Gearbox type (e.g. Manuelni, Automatski).
engine_power_hp['integer', 'null']Engine power in metric horsepower (KS).
engine_size_cc['integer', 'null']Engine displacement in cubic centimetres.
body_type['string', 'null']Body style (e.g. Džip/SUV, Limuzina).
color['string', 'null']Exterior colour. Enrichment-only.
first_registration['string', 'null']Registered-until date as shown on the ad. Enrichment-only.
location['string', 'null']Seller city. Enrichment-only.
region['string', 'null']Seller region / district. Enrichment-only.
seller_type['string', 'null']dealer or private.
seller_name['string', 'null']Dealer or seller display name. Enrichment-only.
photo_urlsarrayPhoto gallery URLs (full-size). Enrichment-only.
description['string', 'null']Free-text ad description. Enrichment-only.
posted_date['string', 'null']Last renewed / posted timestamp. Enrichment-only.
scraped_atstringISO-8601 UTC timestamp when this row was recorded.

Example output

{
"listing_id": "29352765",
"listing_url": "https://www.polovniautomobili.com/auto-oglasi/29352765/bmw-x6-indv-mhev-iconic-hk",
"title": "BMW X6 INDV MHEV ICONIC H/K",
"make": "BMW",
"model": "X6",
"year": 2021,
"price": 65500,
"currency": "EUR",
"mileage_km": 139869,
"fuel_type": "Dizel",
"transmission": "Automatski / poluautomatski",
"engine_power_hp": 286,
"engine_size_cc": 2993,
"body_type": "D\u017eip/SUV",
"color": "Bela",
"first_registration": "12.2026.",
"location": "Sombor",
"region": "Zapadno-ba\u010dki",
"seller_type": "dealer",
"seller_name": "TIM CARS DOO",
"photo_urls": [
"https://gcdn.polovniautomobili.com/user-images/thumbs/2935/29352765/1fb12874ac74-1920x1080-dw.jpg"
],
"posted_date": "2026-06-01 23:34:59",
"scraped_at": "2026-06-02T00:00:00+00:00"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
result-row$0.002PPE event

Example: 1 000 results at the rates above ≈ $0.05. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

We scrape only the public listing surface. Some private-seller ads hide the phone number behind a click-to-reveal widget, so seller_name may be null for individuals. Color, gearbox, registration, photos, and seller details require enrichDetails (detail-page fetch). Very large result sets are paginated by the site and capped by maxResults.

❓ FAQ

Do I need a search URL?

No. Leave searchUrl empty and the Actor scrapes the default used-car listing page. To filter, apply filters on the site, copy the resulting URL, and paste it in.

What currency are prices in?

Both EUR and RSD appear on the site. We capture the price as an integer plus the matching currency code (EUR or RSD) so you never have to guess.

Is detail enrichment optional?

Yes — set enrichDetails to false to halve the request count. You still get make, model, year, price, mileage, fuel, body type, and engine from the listing page; color, gearbox, registration, seller, and photos come only from the detail page.

Is this an official API?

No. Polovni Automobili offers no public API. This Actor scrapes the public website politely — respect the site's terms before commercial use.

Will it get blocked?

The site can show a captcha under load. We rotate browser TLS fingerprints and residential proxy exits, and back off on rate limits, to keep runs flowing.

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