Sweeps one Vinted search each run, computes the query's live median price, and delivers the listings priced far below it - each deal with the median and discount percent attached. Scheduled hourly it is an underpriced-listing alert feed. Finds, never auto-buys. No seller data.
$3.99 / 1,000 · Recently published - building its public record.
Run it on Apify → Free to try - runs bill per result on your own account.
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
searchQuery |
string | The market slice to hunt deals in, exactly as you would type it in Vinted's search box, e.g. "nike air max 90". Narrower queries give sharper medians. | 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). | - |
stateStoreName |
string | Named store remembering which listings were already evaluated, so scheduled runs alert each deal once. Use a different name per watched query. | vinted-deal-monitor-state |
resetState |
boolean | Forget the tracked listings and re-seed the baseline on this run. | False |
maxItems |
integer | Upper bound on deals delivered per run. | 100 |
discountThresholdPct |
integer | A listing must be at least this far below the query's current median to count as a deal. 30 catches real bargains without noise. | 30 |
samplePages |
integer | Catalog pages swept per run (1-10). Page 1 carries the new listings; extra pages steady the median. | 3 |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
itemId |
string | Vinted item ID. |
url |
string | Direct link - speed matters, deals go fast. |
title |
string | Listing title as posted. |
brand |
['string', 'null'] | Brand line from the card. |
size |
['string', 'null'] | Size as displayed. |
condition |
['string', 'null'] | Condition as displayed, site language. |
priceCents |
['integer', 'null'] | Asking price in minor units. |
currency |
['string', 'null'] | Site currency. |
serviceFeeCents |
['integer', 'null'] | Buyer protection fee. |
totalPriceCents |
['integer', 'null'] | Total buyer price incl. fee. |
businessSeller |
boolean | Professional seller flag. Identity never collected. |
promoted |
boolean | Paid placement flag. |
favouriteCount |
integer | Demand signal. |
viewCount |
integer | View count when reported. |
imageUrls |
array | Photos (up to 8). |
queryMedianCents |
integer | The query's current median asking price the deal was scored against. |
discountPct |
integer | How far below the median this listing is priced, percent. |
Recently published - building its public record. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.