otomoto.pl APIotomoto.pl ↗
Search and retrieve car listings, full vehicle details, photos, and seller info from otomoto.pl via a structured REST API. Covers all major Polish vehicle categories.
curl -X GET 'https://api.parse.bot/scraper/db745f1d-4beb-4bb3-85b5-5eb6fbca2fe7/search_listings?make=volkswagen&category=osobowe' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for vehicle listings on otomoto.pl with optional make, model, and category filters. Returns paginated results with listing summaries including price, location, and vehicle parameters.
| Param | Type | Description |
|---|---|---|
| make | string | Vehicle make slug (e.g., volkswagen, toyota, bmw, aston-martin). |
| page | integer | Page number for pagination. |
| model | string | Vehicle model slug (e.g., golf, corolla, 3-series). Requires make to be set. |
| category | string | Vehicle category slug. Accepted values: osobowe, motocykle-i-quady, dostawcze, ciezarowe, budowlane, rolnicze, przyczepy, czesci. |
{
"type": "object",
"fields": {
"listings": "array of listing summary objects with id, title, url, price, location, thumbnail, make, model, year, mileage, fuel_type, transmission, engine_capacity, engine_power, seller_type, created_at",
"pagination": "object with current_page, total_pages, total_count, page_size"
},
"sample": {
"data": {
"listings": [
{
"id": "6147569196",
"url": "https://www.otomoto.pl/osobowe/oferta/volkswagen-golf-ID6I2zzS.html",
"make": "volkswagen",
"year": "2021",
"model": "golf",
"price": {
"type": null,
"amount": 19999,
"currency": "PLN"
},
"title": "Volkswagen Golf 2.0 TSI GTI DSG",
"mileage": "66000",
"location": {
"city": "Boczki",
"region": "Łódzkie"
},
"fuel_type": "petrol",
"thumbnail": "https://ireland.apollo.olxcdn.com/v1/files/ztn36a767g611-OTOMOTOPL/image;s=640x480",
"created_at": "2026-04-30T16:11:12Z",
"seller_type": null,
"engine_power": "245",
"transmission": "automatic",
"engine_capacity": "1984"
}
],
"pagination": {
"page_size": 32,
"total_count": 6000,
"total_pages": 188,
"current_page": 1
}
},
"status": "success"
}
}About the otomoto.pl API
The otomoto.pl API provides 5 endpoints to search, retrieve, and bulk-collect vehicle listings from Poland's largest automotive marketplace. Use search_listings to filter by make, model, and category with paginated results, or call get_listing_detail to pull the full data set for a single listing — including price, seller info, equipment lists, and up to dozens of images.
Search and Pagination
The search_listings endpoint accepts optional make, model, and category slug parameters and returns paginated arrays of listing summaries. Each summary includes id, title, url, price, location, thumbnail, make, model, year, mileage, fuel_type, and transmission. The pagination object in the response exposes current_page, total_pages, total_count, and page_size, so you can iterate accurately. The model parameter requires make to be set. Supported categories include osobowe (passenger cars), motocykle-i-quady, dostawcze, ciezarowe, budowlane, and rolnicze.
Full Listing Details and Photos
get_listing_detail takes a full listing URL or path and returns the complete record for that vehicle: a price object with value, currency, and labels; a seller object covering seller type, name, location, and offered services; an equipment array broken into categories; an HTML description string; a mainFeatures array; and an images object containing both full-resolution photos and thumbnails arrays. If you only need the image URLs, get_listing_photos returns a flat photos array without the rest of the listing data.
Bulk Collection
get_all_listings_paginated automates multi-page traversal for a given make/model/category combination. You control the ceiling with max_pages; the response tells you pages_scraped and total_count alongside the full listings array, which shares the same field structure as search_listings. This is the most efficient path when you need to aggregate inventory across dozens of pages.
Categories Reference
get_categories requires no inputs and returns a static list of category objects, each with an id slug (used in URL and filter parameters) and a Polish-language name. This is useful for validating category slugs before passing them to search endpoints.
- Aggregate used car inventory by make and model across all pages for price comparison dashboards
- Monitor price and availability changes for specific vehicles using listing
idandprice.valuefields - Extract seller contact and location data from
sellerobjects to map dealer coverage across Poland - Build a vehicle photo dataset using
get_listing_photosfor machine learning or image processing pipelines - Track mileage and year distributions for a given model by bulk-collecting
yearandmileagefields - Filter commercial vehicle listings (
dostawcze,ciezarowe) for fleet acquisition research - Populate an automotive classifieds mirror or price index using
get_all_listings_paginatedwithmax_pages
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does otomoto.pl have an official developer API?+
What does `get_listing_detail` return beyond what the search endpoint provides?+
search_listings returns summary fields — title, price, location, thumbnail, make, model, year, mileage, fuel_type, and transmission. get_listing_detail adds the full equipment array (grouped by category), the HTML description, mainFeatures array, seller service details, and a complete images object with both full-resolution photos and thumbnails.Can I filter listings by price range, year, or mileage?+
search_listings and get_all_listings_paginated endpoints currently accept make, model, category, and page as filters. Price range, year, and mileage filters are not exposed. You can fork this API on Parse and revise it to add those filter parameters.Does the API cover private sellers and dealers separately?+
seller object in get_listing_detail includes a seller type field that distinguishes private sellers from dealers, along with name, location, and services. Search-level results do not include seller type in the summary — that distinction is only available after fetching the full listing detail.