Otomoto.pl Scraper
Pricing
from $1.00 / 1,000 results
Otomoto.pl Scraper
Extract car listings from Otomoto.pl instantly. Scrape prices, specifications, photos & seller details automatically. Perfect for dealers, price monitoring, market analysis & lead generation in Poland's top automotive marketplace.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(4)
Developer
Shahid Irfan
Maintained by CommunityActor stats
3
Bookmarked
17
Total users
3
Monthly active users
16 days ago
Last modified
Categories
Share
What does Otomoto.pl Cars Scraper do?
Otomoto.pl Cars Scraper collects public car listings from Otomoto.pl and saves them as structured records in an Apify dataset. Enter the main Otomoto passenger-car page, a filtered search URL, or an optional text query, then choose how many listings and pages to collect. The output includes vehicle listing details, PLN prices, locations, seller information, photos, category data, and direct listing URLs.
This Otomoto.pl scraper is useful for dealers, vehicle buyers, resellers, analysts, and data teams that need repeatable car-market research in Poland. Use it to compare asking prices, monitor inventory, find sellers, build vehicle datasets, or send fresh listing records into a reporting and automation workflow.
Why use Otomoto.pl Cars Scraper?
- Create structured vehicle datasets - Collect consistent listing records instead of copying car details manually from search pages.
- Track Polish car prices - Compare gross and net price values, negotiability, vehicle categories, and listing locations across runs.
- Research local inventory - Start with an Otomoto URL containing the filters you need, such as a make, model, price range, or location.
- Support lead generation - Use seller names, seller types, phone numbers when published, and listing URLs for vehicle sourcing and dealership workflows.
- Monitor changes over time - Schedule repeat runs in Apify to compare new listings, updated listings, prices, and seller activity.
- Connect the results to other tools - Export the dataset as JSON, CSV, Excel, or XML, or retrieve it through the Apify API and webhooks.
What data can you extract from Otomoto.pl?
Each saved item represents one Otomoto listing. Fields are included when Otomoto.pl publishes the corresponding value.
| Field | Type | Description |
|---|---|---|
id | String | Unique Otomoto listing identifier. |
title | String | Listing title with the vehicle name and description highlights. |
description | String | Full or partial listing description when available. |
url | String | Direct URL to the vehicle listing. |
offerType | String | Offer classification, such as a business or private offer. |
createdAt | String | ISO timestamp for when the listing was published. |
updatedAt | String | ISO timestamp for the latest listing update. |
photos | Array | Available photo URLs for the vehicle. |
priceCurrency | String | Currency code, normally PLN for Otomoto listings. |
priceGrossMinor | Number | Gross price in minor currency units. For PLN, 2300000 represents PLN 23,000. |
priceNetMinor | Number | Net price in minor currency units when published. |
priceIsNet | Boolean | Indicates whether the listed price is marked as net. |
priceIsNegotiable | Boolean | Indicates whether the seller marks the price as negotiable. |
locationName | String | Human-readable listing location. |
cityCode | String | Otomoto city slug or code. |
cityId | String | Otomoto city identifier. |
regionId | String | Otomoto region identifier. |
districtId | String | Otomoto district identifier when available. |
categoryId | Number | Numeric Otomoto category identifier. |
categoryName | String | Category name, such as Osobowe. |
sellerId | String | Seller identifier. |
sellerName | String | Seller or dealership display name. |
sellerType | String | Seller classification when provided. |
sellerPhones | Array | Seller phone numbers when publicly published. |
sellerLogoId | String | Seller logo identifier when available. |
sellerLogoUrl | String | Seller logo URL when available. |
sourceUrl | String | Otomoto URL used to start the run. |
How to scrape Otomoto.pl car listings
- Open Otomoto.pl and create the passenger-car search you need.
- Copy the public search URL, including any filters you want to preserve.
- Paste the URL into
startUrl, or use the defaulthttps://www.otomoto.pl/osobowepage. - Optionally enter a make, model, fuel type, or other text in
query. - Set
results_wantedandmax_pages, then run the Actor. - Review the dataset preview and download the results or connect them to your workflow.
The Actor follows the search scope represented by the Otomoto URL. URL-based filters are useful when you need more specific criteria than a text query alone can provide.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | https://www.otomoto.pl/osobowe | Public Otomoto listing or search URL. Filters in the URL are used for the collection. |
query | String | No | "" | Optional free-text search, such as bmw, audi a4, or diesel. |
results_wanted | Integer | No | 20 | Maximum number of listings to save. Minimum value is 1, and the Actor supports up to 5000. |
max_pages | Integer | No | 20 | Maximum number of result pages to process. Minimum value is 1. |
proxyConfiguration | Object | No | { "useApifyProxy": false } | Optional Apify Proxy settings for larger or repeated runs. |
Output Data
The dataset contains one JSON record per collected listing. Empty values are left out when the source does not provide them.
| Field | Type | Description |
|---|---|---|
id | String | Listing identifier. |
title | String | Vehicle listing title. |
description | String | Listing description when available. |
url | String | Direct listing page URL. |
offerType | String | Listing offer type. |
createdAt | String | Publication timestamp. |
updatedAt | String | Last-update timestamp. |
photos | Array | Vehicle photo URLs. |
priceCurrency | String | Price currency code. |
priceGrossMinor | Number | Gross price in minor units. |
priceNetMinor | Number | Net price in minor units when available. |
priceIsNet | Boolean | Whether the price is net. |
priceIsNegotiable | Boolean | Whether the price is negotiable. |
locationName | String | Listing location label. |
cityCode | String | City code or slug. |
cityId | String | City identifier. |
regionId | String | Region identifier. |
districtId | String | District identifier when available. |
categoryId | Number | Category identifier. |
categoryName | String | Category name. |
sellerId | String | Seller identifier. |
sellerName | String | Seller name. |
sellerType | String | Seller type. |
sellerPhones | Array | Seller phone numbers when available. |
sellerLogoId | String | Seller logo identifier when available. |
sellerLogoUrl | String | Seller logo URL when available. |
sourceUrl | String | Input URL used for the run. |
Usage Examples
Basic Otomoto collection
Collect the first 20 passenger-car listings from the default Otomoto category page.
{"startUrl": "https://www.otomoto.pl/osobowe","results_wanted": 20}
Search by make or model
Use query to focus a run on a free-text vehicle search and collect up to 50 listings.
{"startUrl": "https://www.otomoto.pl/osobowe","query": "bmw","results_wanted": 50,"max_pages": 10}
Filtered price search URL
Start from an Otomoto search URL containing a price filter and use a smaller page limit for a focused collection.
{"startUrl": "https://www.otomoto.pl/osobowe?search%5Bfilter_float_price:from%5D=50000","results_wanted": 40,"max_pages": 8}
Sample Output
The following example shows one realistic dataset item. Price values use minor currency units, so 2300000 equals PLN 23,000.
{"id": "6146143723","title": "Seat Ibiza 1.4 16V Reference Salsa","description": "Used Seat Ibiza with air conditioning and heated seats.","url": "https://www.otomoto.pl/osobowe/oferta/seat-ibiza-polift-1-4-mpi-klimatyzacja-ele-szyby-podgrz-fotele-ID6HVAKn.html","offerType": "BUSINESS","createdAt": "2026-03-09T14:37:27Z","updatedAt": "2026-03-24T14:37:14Z","photos": ["https://ireland.apollo.olxcdn.com/v1/files/example/image-1","https://ireland.apollo.olxcdn.com/v1/files/example/image-2"],"priceCurrency": "PLN","priceGrossMinor": 2300000,"priceNetMinor": 1869919,"priceIsNet": false,"priceIsNegotiable": false,"locationName": "Cieszyn, cieszyński, Śląskie","cityCode": "cieszyn","cityId": "4541","regionId": "6","categoryId": 29,"categoryName": "Osobowe","sellerId": "16323143","sellerName": "KOMIS SAMOCHODOWY CIESZYN WILCARS KACPER & RAFAŁ","sellerType": "ProfessionalSeller","sellerPhones": ["+48 000 000 000"],"sourceUrl": "https://www.otomoto.pl/osobowe"}
Tips for best results
- Start with a small limit - Use
results_wanted: 20while checking that the URL and filters return the vehicles you expect. - Use a focused Otomoto URL - Build the search on Otomoto first when you need price, category, location, or other listing filters.
- Use
queryfor broad text searches - Enter a make, model, fuel type, or keyword when a simple text match is enough. - Control run size - Keep
max_pagesconservative for initial tests, then increase it for larger datasets. - Review price units - Convert
priceGrossMinorandpriceNetMinorinto PLN before displaying or comparing prices in a dashboard. - Expect optional fields - Photos, phone numbers, net prices, and seller details may be absent when a listing does not publish them.
- Schedule stable searches - Save a filtered
startUrland run the Actor regularly when you need inventory or price snapshots. - Report source changes - Public search pages and listing fields can change. Include the affected Otomoto URL when reporting an issue through the Actor page.
Integrations and exports
- Google Sheets - Export listings for price comparisons, market reports, and team review.
- Airtable - Build a searchable vehicle inventory with seller and location fields.
- Webhooks - Send completed run events to alerting or data-processing systems.
- Make or Zapier - Add new listings to no-code workflows.
- Apify API - Retrieve dataset records programmatically for dashboards, databases, and internal applications.
- JSON, CSV, Excel, and XML - Download the dataset in formats suited to automation, analysis, reporting, or data exchange.
Frequently Asked Questions
Can I export Otomoto.pl data to CSV or Excel?
Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats after the run completes.
Can I use a specific Otomoto.pl search URL?
Yes. Set startUrl to a public Otomoto listing or search URL. Filters present in the URL are used to define the search scope.
Can I search for a specific make or model?
Yes. Put a make, model, fuel type, or other text in query, or create a filtered Otomoto search URL and pass it through startUrl.
How many listings can I collect?
You can request up to 5000 listings per run through results_wanted, subject to the available results and the max_pages limit. Start with a smaller value while testing.
Why are some fields missing?
Otomoto listings do not all publish the same details. Missing photos, phone numbers, prices, or seller fields normally mean that the source listing did not provide that value.
Can I run this Actor on a schedule?
Yes. Create an Apify schedule to refresh a saved Otomoto search hourly, daily, weekly, or at another interval that suits your monitoring workflow.
Is this Actor suitable for non-technical users?
Yes. Paste an Otomoto URL into the Apify input form, choose a result limit, run the Actor, and download the completed dataset without writing code.
Is it legal to scrape Otomoto.pl?
Collecting public web data may be lawful, but you are responsible for complying with applicable laws, Otomoto.pl terms, privacy obligations, and any restrictions that apply to your use of the data.
Related Actors
- Cars.com Scraper - Collect vehicle listings, prices, mileage, dealer information, and images from Cars.com.
- Autotrader.ca Scraper 🚙 - Collect vehicle listings and automotive marketplace data from Autotrader.ca.
- Cinch.co.uk Vehicle Scraper - Collect used-car listings, prices, mileage, images, and dealer details from Cinch.co.uk.
Support
For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify. When reporting a problem, include the input URL, relevant settings, and a sample listing URL when possible.
Legal Notice
This Actor is intended for legitimate collection of publicly available vehicle-listing data. Users are responsible for complying with applicable laws, Otomoto.pl terms, privacy requirements, and responsible data-use practices when collecting, storing, sharing, or using the results.