Vinted Arbitrage Scanner

One query, priced across up to 23 Vinted country sites: median, quartiles, spread percent and an opportunity score per country - where an item is cheap and where it sells high. Aggregates only, zero seller data by construction. About $0.02 per full comparison.

$1.79 / 1,000 · 100.0% success over 11 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.

FieldTypeWhat it doesDefault
searchQuery string What to price-compare across country sites, exactly as you would type it in Vinted's search box, e.g. "nike air max 90" or "barbour jacket". nike air max 90
countries array Vinted country sites to compare (2-23). Default: eight euro markets, so every spread is same-currency. Non-euro sites (co.uk, pl, cz, se, dk, hu, ro, com) are compared within their own currency only - amounts are never converted. ["fr", "de", "es", "it", "nl", "be", "pt", "at"]
maxItemsPerCountry integer Priced listings sampled per site (20-500). One catalog page is ~96; bigger samples cost more requests and steadier medians. 96
priceMin integer Ignore listings below this price (site currency) - cuts junk from the sample. -
priceMax integer Ignore listings above this price (site currency). -
maxItems integer Upper bound on output rows (one per country). 25

What you get back

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

FieldTypeMeaning
searchQuery string The query the row was sampled for.
domain string Country site suffix, e.g. fr, de, co.uk.
site string Full site name.
currency ['string', 'null'] Currency of every amount in this row.
matchedListings ['integer', 'null'] How many listings matched the query on this site.
sampleSize integer Priced listings sampled for the statistics.
medianCents integer Median asking price in minor units.
p25Cents integer 25th-percentile asking price.
p75Cents integer 75th-percentile asking price.
minCents integer Cheapest sampled asking price.
maxCents integer Highest sampled asking price.
medianTotalCents ['integer', 'null'] Median total buyer price including buyer protection, when reported.
spreadPct integer How far this country's median sits above the cheapest median in the same currency, in percent. 0 = this is the cheapest market.
cheapestInCurrencyGroup boolean True for the cheapest market of its currency group - the buy side of the arbitrage.
opportunityScore integer spreadPct clamped to 0-100: how attractive selling into this market is versus buying in the group's cheapest.

Health

100.0% success over 11 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.