Otomoto.pl Scraper avatar

Otomoto.pl Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Otomoto.pl Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

3

Bookmarked

17

Total users

3

Monthly active users

16 days ago

Last modified

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.

FieldTypeDescription
idStringUnique Otomoto listing identifier.
titleStringListing title with the vehicle name and description highlights.
descriptionStringFull or partial listing description when available.
urlStringDirect URL to the vehicle listing.
offerTypeStringOffer classification, such as a business or private offer.
createdAtStringISO timestamp for when the listing was published.
updatedAtStringISO timestamp for the latest listing update.
photosArrayAvailable photo URLs for the vehicle.
priceCurrencyStringCurrency code, normally PLN for Otomoto listings.
priceGrossMinorNumberGross price in minor currency units. For PLN, 2300000 represents PLN 23,000.
priceNetMinorNumberNet price in minor currency units when published.
priceIsNetBooleanIndicates whether the listed price is marked as net.
priceIsNegotiableBooleanIndicates whether the seller marks the price as negotiable.
locationNameStringHuman-readable listing location.
cityCodeStringOtomoto city slug or code.
cityIdStringOtomoto city identifier.
regionIdStringOtomoto region identifier.
districtIdStringOtomoto district identifier when available.
categoryIdNumberNumeric Otomoto category identifier.
categoryNameStringCategory name, such as Osobowe.
sellerIdStringSeller identifier.
sellerNameStringSeller or dealership display name.
sellerTypeStringSeller classification when provided.
sellerPhonesArraySeller phone numbers when publicly published.
sellerLogoIdStringSeller logo identifier when available.
sellerLogoUrlStringSeller logo URL when available.
sourceUrlStringOtomoto URL used to start the run.

How to scrape Otomoto.pl car listings

  1. Open Otomoto.pl and create the passenger-car search you need.
  2. Copy the public search URL, including any filters you want to preserve.
  3. Paste the URL into startUrl, or use the default https://www.otomoto.pl/osobowe page.
  4. Optionally enter a make, model, fuel type, or other text in query.
  5. Set results_wanted and max_pages, then run the Actor.
  6. 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

ParameterTypeRequiredDefaultDescription
startUrlStringNohttps://www.otomoto.pl/osobowePublic Otomoto listing or search URL. Filters in the URL are used for the collection.
queryStringNo""Optional free-text search, such as bmw, audi a4, or diesel.
results_wantedIntegerNo20Maximum number of listings to save. Minimum value is 1, and the Actor supports up to 5000.
max_pagesIntegerNo20Maximum number of result pages to process. Minimum value is 1.
proxyConfigurationObjectNo{ "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.

FieldTypeDescription
idStringListing identifier.
titleStringVehicle listing title.
descriptionStringListing description when available.
urlStringDirect listing page URL.
offerTypeStringListing offer type.
createdAtStringPublication timestamp.
updatedAtStringLast-update timestamp.
photosArrayVehicle photo URLs.
priceCurrencyStringPrice currency code.
priceGrossMinorNumberGross price in minor units.
priceNetMinorNumberNet price in minor units when available.
priceIsNetBooleanWhether the price is net.
priceIsNegotiableBooleanWhether the price is negotiable.
locationNameStringListing location label.
cityCodeStringCity code or slug.
cityIdStringCity identifier.
regionIdStringRegion identifier.
districtIdStringDistrict identifier when available.
categoryIdNumberCategory identifier.
categoryNameStringCategory name.
sellerIdStringSeller identifier.
sellerNameStringSeller name.
sellerTypeStringSeller type.
sellerPhonesArraySeller phone numbers when available.
sellerLogoIdStringSeller logo identifier when available.
sellerLogoUrlStringSeller logo URL when available.
sourceUrlStringInput 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: 20 while 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 query for broad text searches - Enter a make, model, fuel type, or keyword when a simple text match is enough.
  • Control run size - Keep max_pages conservative for initial tests, then increase it for larger datasets.
  • Review price units - Convert priceGrossMinor and priceNetMinor into 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 startUrl and 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.

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.

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.

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.