Vinted Sold Comps
Vinted hides sold listings - this actor watches one bounded search on a schedule and emits likely-sold items with the last asking price, days listed...
Vinted hides sold listings - this actor watches one bounded search on a schedule and emits likely-sold items with the last asking price, days listed, brand, size and condition. The sold-comps signal resellers need, with zero seller data by construction.
$3.00 / 1,000 · 100.0% success over 56 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
What you give it
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
searchQuery |
string | The market slice to watch, exactly as you would type it in Vinted's search box, e.g. "nike air max 90". Keep it narrow enough to fit one snapshot (~960 listings) - the run warns when it does not. | nike air max 90 |
domain |
string | Which national Vinted site to watch. | fr |
priceMin |
integer | Watch only listings at or above this price (site currency) - the standard way to narrow a broad query. | - |
priceMax |
integer | Watch only listings at or below this price (site currency). | - |
absenceThreshold |
integer | How many consecutive runs a listing must be missing before it counts as likely sold. 2 (default) absorbs single-run hiccups; 1 detects faster with more noise. | 2 |
maxPages |
integer | Catalog pages per snapshot (1-10; the site serves at most 10). Lower is cheaper but covers less of the query. | 10 |
stateStoreName |
string | Named store carrying the tracked-listings memory. Use a different name per watched query to keep detections independent. | vinted-sold-detector-state |
resetState |
boolean | Forget the tracked listings and re-seed the baseline on this run. | False |
maxItems |
integer | Upper bound on sold detections delivered per run. | 500 |
reportFailures |
boolean | When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. | True |
What you get back
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
A real result row from a recent run:
{
"brand": "Zara",
"condition": "Très bon état",
"currency": "EUR",
"daysListed": 2,
"firstSeenAt": "2026-10-16T05:48:17.415Z",
"lastPriceCents": 400,
"lastSeenAt": "2026-10-16T05:48:17.415Z",
"listingId": "10395192613",
"size": "12 ans / 152 cm",
"soldDetectedAt": "2026-10-18T05:56:24.568Z",
"status": "likely_sold",
"title": "Vestido",
"url": "https://www.vinted.fr/items/10395192613-vestido"
}
| Field | Type | Meaning |
|---|---|---|
listingId |
string | Vinted item ID of the disappeared listing. |
title |
string | Listing title as it was posted. |
url |
string | The listing's URL (may 404 after the sale - that is the point). |
lastPriceCents |
['integer', 'null'] | Last asking price observed before the listing disappeared, in minor units. |
currency |
['string', 'null'] | Currency of the price. |
brand |
['string', 'null'] | Brand line from the listing card. |
size |
['string', 'null'] | Size as displayed. |
condition |
['string', 'null'] | Condition as displayed, in the site's language. |
firstSeenAt |
string | When this actor first observed the listing live. |
lastSeenAt |
string | Last run that still saw the listing live. |
soldDetectedAt |
string | When the absence threshold was reached. |
daysListed |
integer | Days between first observation and detection - a sell-through speed signal. |
status |
string | Always likely_sold. A removed or relisted item is indistinguishable from a sale from outside - documented honestly. |
Health
100.0% success over 56 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.
The history behind this tool
This tool answers what a source shows today. Its output also feeds a series recorded every day and kept: Resale sold comps, recovered by observation. A run gives you the current market; the series is the part that cannot be reconstructed afterwards, because the source overwrites it.