Otomoto.pl Scraper avatar

Otomoto.pl Scraper

Pricing

from $0.60 / 1,000 results

Go to Apify Store
Otomoto.pl Scraper

Otomoto.pl Scraper

Scrape Otomoto.pl Polish car listings: one run returns used-car rows with price, make, model, year, mileage, fuel, gearbox, seller and URL. Detail mode adds description, photos, equipment, VIN and CEPiK history; monitor mode tracks new, price-changed and removed cars.

Pricing

from $0.60 / 1,000 results

Rating

0.0

(0)

Developer

Redomic

Redomic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 minutes ago

Last modified

Features

Limited permissions

Share

Otomoto.pl Scraper: Polish Car Listings, Prices and Price Drops

Export car listings from Otomoto.pl, Poland's largest car marketplace, to a spreadsheet or an API. Each row is one car: price in PLN, make, model, year, mileage, engine, fuel, gearbox, location and seller. Paste a search URL from otomoto.pl or set a few filters, and the first results arrive in about 30 seconds.

Schedule it in monitor mode and each run returns only the cars that are new, cheaper or gone since the last run.

Who uses it

  • Dealers and importers who want to know what a model sells for in Poland before they buy or price stock.
  • Analysts building price and depreciation data by model, year and mileage.
  • Dealers watching a competitor. Point it at a rival's Otomoto inventory page and get their new stock and price cuts every morning.

What you get

A run with the default input (BMW, detail mode) on 15 November 2026 returned these cars, among others:

CarPrice (PLN)YearMileage (km)FuelPower (hp)CitySeller
BMW Seria 3 330i M Sport Shadow46,999201874,000petrol252Warszawadealer
BMW Seria 5 530e PHEV73,677202354,622plug-in hybrid299Warszawaprivate
BMW X3 xDrive30i Luxury Line97,000202049,597petrol252Bielsk Podlaskiprivate
BMW Seria 7 740i sport54,9002019115,000petrol340Warszawadealer
BMW iX3 40308,650202610,000electric320Bydgoszczdealer

Every row also carries the listing URL, Otomoto's own price rating (below, in or above market), the photos, the full description and the equipment list. When the seller publishes them, you also get the VIN and the CEPiK history: first registration, number of owners, and the accident-free and service-record flags.

You can download the results as CSV, Excel or JSON, or read them through the Apify API.

Three modes

ModeWhat you getGood for
detail (default)Card data plus the offer page: description, photos, equipment, VIN, CEPiK history, the seller's map pinValuations, due diligence, full exports
searchCard data only, fasterLarge price surveys
monitorOnly cars that are new, changed price or disappeared since the last run, with price history and days on marketDaily alerts, competitor tracking

Price

$0.75 per 1,000 cars, in every mode. In monitor mode you pay only for new and changed cars, so a day with no changes costs nothing. A run that returns 100 BMWs with full details costs $0.075.

How to run it

The quickest way: search on otomoto.pl, copy the address from your browser, and paste it into Start URLs. Search pages, single offers and dealer inventory pages all work.

To narrow results by keywords, add query. A run with make: "BMW" and query: "M pakiet" on 15 November 2026 returned only the 3 matching BMW 4 cars from the same search, for example:

CarPrice (PLN)YearMileage (km)FuelGearboxCitySeller
BMW Seria 4 430i GPF xDrive M Sport41,400201884,935petrolautomaticWarszawadealer
BMW Seria 4 420d Coupe Sport Edition48,5002020115,000dieselautomaticWarszawaprivate
BMW Seria 4 430i xDrive Sport41,4002018164,000petrolautomaticChotomówdealer

Or describe the cars with filters:

{
"make": "BMW",
"model": "Seria 3",
"location": "warszawa",
"yearFrom": 2020,
"priceMax": 150000,
"maxItems": 100
}

To track one dealer's stock and price cuts, save this as a task and give it a daily schedule:

{
"startUrls": [{ "url": "https://AUTO21KRKOCMYRZOWSKA.otomoto.pl/inventory" }],
"mode": "monitor",
"maxItems": 200
}

The first run records what the dealer has today and returns it all as new. From the second run on, you get only the changes: new cars, changed prices and removed listings.

Input

FieldDefaultWhat it does
startUrlsnoneOtomoto search, offer or dealer inventory URLs. When set, the filters below are ignored.
modedetaildetail, search or monitor (see above).
categoryosoboweosobowe (cars), dostawcze (vans), ciezarowe (trucks), przyczepy (trailers), maszyny-budowlane (construction) or czesci (parts). English names like cars and vans work too.
make, modelnoneFor example BMW and Seria 3, or Skoda and Octavia.
locationwhole PolandA city or region as it appears in Otomoto URLs: warszawa, krakow, mazowieckie.
radiusKmnoneWith location, keeps cars within this distance.
yearFrom, yearTononeProduction year range.
priceMin, priceMaxnonePrice range in PLN.
mileageMin, mileageMaxnoneMileage range in km.
fuelTypeanypetrol, diesel, electric, hybrid, plugin-hybrid, lpg, cng or hydrogen.
gearboxanymanual or automatic.
bodyTypeanysedan, kombi, suv, compact, coupe, cabrio, minivan or city-car.
sellerTypeanyprivate or business.
sortOtomoto's ordernewest, cheapest, price-asc or price-desc.
onlyPriceDropsfalseReturn only cars Otomoto marks as reduced.
querynoneKeyword filter. Only rows whose title, version, short description or description contain all words from this text are returned. For example M pakiet or faktura VAT.
lat, lngnoneYour location. In detail mode each car gets distanceKm from the seller.
maxItems100The most cars to return, up to 5,000.
includeNoPricefalseAlso return listings without a price.

Output fields

Every row: id, url, title, priceAmount, priceCurrency, priceIsGross, make, model, version, year, mileageKm, fuelType, gearbox, engineCapacityCm3, enginePowerHp, bodyType, city, region, thumbnailUrl, sellerType, sellerId, sellerName (dealers only, never a private seller's name), priceEvaluation, createdAt, daysListed, scrapedAt.

priceEvaluation is Otomoto's own price badge for the listing: below_market, within_market or above_market. It is empty when Otomoto shows no badge.

Detail mode adds: description, photos, equipment, vin, firstRegistrationDate, numberOfOwners, noAccident, serviceRecord, damaged, insuranceValidity, inspectionValidity, condition, conditionLabel, newUsed, driveType, driveTypeLabel, color, colorLabel, colourType, doorCount, nrSeats, lat, lng, distanceKm, sellerInventoryUrl, imageCount, and badges when the listing has them. Run status and the run summary are stored in the key-value store as STATUS and SUMMARY.

Monitor mode adds: changeType (new, changed or removed), previousPriceAmount, priceHistory, firstPrice, lowestPrice, priceDropPct, firstSeenAt, lastSeenAt, daysOnMarket.

Prices are numbers, dates are ISO 8601 in UTC, and the currency is an ISO code, so the data goes into Excel or a database without cleanup.

FAQ

Does Otomoto have an API? Not a public one for searching listings. This Actor reads the same public pages you see in your browser and turns them into rows.

Do I get the seller's phone number? No. You get the seller's name, whether they are a dealer or a private person, and the dealer's Otomoto page. The Actor removes phone numbers and email addresses from descriptions too.

Why is the VIN or the CEPiK history empty on some cars? Many sellers hide the VIN, and Otomoto shows the CEPiK history only for some listings. When Otomoto doesn't show a field, it comes back empty.

Why did I get fewer cars than maxItems? maxItems is an upper limit. You get fewer when the search has fewer matches, and listings without a price are skipped unless you turn on includeNoPrice.

Is scraping Otomoto legal? The Actor reads public pages without logging in and doesn't collect contact details. Check Otomoto's terms and your local law for what you do with the data.

Something looks wrong in my results. Open an issue on the Issues tab with your input. We read every one and usually fix it within a day.

Po polsku

Eksportuj ogłoszenia samochodowe z Otomoto.pl do arkusza: cena, marka, model, rok, przebieg, silnik, lokalizacja i sprzedawca. Wklej adres wyszukiwania albo ustaw filtry. W trybie monitor dostajesz tylko nowe auta, obniżki cen i usunięte ogłoszenia od ostatniego uruchomienia.

Auf Deutsch

Exportiert Autoanzeigen von Otomoto.pl als Tabelle: Preis, Marke, Modell, Baujahr, Kilometerstand, Motor, Standort und Verkäufer. Such-URL einfügen oder Filter setzen. Im Modus monitor bekommen Sie nur neue Autos, Preissenkungen und verschwundene Anzeigen seit dem letzten Lauf.

Use it from AI agents (MCP) and Python

AI agents. Add this Actor as a tool in Claude, Cursor, VS Code or any MCP client through the Apify MCP server. The agent reads the input schema, so a plain request is enough.

{
"mcpServers": {
"otomoto-scraper": {
"url": "https://mcp.apify.com?tools=redomic/otomoto-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Python. pip install apify-client, then:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("redomic/otomoto-scraper").call(run_input={"make": "BMW", "maxItems": 24})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

More from us