Otomoto.pl Scraper: Polish Car Listings & Prices
Pricing
from $1.00 / 1,000 results
Otomoto.pl Scraper: Polish Car Listings & Prices
Scrape Otomoto.pl passenger car listings by keyword, make and model: price, make, model, year, mileage, fuel, gearbox, engine power and capacity, region and town, seller type, dealer name when listed and the site's price evaluation. Filter by price and year. Unofficial.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
reventadata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Features
Share
Otomoto Scraper
Unofficial. This Actor is not affiliated with, authorised by, endorsed by, or in any way officially connected to Otomoto. "Otomoto" is a trademark of its respective owner and is used here only to describe what this tool reads. It reads the same public pages a browser does.
Otomoto Scraper searches Otomoto.pl, Poland's car marketplace, for
passenger cars by make and model (search terms such as golf or seria 3 are matched to the site's makes and models), and returns each listing with price, make, model,
version, year, mileage, fuel, gearbox, engine power and capacity, town and voivodeship, seller type
and, for dealers, the dealer's name and website.
What data can you extract from Otomoto?
The results Otomoto itself returns for your search, up to your row and page caps, with the vehicle specs as structured fields
rather than text: year, mileageKm, enginePowerHp (horsepower, the KM Otomoto shows) and
engineCapacityCm3 are numbers. Otomoto's own signals come through too: its price indicator
(priceEvaluation), a price drop with the previous price when the listing has one, gross or net price with its badges,
and the CEPIK-verified flag. The Actor reads public search pages directly, so it needs no browser.
Why scrape Otomoto?
- Cars by make and model. Search terms are matched to Otomoto's makes and models:
golfis the Volkswagen Golf,seria 3the BMW 3 Series,bmwevery BMW. You fetch only that make or model. - No proxy required by default. Direct connection by default; proxy settings are available if needed.
- Filters run on Otomoto's side. Price, production year, private sellers and electric fuel are sent to Otomoto, so a narrow search fetches only what matches.
- Newest first by default. With Recommended order Otomoto repeated listings between pages (25 pages gave 819 listings, 673 distinct); the Actor drops repeated ids either way.
- Dealer or private.
sellerTypesays which; dealer rows carry the public dealer name.
How to scrape Otomoto
- Put search terms in
searchQueries(a make, a model, or both:golf,bmw,volkswagen passat), or leave it empty and give amake(andmodel). - Optionally set a price range, years, fuel or seller type.
- Run it. Results land in the dataset.
Input
| Field | Type | Meaning |
|---|---|---|
searchQueries | array | Optional. One search per term, matched to Otomoto's makes and models (for example golf, seria 3, bmw). A term that names no make or model is skipped; if none does, the run fails with examples. Empty browses all passenger cars. |
make | string | Optional make slug as in Otomoto URLs: bmw, volkswagen, mercedes-benz. |
model | string | Optional, needs a make: seria-3. |
minPrice / maxPrice | integer | Optional, PLN. |
minYear / maxYear | integer | Optional production-year range. |
fuelType | string | any or electric. |
sellerType | string | any, private, or professional (dealers; applied to the rows after fetching). |
sortBy | string | newest (default), priceAsc, priceDesc, relevance. |
requireKeywordMatch | boolean | Drops listings missing any search word in title, make, model and version. Default off; search terms already select a make or model. |
maxItems | integer | Cap on rows. Default 1000. |
maxPages | integer | Pages per search, 32 listings each plus one pinned. Default 50. |
proxyConfiguration | object | Off by default. |
{"searchQueries": ["golf"],"maxPrice": 60000,"minYear": 2018,"maxItems": 200}
Output
One row, from a platform run on 2026-11-11 (keyword golf; the description is shortened). A field the listing does not give is null, for example priceDropPercent and priceDropLowestPrice (empty in all 10 rows of that run):
{"id": "6151637721","url": "https://www.otomoto.pl/osobowe/oferta/hyundai-elantra-ID6IjDZf.html","title": "Hyundai Elantra 1.6 Smart","description": "Hyundai Elantra 1,6-123 KM Polski salon I właściciel","price": 66900,"currency": "PLN","priceIsGross": true,"priceBadges": ["INVOICE_ISSUED"],"priceEvaluation": "IN","priceDropPercent": null,"priceDropLowestPrice": null,"make": "Hyundai","model": "Elantra","version": "1.6 Smart","year": 2021,"mileageKm": 91000,"fuelType": "Benzyna","gearbox": "Manualna","enginePowerHp": 123,"engineCapacityCm3": 1598,"countryOrigin": "Polska","city": "Jaworzno","region": "Śląskie","postedAt": "2026-11-11T06:32:53Z","imageUrl": "https://ireland.apollo.olxcdn.com/v1/files/ul714nl1jb551-OTOMOTOPL/image;s=640x480","sellerType": "professional","dealerName": "AUTO CHUDOBA.PL","dealerUrl": "https://autochudoba.otomoto.pl","badges": null,"originAdId": null,"cepikVerified": false,"isPromotedTopAd": false,"categoryId": "29","matchedKeyword": "golf"}
Notes and limits
- No phone numbers or e-mails. The search pages carry none. Only the public dealer name and website are returned; private sellers have no name in the data.
sellerTypehas three values.crosslistedmarks an ad that Otomoto shows from OLX; the data does not say who sells it, andoriginAdIdis the OLX ad id.- One pinned listing per page. Otomoto adds one promoted listing to every results page;
isPromotedTopAdmarks it. A listing is returned once per run. descriptionis the short text shown in search results, often empty.- Search terms are makes and models, not free text. A word that is neither (a trim such as
gti, a nickname such asvw) matches nothing; use the make and model, then readversionin the rows. A model name that several makes use (mini) searches each. - Passenger cars only. Other Otomoto categories are not covered.
- Fuel filter offers electric only; every row carries
fuelType, so filter other fuels in the output. - A run that returns zero rows fails when a page could not be read, and succeeds with a message when Otomoto answered and nothing matched.
How much does it cost to scrape Otomoto?
Pay-per-event: you pay per result written to the dataset, with no subscription. The current price is on the Actor's Pricing tab.
FAQ
Is a proxy required? No proxy is required by default. An optional proxy setting is available.
Privacy & Compliance
This Actor reads only publicly accessible pages and returns the public data they show. It sends no login.