Get time to sell for comparable vehicles
How long comparable listings stay on the market: a median days-on-market figure with 25th/75th percentiles. Derived from listing disappearance across scraped marketplaces — a listing unseen for 21+ days before its own source's latest crawl counts as sold, over a 12-month cohort window, with a floor of 30 delisted comparables behind every figure.
This is a market-liquidity signal, not a sales record. Delisting also captures withdrawn and expired ads, so the number reads as "how long this kind of car stays on the market", and any figure you surface to an end user should be framed that way.
Reading the three numbers. The distribution is right-skewed: a few cars sell almost immediately and a long tail lingers, so the median is not a countdown and the average would be worse. Quote medianDaysToSell as the typical wait, p25Days as the realistic fast case and p75Days as the slow case — a quarter of cars take longer than p75 and the tail beyond it is open-ended. The p25→p75 spread covers the middle half of the cohort and is typically 4-6x wide (a Škoda Octavia in CZ: 10 / 24 / 58 days), which is why publishing the median alone overstates how predictable the wait is.
Send point values for one concrete car: year, kw and mileage are widened server-side (±2 years, ±20%, ±25% respectively). When a cohort still holds fewer than 30 delisted comparables, filters are progressively relaxed (mileage, then kw, then year to ±4) before the request 404s; fuel is never relaxed. A 404 means the market genuinely lacks comparable delistings even after relaxation — an expected outcome for rare cars, carrying a hint naming the filter to drop, not an error to retry. The country list is deliberately narrower than /vehicle-valuation: a market also needs enough delistings and a fine enough crawl cadence to resolve a listing's lifetime.
Query parameters
Vehicle manufacturer (case-insensitive). Common aliases are resolved for you (volkswagen → vw). Unlike /vehicle-valuation this is not restricted to a fixed catalogue — makes outside the valuation list are matched against the listing store directly.
Vehicle model (case-insensitive). Matched as a base model — A6 and A6 Allroad are different cohorts; trim codes are folded to their series (320d → 3-series).
ISO 3166-1 alpha-2 market code. Tier 1 (high volume, healthy re-sighting): CZ, SK, PL, UK, US, DE. Tier 2 (viable but thinner): NL, NO, IT, BE, ES, AT, FR. NL figures resolve to roughly ±6 days because of the crawl interval.
Model year, from 1990 up to next calendar year (a later year is rejected with 400). Widened to ±2 years server-side; send the year of the actual car, not a range. No literal maximum is declared here because it moves every January.
Engine power in kW. Widened to ±20% (at least ±15 kW) server-side.
Mileage in km. Widened to ±25% (at least ±20,000 km) server-side.
Fuel type (case-insensitive). Matched exactly and never relaxed.
Response
Days-on-market statistics for the cohort actually measured. If a filter had to be relaxed to reach the sample floor, the figures describe the relaxed cohort.
Example response
{
"make": "skoda",
"model": "octavia",
"country": "CZ",
"medianDaysToSell": 24,
"p25Days": 10,
"p75Days": 58
}