Listing data is one of the richest public sources on the Spanish car market and one of the easiest to over-read. It measures what sellers are asking, in the moment you looked. Everything you can legitimately conclude follows from that sentence, and so does everything you cannot.
What listing data actually measures
Supply and asking prices. Not demand, not transactions, not time to sale. A listing is an offer that may be accepted at the asking price, accepted lower, or never accepted at all — and the data cannot distinguish those outcomes, because none of them appears in it.
This is not a limitation to note once and forget. It changes how every finding has to be worded: “asking prices for 2019 diesels fell 6%” is supportable; “2019 diesels lost 6% of their value” is not.
Depreciation curves
The strongest analysis available here, because every input is at 100% coverage: year, mileage, power and asking price. Group by make, model and registration year, take the median asking price per year, and you have an asking-price depreciation curve for a specific model in a specific market.
Two adjustments make it much better. Control for mileage, because year and mileage are correlated but not interchangeable — a 2019 car at 200,000 km is not a 2019 car. And exclude Km 0 listings, which are nearly-new cars self-registered by dealers: they have a recent registration year and almost no mileage, and left in they flatten the first year of every curve.
Regional price differences
Province is at 100% coverage, there are 52 of them, and it is the unit the site's own facets use — so regional analysis is both easy and well supported. Median asking price for the same model varies meaningfully across provinces, and the field stays in Spanish specifically so it joins cleanly to census, income and vehicle-registration data.
Be careful about attribution. A province with higher asking prices may have wealthier buyers, younger stock, more dealers relative to private sellers, or all three. The mix is visible in the data — seller_type, year, km — so decompose it rather than reporting the headline.
Badge composition of supply
The most policy-relevant cut available. environmental_label maps directly onto low-emission-zone access, so the distribution of 0, ECO, C, B and unbadged across a province tells you how exposed that market is to urban access restrictions.
Tracked over time it becomes a measure of supply response to regulation — which is a genuinely interesting series, and one nobody publishes. Coverage is 79.6%, and a null means unbadged or unstated, so report the null share rather than dropping it.
Dealer versus private mix
seller_type is at 100%, which makes the split trivial to compute and easy to over-interpret. The two segments differ in more than who is selling: dealers carry warranties, publish financing, hold newer stock and carry the marketplace valuation on 86.6% of listings against 38.2% for private sellers.
So a naive comparison of dealer and private asking prices is comparing two different sets of cars with two different levels of instrumentation. Match on make, model, year band and mileage band before comparing anything, and say so in the output.
Turning snapshots into a time series
One run is a snapshot. Repeated runs on the same facets, with maxCacheAgeDays: 0 so every row is a fresh read, become a series — and ad_id is the join key that makes it one.
Two things become measurable that a single snapshot cannot give you:
- Price changes on a specific advert. The same
ad_idat a lowerprice_euris a seller repricing, which is the closest thing to a demand signal in the dataset. - Disappearance. An
ad_idthat stops appearing has sold, expired or been withdrawn. The data cannot tell you which — but in aggregate, time-to-disappearance by segment is a usable proxy for liquidity, as long as you label it as one.
Keep every snapshot. You cannot re-scrape last week.
Four things not to claim
- What cars sold for. You have asks, not transactions.
- How fast they sold. Disappearance has at least three causes.
- Market size. You have one marketplace's inventory, not the national fleet.
- That the site's valuation is correct. It is coches.net's estimate, filled on 77.6% of listings, with no published methodology. Quote it as theirs.


