Otomoto.pl Car Listings Scraper avatar

Otomoto.pl Car Listings Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Otomoto.pl Car Listings Scraper

Otomoto.pl Car Listings Scraper

[💰 $4 / 1K] Extract car listings from Otomoto.pl, Poland's largest auto marketplace — price, make, model, year, mileage, fuel, gearbox, specs, equipment, seller phone, location & photos. Search by make/model, price, year, mileage, fuel, body type & region, or paste any Otomoto URL.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

2 days ago

Last modified

Share

Pull car and vehicle listings from Otomoto.pl — Poland's largest automotive marketplace — at scale: prices with Otomoto's price-rating badge, full specifications, equipment lists, every gallery photo, seller details, CEPiK verification, and map coordinates for each listing. Build a search from plain filters or paste any Otomoto URL — no hand-crafted links required. Built for car dealers, market analysts, valuation teams, and lead-generation specialists who need fresh Polish used-car data without browsing thousands of listings by hand.

Why This Scraper?

  • Search by plain filters, not raw URLs — pick make, model, condition, fuel, body, gearbox, seller type, region, and price/year/mileage ranges; the actor builds the Otomoto search for you, so non-technical users never touch a search link.
  • 16 Polish voivodeship region filters — narrow to Mazowieckie, Śląskie, Małopolskie, or any of the 16 regions to target a specific local market.
  • 8 fuel types including LPG, CNG, electric, plug-in hybrid, and hydrogen — go far beyond petrol/diesel to isolate alternative-fuel and EV inventory.
  • 10 body-type filters — sedan, hatchback, estate (kombi), SUV, coupe, convertible, minivan, compact, pickup, and city car.
  • 16 vehicle spec fields per listing — engine capacity (cc), power (HP), gearbox, drivetrain, doors, seats, colour, trim name, plus VIN on about 9 in 10 cars and the Polish first-registration date on about 4 in 10.
  • Seller phone numbers on ~98% of dealer listings — plus dealer name, private-vs-dealer type, and a seller ID that groups every car from the same dealer, when contact collection is enabled.
  • Every gallery photo at full resolution — the complete image URL set per listing plus an image count and thumbnail, not just the cover shot.
  • CEPiK verification flag and geo coordinates — each row carries the official Polish vehicle-registry verification status plus latitude/longitude for mapping and territory analysis.
  • Otomoto's own BELOW/IN/ABOVE market badge, plus 5 sort orders — see how Otomoto rates each asking price against the market, and order results by price, year, mileage, or most recently listed.

Use Cases

Dealer Market Research

  • Track competing dealer inventory by make, model, and region
  • Benchmark your asking prices against live market listings
  • Spot pricing gaps using Otomoto's price-rating badge
  • Monitor how fast specific models turn over in a voivodeship

Price Analysis & Valuation

  • Build used-car valuation models from real listing prices, mileage, and year
  • Compare petrol vs. diesel vs. EV pricing across the same model
  • Analyze depreciation curves by first-registration date and mileage
  • Feed live PLN pricing into appraisal and trade-in tools

Lead Generation

  • Collect dealer and private-seller contact details for outreach
  • Identify dealers carrying high-value or in-demand inventory
  • Build targeted seller lists filtered by region and brand
  • Find listings without CEPiK verification to offer inspection services

Inventory Sourcing & Arbitrage

  • Find underpriced cars flagged with a favorable price rating
  • Source specific trims, fuel types, or body styles for buyers
  • Track newly listed vehicles by sorting on most recently listed
  • Locate damaged-condition cars for repair-and-resell operations

Automotive Research

  • Study EV and hybrid adoption across Polish regions
  • Map the fuel-type mix of the Polish used-car market
  • Analyze feature and equipment trends by segment
  • Track seasonal supply and pricing shifts over time

Getting Started

Search by Make

The simplest run — every listing for a single brand:

{
"make": "bmw",
"maxResults": 100
}

Combine structured filters to target an exact segment:

{
"make": "audi",
"model": "a4-avant",
"condition": "used",
"fuelType": ["diesel"],
"bodyType": ["estate"],
"gearbox": "automatic",
"region": "mazowieckie",
"priceMin": 40000,
"priceMax": 90000,
"yearMin": 2017,
"mileageMax": 150000,
"sortBy": "priceAsc",
"maxResults": 500
}

Paste an Otomoto URL

Already have a saved search? Paste the URL and the filters above are ignored:

{
"startUrls": [
"https://www.otomoto.pl/osobowe/volkswagen/golf",
"https://www.otomoto.pl/osobowe/oferta/toyota-corolla-ID6H4abc.html"
],
"includeSellerContacts": true,
"maxResults": 200
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
startUrlsstring[][]Paste one or more Otomoto URLs — a search results page, a brand/category page, or an individual listing. When provided, the search filters below are ignored.

Search Filters

ParameterTypeDefaultDescription
makestring""Car brand, e.g. "bmw", "audi", "volkswagen". Leave empty for all makes.
modelstring""Exact Otomoto model slug for the chosen make, e.g. "seria-3" (BMW), "golf" (VW), "a4-avant" (Audi). Leave empty for all models; an unrecognized slug returns all listings for the make.
keywordstring""Optional free-text term (best effort). For dependable filtering, use make, model, and the structured filters.
conditionselectAnyAny, New, Used, or Damaged.
fuelTypestring[][]One or more of Petrol, Diesel, LPG, Hybrid, Plug-in Hybrid, Electric, CNG, Hydrogen. Empty = all.
bodyTypestring[][]One or more of Sedan, Hatchback, Estate, SUV, Coupe, Convertible, Minivan, Compact, Pickup, City car. Empty = all.
gearboxselectAnyAny, Manual, or Automatic.
sellerTypeselectAnyAny, Private seller, or Dealer / business.
regionselectAny regionLimit to one of 16 Polish voivodeships, or search all of Poland.

Price, Year & Mileage

ParameterTypeDefaultDescription
priceMinintegernullLowest price in PLN. Leave empty for no lower bound.
priceMaxintegernullHighest price in PLN. Leave empty for no upper bound.
yearMinintegernullEarliest production year (e.g. 2015).
yearMaxintegernullLatest production year.
mileageMaxintegernullMaximum mileage in kilometres.

Output Options

ParameterTypeDefaultDescription
sortByselectRelevanceRelevance, Price (low/high), Year (newest first), Mileage (low to high), or Recently listed.
includeListingDetailsbooleantrueEnrich each result from its full listing page (complete specs, equipment, all photos, seller location, description). Disable for a faster, lighter run.
includeSellerContactsbooleanfalseAlso collect the listing's seller phone number. Slower, because each listing page is opened.
maxResultsinteger100Exact number of listings to return across all searches and URLs — ask for 100 and you get 100, never more. Set to 0 for unlimited (capped at roughly 160,000 per search as a safety limit).

Output

Each listing is one flat row in the dataset. Here's a real result from a recent run, with full details and seller contacts enabled:

{
"listingId": "6150499017",
"url": "https://www.otomoto.pl/osobowe/oferta/mercedes-benz-klasa-e-ID6IeRL3.html",
"title": "Mercedes-Benz Klasa E 300de 9G-TRONIC AMG Line NIGHT Edition",
"price": 174700,
"priceCurrency": "PLN",
"priceEvaluation": "BELOW",
"make": "mercedes-benz",
"model": "klasa-e",
"version": "300de 9G-TRONIC AMG Line NIGHT Edition",
"year": 2024,
"mileage": 166000,
"fuelType": "plugin-hybrid",
"gearbox": "automatic",
"transmission": "rear-wheel",
"engineCapacity": 1993,
"enginePower": 313,
"bodyType": "sedan",
"color": "grey",
"doorCount": 4,
"seatCount": 5,
"condition": "Used",
"vin": "W1KLH0JB0RA028383",
"firstRegistration": "2024-09-03",
"sellerName": "Daw-Trans",
"sellerType": "Dealer",
"sellerId": "18421165",
"sellerPhone": "691 865 012",
"city": "Włocławek",
"region": "Kujawsko-pomorskie",
"latitude": 52.65975,
"longitude": 19.07799,
"imageUrls": [
"https://ireland.apollo.olxcdn.com/v1/files/eyJhbGciOiJIUzI1NiIsInR5…/image",
"https://ireland.apollo.olxcdn.com/v1/files/eyJmbiI6IjQ5Nm9oN29kOHNu…/image"
],
"imageCount": 40,
"thumbnailUrl": "https://ireland.apollo.olxcdn.com/v1/files/s1i32hlkcuks-OTOMOTOPL/image;s=640x480",
"features": [
"Apple CarPlay",
"Android Auto",
"Interfejs Bluetooth",
"Klimatyzacja automatyczna: dwustrefowa",
"Tapicerka skórzana",
"Kamera cofania"
],
"isPromoted": false,
"isHighlighted": false,
"cepikVerified": false,
"description": "Mercedes W214 E300DE 313PS\nSilnik diesel 197 km + silnik elektryczny 116 km o zasięgu do 100 km\nLampy DIGITAL LED Matrix\nZawieszenie pneumatyczne…",
"createdAt": "2026-09-10T16:17:23Z",
"sourceUrl": "https://www.otomoto.pl/osobowe?search%5Bprivate_business%5D=business",
"scrapedAt": "2026-09-10T21:45:10.320796+00:00"
}

Long arrays and text are shortened above for readability — this listing actually carries 40 photo URLs and 63 equipment entries, and the full description text.

A note on value formats. Vehicle attributes come through in Otomoto's own vocabulary, which is deliberate and useful:

  • make, model, fuelType, gearbox, transmission, bodyType and color are lowercase Otomoto keys — mercedes-benz, klasa-e, plugin-hybrid, automatic, rear-wheel, sedan, grey. The make and model values paste straight back into this actor's own make and model inputs, so you can chain a broad sweep into targeted follow-up runs without any lookup table.
  • condition, sellerType, city and region come through capitalised and ready to read — Used, Dealer, Włocławek, Kujawsko-pomorskie.
  • features and description are the seller's own Polish text, exactly as published on Otomoto.

Core Fields

FieldTypeDescription
listingIdstringOtomoto listing identifier (stable deduplication key)
urlstringCanonical listing URL
titlestringListing headline as shown on Otomoto
pricenumberNumeric price
priceCurrencystringCurrency — PLN on every listing
priceEvaluationstringOtomoto's price-rating badge: BELOW, IN or ABOVE market. Around 6 in 10 listings carry a rating; empty when Otomoto has not rated the listing
conditionstringUsed, New or Damaged. Left empty when the listing itself states no condition — this happens on a small share of cars cross-posted from OLX, and an empty value is more honest than a guess
createdAtstringWhen the listing was published or last refreshed, e.g. 2026-09-10T16:17:23Z
sourceUrlstringThe search or listing URL this row was discovered from
scrapedAtstringTimestamp of extraction, e.g. 2026-09-10T21:45:10.320796+00:00

Vehicle Specs

FieldTypeDescription
makestringOtomoto brand key, lowercase — bmw, audi, mercedes-benz. Pastes straight back into the make input
modelstringOtomoto model key, lowercase — x3, klasa-e, a4-limousine. Pastes straight back into the model input
versionstringTrim as the seller wrote it — M340i xDrive, 300de 9G-TRONIC AMG Line NIGHT Edition. Present on roughly 7 in 10 listings
yearintegerProduction year
mileageintegerMileage in kilometres
fuelTypestringpetrol, diesel, hybrid, plugin-hybrid, electric, petrol-lpg. Note that LPG cars come back as petrol-lpg while the matching input value is lpg
gearboxstringmanual or automatic
transmissionstringDrivetrain — front-wheel, rear-wheel, all-wheel-permanent, all-wheel-auto, all-wheel-lock. Present on roughly 9 in 10 listings
engineCapacityintegerEngine displacement in cc (empty on most electric cars)
enginePowerintegerPower in HP
bodyTypestringsedan, combi, suv, compact, minivan, coupe, cabrio, city-car, mini. Otomoto's own wording differs from the input names in two places: an estate comes back as combi and a convertible as cabrio
colorstringExterior colour — black, grey, white, silver, navy-blue, and so on
doorCountintegerNumber of doors
seatCountintegerNumber of seats, when the seller stated it (roughly 9 in 10 listings)
vinstringVIN, when the seller published it (roughly 9 in 10 listings)
firstRegistrationstringFirst registration date as YYYY-MM-DD, e.g. 2024-09-03. Around 4 in 10 listings carry one — older and imported cars usually do, brand-new and electric stock often does not

Seller & Location

FieldTypeDescription
sellerNamestringSeller / dealer name
sellerTypestringPrivate or Dealer
sellerIdstringSeller identifier — groups every listing from the same dealer
sellerPhonestringPhone number, filled on about 98% of listings when seller contacts are enabled (empty otherwise)
citystringPolish city name, e.g. Warszawa
regionstringVoivodeship, e.g. Mazowieckie
latitudenumberLatitude
longitudenumberLongitude

Media & Signals

FieldTypeDescription
imageUrlsstring[]Full-resolution gallery image URLs — the complete set, often 20–40 per listing
imageCountintegerNumber of images (always matches the length of imageUrls)
thumbnailUrlstringPrimary thumbnail at 640×480
featuresstring[]Equipment list in the seller's Polish, e.g. ABS, Tempomat, Elektryczne szyby przednie, Kamera cofania
descriptionstringThe seller's own description as plain text with line breaks, no markup (detail mode only)
isPromotedbooleanPromoted / featured listing flag
isHighlightedbooleanHighlighted listing flag
cepikVerifiedbooleanCEPiK (Polish vehicle registry) verification flag

Tips for Best Results

  • Start small — set maxResults to 20–50 on a first run to confirm the data fits your needs, then scale up.
  • Toggle details for speed vs. depth — set includeListingDetails to false for a fast price sweep (search-result fields only); set it to true for full specs, VIN, equipment, all photos, and seller location.
  • Paste a fully-filtered Otomoto search URL to mirror an exact saved search — any filter you applied on the website is preserved, and the structured filters are skipped.
  • Phone numbers require detail mode — enabling includeSellerContacts opens each listing page, so combine it with a tight filter and a modest maxResults to keep runs efficient.
  • Use region to segment by market — running the same make/model across each voivodeship reveals regional pricing differences that a national search hides.
  • Lean on structured filters over keyword — make, model, fuel, body, and the price/year/mileage ranges are exact; the free-text keyword is best-effort and may not narrow results.
  • Chain a broad sweep into targeted runs — the make and model values in the output are the same keys the inputs accept, so you can run one wide search, pick the models that matter (klasa-e, a4-limousine, seria-3), and feed them straight back in without looking anything up.
  • Sort by "Recently listed" to capture fresh inventory first when monitoring a market on a schedule.
  • Expect some gaps on optional fields — VIN, trim name, seat count, price rating and first-registration date depend on what each seller filled in, so filter on them rather than assuming every row has them.

Pricing

From $4.00 per 1,000 results — undercuts comparable Otomoto data tools while delivering richer specs, photos, and verified seller details. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.48$0.45$0.425$0.40
1,000$4.80$4.50$4.25$4.00
10,000$48.00$45.00$42.50$40.00
100,000$480.00$450.00$425.00$400.00

A "result" is any car listing row in the output dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This actor is designed for legitimate market research, valuation, and lead generation. You are responsible for complying with applicable laws and Otomoto.pl's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data (such as seller contact details) in line with GDPR and local privacy regulations.