Otomoto.pl Scraper
Pricing
from $3.50 / 1,000 cars
Otomoto.pl Scraper
Scrape detailed car listings from otomoto.pl including price, specs, equipment, photos and seller info. Supports search URLs, brand/model filters, pagination and large-scale runs with Apify Proxy.
Pricing
from $3.50 / 1,000 cars
Rating
0.0
(0)
Developer
Always Prime
Maintained by CommunityActor stats
1
Bookmarked
5
Total users
0
Monthly active users
6 months ago
Last modified
Categories
Features
Share
🚗 Otomoto.pl Scraper — Polish Car Market in One Click
Turn Poland's #1 automotive marketplace into a clean, structured dataset — at scale, without writing a line of code.
Otomoto.pl lists hundreds of thousands of cars, vans, motorcycles and trucks across Poland. This Actor extracts them all into a tidy CSV, JSON or Excel file ready for analysis, dashboards, or your own product. ⚡
✨ Why this scraper?
- 🎯 Just paste a URL. Take any otomoto.pl search page (filtered however you like) — the Actor walks every page and every listing automatically.
- 🧰 No coding needed. Configure everything from the UI: brand, model, year, price range, max items.
- 📦 Rich, structured output. 50+ fields per listing — far more than just title and price.
- 🛡️ Survives blocks. Smart retries, session rotation, captcha detection — runs for hours without babysitting.
- 💸 Pay only for what you get. Per-listing pricing — no surprises, no idle compute charges.
- 🔁 Resumable. A run that gets interrupted picks up exactly where it stopped.
🎯 Perfect for
- 📈 Market analysts tracking used-car prices, depreciation curves, regional spreads
- 🏭 Dealers & importers monitoring competition and sourcing inventory
- 💼 Lead generation — build a database of dealers, private sellers, and their inventory
- 🤖 Price-comparison & valuation tools that need fresh, daily-refreshed data
- 📊 Researchers & journalists studying the Polish automotive landscape
- 🛠️ Data products powered by automotive listings
🚀 Quick start
Option 1 — paste a search URL (easiest)
Open otomoto.pl, set any filters you want, copy the URL, paste it in:
{"startUrls": [{ "url": "https://www.otomoto.pl/osobowe/bmw/seria-3?search%5Bfilter_float_year%3Afrom%5D=2018" }],"maxItems": 500}
Option 2 — build the search from filters
{"category": "osobowe","brand": "bmw","model": "seria-3","yearFrom": 2018,"priceTo": 120000,"maxItems": 500}
Hit Start and your dataset starts filling up. ▶️
⚙️ Input options
| Field | What it does |
|---|---|
| 🔗 Start URLs | Any otomoto.pl search, category, or detail URLs. Mix and match. |
| 🚙 Category | osobowe (cars), dostawcze (vans), ciezarowe (trucks), motocykle, kampery, przyczepy |
| 🏷️ Brand / Model | Brand and model slugs (e.g. bmw / seria-3) — used to build a search if no URL is given |
| 📅 Year from / to | Production year range |
| 💰 Price from / to | Price range in PLN |
| 🔢 Max items | Hard cap on listings (your cost ceiling) |
| 📄 Max pages per start URL | How many search-result pages to walk per seed |
| 📝 Include description | Full seller description (HTML stripped) |
| 🖼️ Include images | Full photo gallery URLs |
| 📞 Include phone | Seller contact tokens (encrypted by Otomoto) |
| 🌍 Language | pl, en, de, uk, ru |
| ⚡ Max concurrency | Parallel requests (default 10) |
📦 What you get per listing
Every record contains the full picture — vehicle specs, pricing, condition, equipment, photos, seller and location:
{"id": "6147499760","url": "https://www.otomoto.pl/osobowe/oferta/bmw-seria-3-...html","title": "BMW Seria 3 320d xDrive M Sport","price": 219900,"currency": "PLN","brand": "BMW","model": "Seria 3","generation": "G20/G21 (2019-)","year": 2024,"mileage": 121101,"fuelType": "Diesel","gearbox": "Automatyczna","drive": "4x4 (dołączany automatycznie)","engineCapacity": 2993,"enginePower": 340,"bodyType": "Sedan","color": "Czarny","colorType": "Metalik","doorCount": 4,"seatCount": 5,"countryOrigin": "Polska","isDamaged": false,"isAccidentFree": true,"isImported": false,"isRegisteredInPoland": true,"isVerified": false,"features": ["Klimatyzacja automatyczna", "Dach panoramiczny","Apple CarPlay", "Android Auto", "Asystent pasa ruchu", "..."],"images": ["https://ireland.apollo.olxcdn.com/v1/files/...image","..."],"description": "✅INCHCAPE PARK to nowoczesny salon...","sellerType": "professional","sellerName": "Inchcape Park - Dealer BMW Premium Selection","sellerActiveAds": 31,"sellerWebsite": "https://www.inchcape-park.pl","sellerDealerPageUrl": "https://INCHCAPE-PARK.otomoto.pl/inventory","address": "Warszawa","city": "Warszawa","region": "Mazowieckie","latitude": 52.19511491,"longitude": 20.94118351,"createdAt": "2026-04-29T14:32:00Z","scrapedAt": "2026-05-03T08:14:55.123Z"}
🔓 Note on VIN & phone numbers: Otomoto encrypts these server-side. The Actor returns the encrypted tokens (vinEncrypted, sellerPhonesEncrypted) — they cannot be decrypted client-side.
💡 Pro tips
- 📐 Set
maxItemsyour first run. Popular brands have 10,000+ active listings. The hard cap is your safety net. - 🧩 Split big jobs. For very large datasets (e.g. all BMWs ever listed), run several Actors in parallel — one per year range or region. Faster and safer than cranking concurrency.
- 🔄 Schedule daily runs to track price drops, new listings, or sold cars over time.
- 🧪 Try a small run first (
maxItems: 50) to confirm filters return what you expect before launching a 10k-item job.
💸 Pricing
This Actor uses Pay-per-event pricing — you pay a tiny fee per listing scraped, plus a small one-time start fee. No idle CPU charges, no padding. The price you see in the Pricing tab is exactly what you pay for the data you get. ✅
🆘 Need help?
- 💬 Have a question, or want a custom Otomoto data feed? Open an issue on the Actor's page or message the maintainer.
- 🐛 Found a listing the scraper missed or a field that came back wrong? Send the URL — fixes ship fast.
Ready to put Poland's car market in your spreadsheet? Hit Start and watch your dataset grow. 🚀