Otomoto Data Parser & API
Otomoto is Poland’s #1 car portal — around 43M visits per month across 1M+ ads — and Carapis extracts its full listing data, including spec, trim, mileage, photos, finance and dealer details, through one REST API. Owned by OLX Group (Prosus/Naspers), Otomoto runs the same tech stack as Autovit (Romania) and StandVirtual (Portugal), so one parser pattern generalizes across several markets.
Available now. Otomoto is in the live feed — pull it from /apix/api/vehicles/ with your API key.
| Country | Poland |
|---|---|
| Type | Portal |
| Owner | OLX Group (Prosus) |
| Vehicle types | used, new, dealer, private, moto, commercial |
| Monthly visits | ~43M/mo (SimilarWeb May 2025) |
| Active listings | ~1M+ ads |
| API access | Partial / limited API |
| Parse priority | ★★★★★ |
| Official site | www.otomoto.pl |
What is Otomoto?
Otomoto (otomoto.pl) is the dominant car vertical in Poland, operated by OLX Group under Prosus/Naspers. It carries dealer and private listings plus motorcycles and commercial vehicles, on a standardized OLX-Motors schema. Otomoto draws ~43M visits per month (SimilarWeb, May 2025) with roughly 1M+ active ads.
Market Position
Otomoto is the leading auto vertical in Poland with ~43M monthly visits (SimilarWeb, May 2025) and 1M+ ads. Its strategic value goes beyond Poland: as an OLX Group / Prosus property it shares one technical platform with Autovit.ro, OLX.ro, OLX.uz and StandVirtual, so a single OLX-Motors parser pattern likely generalizes across all of them. That consolidation means one integration effort yields consistent, normalized data across several countries. The site is JS-rendered with DataDome-class anti-bot — work Carapis absorbs.
What the API returns
Response schema
Indicative — this is the shape, not a guarantee. Every source returns the same structure, so what you build against does not change when you add one. Which fields carry a value depends on the source and on the individual listing: a site that does not publish mileage returns null there, and Otomoto is no exception.
List — GET /apix/api/vehicles/ — returns 30 fields per vehicle:
idstringsource_codestringbrand_namestringbrand_slugstringmodel_namestringmodel_slugstringtrimstringyearintegerprice_usdintegermileageintegerfuel_typeFuelTypeEnumtransmissionTransmissionEnumbody_typeBodyTypeEnumcolorColorEnumseller_typeSellerTypeEnumregionstringsource_locationobjecthas_accidentbooleanis_new_vehiclebooleanis_verifiedbooleanstatusVehicleStatusEnumis_availablebooleanfirst_seen_atstringlast_seen_atstringthumbVehiclePhotophotosarrayphotos_countintegerhas_valuationbooleanhas_llm_analysisbooleananalysisobject
Detail — GET /apix/api/vehicles/{id}/ — adds 23 more:
generationstringprice_originalstringprice_original_currencystringoriginal_msrpstringengine_ccintegerseat_countintegerdrive_typeDriveTypeEnumhas_simple_repairbooleanhas_recallbooleanrecall_fulfilledbooleanwarranty_typestringinspection_passedbooleanowner_countintegeris_undervaluedbooleanvaluation_scorenumberfeaturesarraydescriptionstringlisting_urlstringlisting_idstringvinstringvehicle_nostringavailability_checked_atstringstatus_changed_atstring
Abbreviated example:
{
"id": "0193f2c1-...",
"source_code": "encar",
"brand_name": "BMW",
"model_name": "320i",
"trim": "M Sport",
"year": 2021,
"price_usd": 28400,
"price_original": "38900000",
"price_original_currency": "KRW",
"mileage": 45000,
"fuel_type": "gasoline",
"transmission": "automatic",
"has_accident": false,
"listing_url": "https://...",
"photos": [{ "url": "https://cdn.carapis.com/..." }],
"first_seen_at": "2026-09-28T11:04:22Z",
"is_available": true
}Which sources you can actually query is answered by GET /apix/api/sources/ with your API key — it is the list your account can pull today, and it is the one to trust over any page on this site.
The consistent OLX-Motors field schema across Poland, Romania and Portugal makes Otomoto data easy to normalize alongside its sister sites.
API Quick Start
Python
import requests
resp = requests.get(
"https://api.carapis.com/v2/listings",
params={"source": "otomoto", "limit": 20},
headers={"Authorization": f"Bearer {API_KEY}"},
)
for car in resp.json()["results"]:
print(car["make"], car["model"], car["year"], car["price"])Get an API key at my.carapis.com and see the full API reference. Pricing is on the pricing page .
Use Cases
- Pricing intelligence — Poland’s deepest auto dataset powers residual-value and market-pricing models for dealers.
- Market research — track inventory mix, mileage and price trends across the Polish used-car market. See market research.
- Import / export — Poland is a major EU used-car hub; spec and dealer data support cross-border sourcing. See import & export.