Vinted Deal Monitor

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.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
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

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
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.

Health

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.