You are being asked to make buying decisions with our data. That is only reasonable if you can check how it is produced — so here is the whole method, including the parts that are unflattering.
If a figure on this page ever disagrees with the product, the product is wrong and we want to hear about it: support.
We continuously read public live listings, and watch which ones leave the shelf, across all five main EU Vinted domains — Spain, France, Germany, Italy and Portugal. Nothing is bought from a third party. Prices and counts trace back to listings that actually existed; momentum and sell-through are ratios computed from them, not predictions.
We anchor on listings that left the shelf, not active ones. Active listings tell you what sellers hope to get. Here is the honest version of what a departure tells you: we do not see a receipt. We see a listing disappear from a Vinted search shelf, and we infer a sale at its last asking price. A departure is also consistent with the seller delisting it, an account ban, an offline sale at a different price, or the seller relisting the same item under a new id — which we cannot always tell apart from a genuine sale. That last case matters more than it sounds: a seller relists what is not selling, so the items most likely to generate a fabricated “sale” are exactly the slow-moving ones a reseller most needs an honest warning about. We have not yet measured how often this happens. The price shown is therefore an asking price at the moment of departure — a real, useful proxy, and the closest honest signal Vinted's public data supports — but not an observed sale price. Most tools quote active-listing asking prices because they are far easier to collect; we go one step further and track departures, but we do not claim to have watched money change hands.
A departure on this site means we watched a listing go from active to gone. Listings we first saw already gone are in the catalogue count, not in weekly departures. That is why listings tracked can be millions while weekly watched departures are in the hundreds or thousands — not because the market died, and not because a refresh zeroed the table.
| Listing collection | scheduled every 30 min/market, skips if busy | measured 2026-09-02 from the scraper run log: 83% of gaps under 1h over the trailing 7 days (n=1,157); 58% under 1h over the last 48h during a current backlog |
| Signal recomputation | ~every 2 hours | scores, sell-through, buy-below — a slower cycle than collection; 0 skips observed in the same window |
| Departure verification | every 60 minutes | confirms a listing left the shelf — not that it sold; 0 skips observed |
| Public page refresh | no page cache — live per request | each request renders from the current database; not a 15-minute cache |
So right now a new listing is usually in the dataset within an hour — worse than our 30-minute target while a scraper backlog clears (see the measured cadence above). The signal computed from it — buy-below, sell-through, confidence — can lag up to about 2 hours behind that. We publish the measured cadence rather than a rounder number that sounds better, and this table is the one we correct first if the schedule changes.
Sell-through is the share of the universe we actually watched: items we saw listed and then saw leave the shelf, versus items still listed. It is not weekly turns (departures ÷ active × 100), which can exceed 100% and must never be labelled sell-through.
str = sold_observed / (sold_observed + active_listings) × 100
The numerator is only transitions we watched (
sold_observed=1
sold_at
buy_below = avg_departure_price × 0.95 × 0.70
avg_departure_price is the average asking price of comparable listings at the moment they left the shelf — the closest honest proxy we have for a sale price, not an observed one (see “Where the data comes from” above). The 0.95 is the 5% platform deduction we model for Vinted. The 0.70 targets roughly a 30% margin. Fee structures differ by platform, by market, and by whether you sell privately or as a business — and they change — so substitute your own figure if yours differs. The profit calculator applies current per-platform rates across Vinted, Depop, eBay, Poshmark, StockX and GOAT.
Every BUY / WATCH / SKIP carries a confidence band from the data we actually have: data-quality score, comparable watched departures, and snapshot recency. It is not a model guessing how sure it is.
| HIGH | ≥ 30 comparable departures and quality ≥ 70 | snapshot younger than 48 hours |
| MEDIUM | ≥ 10 comparable departures and quality ≥ 40 | or HIGH but the snapshot is stale |
| LOW | thinner than that | always paired with “Only N comparable departures” |
This one needs stating plainly because the downside of a misunderstanding is someone buying a fake. The check never sees the physical item. It reads a listing and weighs three things: how far the price sits below the real market for that model, seller trust signals, and patterns in how the listing is written and photographed. It returns a 0–100 confidence score in one of four bands.
| 75–100 | High confidence | nothing unusual found |
| 50–74 | Moderate — verify | some signals worth checking |
| 25–49 | Low confidence | several unusual signals |
| 0–24 | Very low | multiple red flags |
Every dataset has edges. Ours are these, and we would rather you learn them here than discover them after a bad buy.
The aggregate market data is public and free to cite with attribution. No account: 10 checks a day. Free account: the same 10 a day for life, plus 7 days of full Starter access, then 10 full unlocks a month for the deep numbers. Live Finder, Order Planner and Price Compare are Pro. No card.
The scraper is scheduled every 30 minutes per market across all five EU Vinted domains, but a run is skipped if the previous one is still in progress. Measured on production over the trailing 7 days (2026-08-26 to 2026-09-02, from the scraper run log): 83% of gaps land under an hour — median 34 minutes, mean 43 minutes, n=1,157 gaps across the 5 domains. The most recent 48 hours ran slower, 58% under an hour (n=242), while a backlog of skipped runs clears. Signals are recomputed on a slower cycle, roughly every 2 hours, and that cycle has run on schedule with no skips in the same window. Departure verification — checking which listings have left the shelf — runs every 60 minutes, also with no skips observed. Public pages carry no page-level cache; each one renders from the live database on every request. So right now a new listing is usually in the dataset within an hour, worse than our 30-minute target while the backlog clears; the score built from it can lag up to about 2 hours behind that.
Watched departures divided by watched departures plus still-listed items. Only transitions we observed (sold_observed) — a listing leaving the shelf, not a confirmed sale. We withhold the percentage (null, not 0) when watched departures are below 30 or still-listed is 0 — that last case is the 100% hole, not a rate. Raw counts stay. We never label weekly turns as sell-through.
Recent average asking price at the moment a listing left the shelf, for that specific model, minus the platform deduction we model for Vinted (5%), multiplied by 0.70 to target roughly a 30% margin. We do not observe the sale price itself — see "What does 'left the shelf' mean" below for why. Substitute your own fee figure if yours differs — the arithmetic does not care what the number is, only that you use the real one.
It is a band from data-quality score, comparable watched departures and snapshot recency — not a model guessing. HIGH needs at least 30 comparable departures. LOW always says how many comparables we have. LOW is not a SKIP.
No. It is a confidence score, not a verification, and it never sees the physical item. It weighs how far the price sits below market, seller trust signals and listing patterns, then returns a 0-100 score with a band. It cannot authenticate anything and must not be treated as a guarantee. For anything valuable, use a professional authentication service.