Otomoto.pl Car Scraper
Pricing
from $0.99 / 1,000 car listings
Otomoto.pl Car Scraper
Scrape Otomoto.pl car listings: prices, specs, mileage & equipment. Filter by make, model, year, fuel type, price range and more. 240k+ listings.
Pricing
from $0.99 / 1,000 car listings
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share

Extract structured car listings from Otomoto.pl — Poland's largest automotive marketplace with 240,000+ active listings. The most complete output of any Otomoto scraper on Apify: 40+ fields per listing including condition flags, consumption figures, price negotiability, CO₂ emissions and more — at the lowest price.
Why this scraper
| Feature | This scraper | ivanvs ($2.80/1k) | shahidirfan ($5/1k) |
|---|---|---|---|
| Price per 1,000 results | $0.99 | $2.80 | $5.00 |
| No proxy required | ✅ | ❌ | ❌ |
| generation (e.g. F40 2019-) | ✅ | ✅ | ❌ |
| condition (new / used) | ✅ | ✅ | ❌ |
| nrSeats / doorCount | ✅ | ✅ | ❌ |
| colour type (metallic / matte) | ✅ | ✅ | ❌ |
| isRegistered / isOriginalOwner | ✅ | ✅ | ❌ |
| hasServiceRecord / hasRegistrationDoc | ✅ | ✅ | ❌ |
| financingAvailable / leasingAvailable | ✅ | ✅ | ❌ |
| priceIsNegotiable | ✅ | ❌ | ✅ |
| priceIsNet (VAT deductible) | ✅ | ❌ | ❌ |
| CO₂ emissions (g/km) | ✅ | ❌ | ❌ |
| Combined / urban / extra-urban consumption | ✅ | ❌ | ❌ |
| EV range (autonomyKm) | ✅ | ❌ | ❌ |
| priceDrop % | ✅ | ❌ | ❌ |
| isHighlighted / isPromoted / bumpDate | ✅ | ❌ | ❌ |
| sellerNumberOfAds | ✅ | ❌ | ❌ |
| isVintage / noAccident | ✅ | ❌ | ❌ |
| Clean integers (not strings) | ✅ | ❌ ¹ | ✅ |
| Seller phone numbers | ❌ ² | ❌ | ✅ |
| Registration plate | ❌ ² | ✅ | ❌ |
¹ ivanvs returns "1 998 cm3" and "99 000 km" as raw Polish strings.
² Intentionally excluded: phone numbers are personal data; registration plates are private.
Features
- Full-market coverage — all passenger cars (240,000+ listings)
- Rich filter set — make, model, year, price, mileage, fuel type, body style, gearbox, condition
- 40+ output fields per listing when
fetchDetailsis enabled - startUrls mode — paste any Otomoto.pl search URL directly
- Zero proxy cost — runs entirely on Apify datacentre IPs
- In-run deduplication — promoted listings that appear on multiple pages are only saved once
- No API key required
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | [] | One or more Otomoto.pl search result URLs. Overrides filter fields when set. |
make | string | — | Brand slug, e.g. volkswagen, bmw, toyota, mercedes-benz |
model | string | — | Model slug, e.g. golf, 3-series. Requires make. |
yearFrom | integer | — | Minimum production year (inclusive). |
yearTo | integer | — | Maximum production year (inclusive). |
priceFrom | integer | — | Minimum price in PLN. |
priceTo | integer | — | Maximum price in PLN. |
mileageFrom | integer | — | Minimum mileage in km. |
mileageTo | integer | — | Maximum mileage in km. |
fuelType | string | any | petrol, diesel, hybrid, electric, lpg, cng, hydrogen |
bodyType | string | any | sedan, kombi, hatchback, suv, coupe, cabrio, van, minivan, pickup |
gearbox | string | any | manual, automatic |
conditionDamaged | boolean | true | Set to false to exclude damaged vehicles. |
maxResults | integer | 200 | Maximum listings to return (1–50,000). |
fetchDetails | boolean | false | Fetch each listing's detail page for full data (description, equipment, photos, 25+ extra fields). |
requestDelayMs | integer | 1000 | Minimum delay between requests in ms. |
Output
Always included (from listing pages)
| Field | Type | Description |
|---|---|---|
id | string | Unique listing ID |
title | string | Full listing title |
url | string | Direct link to the listing |
make | string | Brand slug (e.g. volkswagen) |
makeDisplay | string | Brand display name (e.g. Volkswagen) |
model | string | Model slug |
modelDisplay | string | Model display name |
version | string | Version / trim level |
year | integer | Production year |
priceValue | integer | Asking price in PLN |
priceCurrency | string | Always PLN |
mileageKm | integer | Mileage in km |
fuelType | string | Fuel type slug (petrol, diesel, electric, …) |
engineCapacityCc | integer | Displacement in cc |
enginePowerHp | integer | Power in hp |
gearbox | string | manual or automatic |
countryOrigin | string | Country of origin code |
city | string | Seller's city |
region | string | Seller's region (voivodeship) |
sellerName | string | Seller / dealer name (dealers only) |
isHighlighted | boolean | Highlighted in search results |
isPromoted | boolean | Paid promotional placement |
bumpDate | string | ISO timestamp of last refresh/bump |
createdAt | string | ISO timestamp of first publication |
scrapedAt | string | ISO timestamp of scrape |
Additional fields with fetchDetails: true
| Field | Type | Description |
|---|---|---|
generation | string | Car generation, e.g. F40 (2019-) |
condition | string | new or used |
nrSeats | integer | Number of seats |
doorCount | integer | Number of doors |
bodyType | string | Body type (sedan, hatchback, suv, …) |
transmission | string | Drive type (front-wheel, rear-wheel, all-wheel) |
color | string | Exterior colour name |
colourType | string | Colour finish: Metalik, Mat, Perłowy |
damaged | boolean | Declared damage |
noAccident | boolean | Seller declares no accident history |
isRegistered | boolean | Currently registered |
isOriginalOwner | boolean | Seller is first owner |
hasVin | boolean | VIN provided |
hasRegistrationDoc | boolean | Registration document available |
hasServiceRecord | boolean | Full service history available |
financingAvailable | boolean | Financing options offered |
leasingAvailable | boolean | Leasing available |
isVintage | boolean | Historic / vintage vehicle |
isImported | boolean | Imported vehicle |
priceIsNegotiable | boolean | Price is open to negotiation |
priceIsNet | boolean | Net price (VAT deductible for businesses) |
priceDrop | number | Price drop vs. original listing price (%) |
co2Emissions | integer | CO₂ emissions in g/km |
combinedConsumption | number | Combined fuel consumption in l/100km |
urbanConsumption | number | Urban cycle consumption in l/100km |
extraUrbanConsumption | number | Extra-urban cycle consumption in l/100km |
avgConsumption | number | Seller-declared average consumption |
autonomyKm | integer | Electric range in km (EVs only) |
sellerType | string | PRIVATE or PROFESSIONAL |
sellerUrl | string | Dealer profile URL |
sellerNumberOfAds | integer | Dealer's active listing count |
description | string | Full description as plain text |
equipment | array | Complete equipment list (strings) |
imageUrls | array | All photo URLs |
updatedAt | string | Last update timestamp |
originalCreatedAt | string | Original publication date |
Examples
1. All electric cars under 150,000 PLN
{"fuelType": "electric","priceTo": 150000,"maxResults": 500,"fetchDetails": true}
2. Specific make & model, recent years
{"make": "toyota","model": "corolla","yearFrom": 2018,"maxResults": 200}
3. Paste a search URL directly
{"startUrls": [{ "url": "https://www.otomoto.pl/osobowe/volkswagen/golf?search[filter_float_year:from]=2015" }],"maxResults": 100,"fetchDetails": true}
4. Business fleet research — diesel SUVs with service history
{"fuelType": "diesel","bodyType": "suv","yearFrom": 2019,"fetchDetails": true,"maxResults": 1000}
Example output item (with fetchDetails: true)
{"id": "6147423134","title": "BMW Seria 1 M135i xDrive","url": "https://www.otomoto.pl/osobowe/oferta/bmw-seria-1-ID6HWcqR.html","make": "bmw","makeDisplay": "BMW","model": "seria-1","modelDisplay": "Seria 1","version": "M135i xDrive","generation": "F70 (2024-)","year": 2024,"condition": "used","priceValue": 106900,"priceCurrency": "PLN","priceIsNegotiable": true,"priceIsNet": true,"priceDrop": null,"mileageKm": 22000,"fuelType": "petrol","engineCapacityCc": 1998,"enginePowerHp": 306,"gearbox": "automatic","transmission": "all-wheel","bodyType": "hatchback","nrSeats": 5,"doorCount": 5,"color": "Biały","colourType": "Metalik","countryOrigin": "pl","damaged": false,"noAccident": false,"isRegistered": true,"isOriginalOwner": true,"hasVin": true,"hasRegistrationDoc": true,"hasServiceRecord": true,"financingAvailable": true,"leasingAvailable": false,"isVintage": false,"isImported": false,"co2Emissions": 121,"combinedConsumption": 5.3,"urbanConsumption": 7.1,"extraUrbanConsumption": 4.4,"city": "Rzeszów","region": "Podkarpackie","sellerName": "Auto Premium Rzeszów","sellerType": "PROFESSIONAL","sellerUrl": "https://www.otomoto.pl/dealer/auto-premium-rzeszow","sellerNumberOfAds": 87,"isHighlighted": false,"isPromoted": false,"bumpDate": null,"equipment": ["Apple CarPlay", "Android Auto", "Interfejs Bluetooth", "Tempomat adaptacyjny"],"imageUrls": ["https://ireland.apollo.olxcdn.com/v1/files/abc-OTOMOTOPL/image;s=1920x1440"],"description": "BMW Service Auto Premium Rzeszów. Service Inclusive - 3 lat / 40,000 km...","scrapedAt": "2026-05-04T10:00:00Z"}
Pricing
$0.99 per 1,000 results — the lowest price for any Otomoto.pl scraper on Apify.
| Results | Cost |
|---|---|
| 1,000 | $0.99 |
| 10,000 | $9.90 |
| 100,000 | $99.00 |
| Full market (240k+) | ~$238 |
With fetchDetails: true, each listing requires an additional page request. Run time increases proportionally; pricing remains the same per result.
Performance
| Mode | Memory | Speed |
|---|---|---|
| Listing-only | 256 MB | ~180–240 results/min |
With fetchDetails | 256 MB | ~50–80 results/min |
Otomoto.pl serves 32 listings per page. A full market scrape at default settings takes approximately 20–30 hours.