OLX.pl Used Car Listings by Make & Fuel Type
Pricing
from $0.49 / 1,000 results
OLX.pl Used Car Listings by Make & Fuel Type
Search olx.pl for used cars in Poland by keyword, fuel type, gearbox, condition, year, and price range. Get make, model, year, price in PLN, mileage, location, and photos per listing.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
vexaloom-labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Features
Share
OLX.pl is Poland's biggest classifieds marketplace. This actor pulls used-car listings from its passenger-car section and returns one structured row per offer, either by searching with vehicle filters or by reading listing pages you paste in.
Two ways to run it
- Search listings — combine a keyword with make, model, fuel, gearbox, condition, body, colour, drive, country of origin, seller type, region, year, price, mileage and engine-size/power ranges. Sort by newest, price or relevance.
- Read listing URLs — paste olx.pl listing links or numeric OLX listing IDs. The actor reads each listing page (or resolves the ID through OLX's search API) and returns the same row shape.
No account, cookie, login, API key or proxy setup is needed.
What you get per listing
| Field | Type | Meaning |
|---|---|---|
listingId | string | OLX offer ID |
title | string | Listing headline |
slug | string | URL slug of the offer |
listingUrl | string | Absolute olx.pl link |
make | string | Manufacturer, mapped from OLX's car category |
model | string | Model as listed (e.g. Corolla, Octavia, C Klasa) |
year | integer | Model/production year |
pricePln | integer | Asking price in Polish zloty |
currency | string | Price currency (PLN on olx.pl) |
priceNegotiable | boolean | Present when the seller accepts negotiation |
mileage | string | Odometer as OLX displays it (e.g. "245 000 km") |
mileageKm | integer | Odometer in kilometres |
fuelType / fuelTypeCode | string | Display name and OLX key (petrol, diesel, lpg, cng, electric, plugin-hybrid) |
gearbox / gearboxCode | string | Display name and OLX key (manual, automatic) |
engineSize / engineSizeCc | string / integer | Displacement, display value and cm³ |
enginePower / enginePowerHp | string / integer | Power, display value and horsepower |
bodyType / bodyTypeCode | string | Body style |
color / colorCode | string | Exterior colour |
doorCount | string | Door count, when OLX exposes it |
condition / conditionCode | string | Damage condition (notdamaged / damaged) |
drive / driveCode | string | Driven wheels / 4x4 type |
steeringSide / steeringSideCode | string | Left- or right-hand drive |
countryOrigin / countryOriginCode | string | Declared import country |
vin | string | VIN, when the seller publishes it |
city, region, district | string | Seller location |
latitude, longitude | number | Offer map coordinates |
sellerId, sellerName | string | Seller identity |
sellerType | string | OLX seller type when present |
sellerCreatedAt, sellerLastSeenAt | string | Account timestamps |
sellerIsOnline | boolean | Present when the seller is online |
isBusiness | boolean | Business/dealer listing |
isPromoted, isHighlighted, isUrgent | boolean | OLX promotion flags |
phoneAvailable, chatAvailable | boolean | Contact options offered by OLX |
shopSubdomain | string | Dealer shop subdomain |
listingStatus | string | OLX offer status (usually active) |
description | string | Full description with HTML removed |
imageUrl | string | Primary photo URL; search/ID rows are sized 1000x700, listing-page rows keep OLX's size |
photoUrls | array | Up to 20 photo URLs |
createdAt, refreshedAt, validToAt | string | Offer timestamps |
recordType | string | Always carListing |
dataSource | string | search or details |
scrapedAt | string | UTC scrape timestamp |
Fields OLX does not publish for a particular car are omitted, never returned as null or an empty string.
Inputs
| Field | Type | Default | Notes |
|---|---|---|---|
mode | select | search | search or details |
listingUrls | array | – | Details mode: olx.pl links or numeric IDs |
query | string | – | Free-text keywords |
make | select | any | 113 OLX car makes |
model | string | – | Model name; matched to OLX's model list for the chosen make |
fuelType | select | any | petrol, diesel, lpg, cng, electric, plugin-hybrid |
transmission | select | any | manual, automatic |
condition | select | any | not damaged, damaged |
bodyType | select | any | 10 OLX body styles |
color | select | any | 10 OLX colours |
drive | select | any | front, rear or three 4x4 types |
countryOrigin | select | any | 38 import countries |
steeringSide | select | any | left or right |
ownerType | select | any | private or business |
region | select | all Poland | 16 voivodeships |
minYear, maxYear | integer | – | 1900–2030 |
minPrice, maxPrice | integer | – | PLN |
minMileage, maxMileage | integer | – | kilometres |
minEngineSize, maxEngineSize | integer | – | cm³ |
minEnginePower, maxEnginePower | integer | – | hp |
sortBy | select | created_at:desc | relevance, newest (last refresh), cheapest, most expensive |
includePromoted | boolean | true | Set false to drop top/promoted ads |
maxItems | integer | 20 | 1–5,000 unique listings |
Inverted ranges (a minimum above the maximum) are swapped automatically.
Examples
Diesel automatic Toyotas, 2015–2020, in Mazowieckie, cheapest first:
{"mode": "search","make": "toyota","fuelType": "diesel","transmission": "automatic","minYear": 2015,"maxYear": 2020,"region": "mazowieckie","sortBy": "filter_float_price:asc","maxItems": 100}
Electric cars under 80,000 PLN:
{"mode": "search","fuelType": "electric","maxPrice": 80000,"maxItems": 50}
Read two specific offers (one URL, one numeric ID):
{"mode": "details","listingUrls": ["https://www.olx.pl/d/oferta/suzuki-swift-1-3-benzyna-CID5-ID1absuK.html","1104626015"]}
How pagination works
OLX returns at most 1,000 listings for a single search query. When maxItems is above that, the actor does not give up: it splits the search into narrower year ranges, then price ranges, until each slice fits inside OLX's window, and de-duplicates the rows by listing ID. This reaches up to 5,000 unique listings. If a single year-and-price slice still exceeds 1,000, the run says so in its status message; add another filter to narrow that slice.
Data source and scope
The actor reads OLX's public search JSON (/api/v1/offers/) and the server-rendered listing pages. It is limited to the olx.pl passenger-car category; other OLX countries and non-car categories are out of scope. It is an independent tool, not affiliated with OLX Group.
FAQ
Do I need cookies, an account or an API key? No. Every field comes from public OLX pages and requires no login.
Why is a field missing on some rows? Sellers do not fill every attribute. OLX also hides the VIN on many offers. Missing values are omitted.
What does "condition" mean?
OLX reports whether a car is damaged or not damaged. The legacy values used and new are still accepted and map to notdamaged.
Will my old task inputs still work?
Yes. gearbox maps to transmission, fuelType: hybrid maps to OLX's CNG/hybrid key, condition: used|new maps to not damaged, urls/startUrls open details mode, and sort maps to sortBy.
Are promoted ads included?
Yes by default, and they are flagged with isPromoted. OLX inserts promoted ads into result slots, so they count toward maxItems and can appear in any sort order. Set includePromoted to false for organic-only, strictly sorted results.
How is "newest first" ordered?
OLX ranks bumped/refreshed offers, so created_at:desc returns the most recently refreshed listings first. refreshedAt is that refresh time; createdAt is the original creation date.
Can I combine filters? Yes — every vehicle filter, range, region and sort order can be combined in one run.
Are prices always PLN?
Listings on olx.pl are priced in PLN; currency confirms the value on each row.
Why did a run return fewer rows than I asked for? Either OLX had no more matches, or a single year-and-price slice hit OLX's 1,000-result ceiling. The status message says which case applied.