Vinted Prices by Country — Cheapest vs Priciest Site
Pricing
from $20.00 / 1,000 cross-country price gaps
Vinted Prices by Country — Cheapest vs Priciest Site
Type a keyword and get its asking price on up to 8 Vinted country sites in USD. Returns each country's median from ~96 listings, the cheapest and priciest, the gap %, and a buy-here/sell-there margin before shipping and duty. $0.02 per keyword, charged only when two countries answer. Unofficial.
Pricing
from $20.00 / 1,000 cross-country price gaps
Rating
0.0
(0)
Developer
h ichi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What it does: Prices a keyword on up to 8 Vinted country sites (US, UK, DE, FR, ES, IT, NL, PL), converts every median to USD, and shows where it is cheapest and priciest.
You enter: Keywords, e.g. nike air max 90, and the countries to compare (default: com, de, co.uk, pl).
You get: One row per keyword: median asking price per country (local and USD) from ~96 listings each, cheapest and priciest country, gap %, which countries share the same listings, and a buy-here/sell-there margin that counts the buyer fee but not shipping or duty.
Price: $0.02 per keyword, however many countries, and every keyword in your list is charged. +$0.002 per listing if you also want the listings themselves (off by default). Charged only when at least two countries return a usable median (or the single country, if that is all you picked).
Example: enter nike air max 90 (com, de, co.uk, pl) → cheapest GB $43.56 · priciest DE $80.67 · gap 85.2% · buy in GB for $46.69 with fee, sell in DE at $80.67 = 72.8% before shipping and duty (real run, 2026-08-07)
Unofficial — not affiliated with Vinted. Reads public pages only.
Why a Vinted "price gap" is often not a gap at all
The eight marketplaces are not eight inventories. Measured on 2026-08-07 with leica m6 across all eight: the five euro sites served 58–87% literally the same listing ids — same item, same price, same currency, five hostnames — while .com, .co.uk and .pl overlapped everything by 0.0%.
US FR DE GB ES IT NL PLFR 0% - 62% 0% 64% 78% 78% 0%IT 0% 78% 71% 0% 71% - 81% 0%
So a "price gap" between France and Italy is mostly one pool sampled twice. You cannot buy an item in Italy and sell it in France when it is the same listing. This Actor therefore:
- measures the overlap from the sampled listing ids and groups the countries into
inventoryOverlap.inventoryPools; - still ranks every country by price, because "where is it listed lowest" is a real question;
- computes
gap.arbitrageonly across different pools — and saysavailable: falsewhen every selected country turns out to be one pool.
Measured example of the trap (levis 501 vintage, 8 countries): cheapest ES $38.59 → priciest DE $44.97 looks like a 16.5% opportunity. ES and DE cross-list one inventory, so it is worth nothing. The honest cross-pool deal that run was buy US $42.70 → sell DE $44.97 = 5.3%.
The other three numbers that keep it honest
- Buyer Protection is priced in. The buyer pays asking + fee, and the fee is not the same everywhere — measured on 2026-08-07 (
nike air max 90): GB 7.22% · PL 6.53% · US 6.08% · DE 6.00%.gap.arbitrage.buyCostUsdis the buyer's real total, andexcludeslists what is still missing (shipping, duty, seller fees, FX spread). totalFoundCapped. Vinted stops counting at 960 hits (10 pages × 96). AtotalFoundof 960 is a ceiling, not supply, and says so instead of pretending to be a market size.thinSample. A country with fewer thanminSampleSizepriced listings is reported in full but is excluded from the cheapest/priciest selection. A median over four listings is not an arbitrage case.
Pricing — $0.02 per keyword
| Event | Price | When |
|---|---|---|
| Keyword analyzed across countries | $0.02 | Per keyword, whatever the number of countries |
| Individual listing | $0.002 | Only if you enable Include individual listings |
You pay per keyword, not per month. A default run (1 keyword, 4 countries, summary only) costs $0.02 and took 8 seconds measured. All 8 countries cost the same $0.02.
A keyword is only charged when at least two countries returned a usable median (or the single one, if you selected only one). A "cross-country" record with one country in it is not a comparison, so it is free.
Input
| Field | Example | Notes |
|---|---|---|
keywords | ["nike air max 90"] | Narrow keywords give a real gap; broad ones compare product mixes. $0.02 each |
countries | ["com","de","co.uk","pl"] | Default = one market per currency, which is also the four pools that measurably do not cross-list. Add fr/es/it/nl for the full euro picture |
maxItemsPerCountry | 96 | 30–288. 96 = one result page and is usually enough |
minSampleSize | 10 | Below this a country is flagged thinSample and cannot be cheapest/priciest. 0 disables the gate |
priceMinUsd / priceMaxUsd | 30 | Optional window in USD, applied after conversion, identically in every country |
includeIndividualItems | false | Enable to also get every sampled listing, +$0.002 each |
Output example (type: "cross_country_price_gap", abridged)
Measured on 2026-08-07 (real run):
{"type": "cross_country_price_gap","keyword": "nike air max 90","priceBasis": "asking","quoteCurrency": "USD","countriesRequested": ["US", "DE", "GB", "PL"],"countriesWithData": ["US", "DE", "GB", "PL"],"countries": {"co.uk": {"domain": "vinted.co.uk", "country": "GB", "currency": "GBP","available": true,"totalFound": 960, "totalFoundCapped": true,"sampleSize": 96, "pricedListings": 96, "thinSample": false,"listingPrice": {"min": 6.0, "p25": 20.0, "median": 32.37, "p75": 68.5, "max": 180.0, "average": 49.01},"buyerTotalPrice": {"median": 34.69},"buyerProtectionFeePctMedian": 7.22,"exchangeRateToUsd": 1.345818,"listingPriceUsd": {"median": 43.56},"buyerTotalPriceUsd": {"median": 46.69},"signals": {"favouriteCount": {"median": 11},"topBrands": [{"brand": "Nike Air", "listings": 59, "sharePct": 61.5}],"conditionBreakdown": {"Very good": 58, "Good": 15, "New with tags": 13}},"sourceUrl": "https://www.vinted.co.uk/catalog?search_text=nike+air+max+90"},"de": {"country": "DE", "currency": "EUR", "listingPrice": {"median": 69.97},"listingPriceUsd": {"median": 80.67}, "buyerProtectionFeePctMedian": 6.0},"com": {"country": "US", "listingPriceUsd": {"median": 65.0}},"pl": {"country": "PL", "currency": "PLN", "listingPrice": {"median": 189.5},"listingPriceUsd": {"median": 50.81}}},"inventoryOverlap": {"thresholdPct": 20.0, "sampledPairs": 6, "maxOverlapPct": 0.0,"independentMarkets": 4,"inventoryPools": [["US"], ["DE"], ["GB"], ["PL"]],"pairs": [{"countries": ["US","DE"], "sharedListings": 0, "overlapPct": 0.0, "sharedInventory": false}],"note": "Every compared country serves its own inventory …"},"gap": {"quoteCurrency": "USD","ranking": [{"country": "GB", "medianListingPriceUsd": 43.56, "medianBuyerTotalUsd": 46.69, "medianListingPriceNative": 32.37, "pricedListings": 96, "totalFound": 960, "totalFoundCapped": true, "thinSample": false, "vsCheapestPct": 0.0},{"country": "PL", "medianListingPriceUsd": 50.81, "vsCheapestPct": 16.6},{"country": "US", "medianListingPriceUsd": 65.0, "vsCheapestPct": 49.2},{"country": "DE", "medianListingPriceUsd": 80.67, "vsCheapestPct": 85.2}],"comparable": true,"cheapestCountry": "GB", "cheapestMedianUsd": 43.56,"priciestCountry": "DE", "priciestMedianUsd": 80.67,"gapUsd": 37.11, "gapPct": 85.2,"cheapestAndPriciestShareInventory": false,"arbitrage": {"available": true, "crossPool": true,"buyCountry": "GB", "buyCostUsd": 46.69, "buyCostIncludesBuyerProtection": true,"sellCountry": "DE", "sellProceedsUsd": 80.67,"grossMarginUsd": 33.98, "grossMarginPct": 72.8,"excludes": ["cross-border shipping", "customs duty and import VAT","the destination marketplace's seller fees", "FX spread on the actual transfer"]},"note": "Both sides are asking prices, not sold prices …"},"mixDiagnostics": {"topBrandByCountry": {"US": "Nike", "DE": "Nike Air", "GB": "Nike Air", "PL": "Nike Air"},"topBrandSharePct": {"US": 52.1, "DE": 68.8, "GB": 61.5, "PL": 67.7},"sameTopBrandEverywhere": false, "itemLevelMatching": false,"note": "The countries did not sample the same product mix …"},"checkedAt": "2026-08-07T06:57:13+00:00"}
With includeIndividualItems: true you additionally get one record per listing (type: "listing"), each tagged with country, domain and priceBasis, carrying both listingPrice and buyerTotalPrice in native currency and USD.
Use cases
- Cross-border sourcing —
gap.arbitrageis the only line that pairs two genuinely separate inventories, with the buyer's fee already inside the buy cost - Deciding which country to list in —
rankingplustotalFoundis price against the supply you would compete with - Repricing — schedule the Actor and watch a country's median move;
signals.favouriteCountis the demand heat - Market research — how much cheaper is Poland than Germany for a category, and is the euro zone one market or five
- Reality-checking a supplier's "EU arbitrage" pitch —
inventoryOverlapanswers it in one field
Notes & limits
- Asking prices only. Vinted does not serve sold listings. A high median means sellers ask more there, not that buyers pay it
- A broad keyword compares product mixes, not countries.
mixDiagnosticsis the tell — checktopBrandByCountryandtopBrandSharePctbefore believing a largegapPct, and narrow the keyword or setpriceMinUsd/priceMaxUsd - Vinted's own brand labels differ per market (
Nikeon .com vsNike Airon .de for the same shoe), sosameTopBrandEverywhereis conservative — afalseis a prompt to look, not a verdict totalFoundsaturates at 960. Above that the field is a ceiling;totalFoundCappedtells you which it is- Condition labels are localized (
Very good/Sehr gut/Bardzo dobry) and are deliberately not translated into a shared scale — that would be a claim this Actor cannot back - The price window is USD. A bound in native currency would mean EUR 20 in Germany and PLN 20 in Poland;
totalFoundis never rewritten by it - Exchange rates come from
open.er-api.com, once per currency per run. A country whose rate is unavailable is reported withfxUnavailable: trueand excluded from the gap rather than converted at 1.0 - A country that fails does not fail the run: it comes back as
available: falsewith anerror, and the rest are still compared. The run fails only when no country could be read at all - A keyword no country stocks is not a failure: every site answered, each block shows
sampleSize: 0, the gap is reported ascomparable: false, the run finishes green and nothing is charged - Read-only public catalog data, no login, no browser. Each country opens its own proxy session (random per run, rotated up to 4×) and pages are throttled to one per 1.5 s
- No seller personal data is collected
日本語: Vinted 8カ国の同一キーワード相場を比較し、USD 換算の中央値ランキング・国別サンプル数・価格差(%)、および「実際に取引できる国の組み合わせだけ」で計算した裁定利ざやを返します(ユーロ圏5サイトは同一在庫を共有しているため自動判定して除外します)。料金はキーワード1件ごとの従量課金です。
中文: 比较 Vinted 八国同一关键词的行情,返回按美元折算的中位价排名、各国样本量与价差百分比,以及仅在真正独立库存之间计算的套利空间(欧元区五站共享同一库存,会被自动识别并排除)。按关键词计费。
If something goes wrong
- Wrong number or a failed run? Open a ticket on the Issues tab. I read every one and reply within 2 business days (Japan time).
- You never get a fake "empty" result. If the site can't be read, the run fails and says so.
- No results = no charge. You only pay for results you actually get.
- Checked every week. An automatic test runs this tool weekly; if the site changes, I fix it.
- Public pages only. No login, no personal data, and it goes easy on the site.
More tools by the same author
- Vinted Listings — One Row per Item, $0.0008 Each
- Vinted Asking Prices — Median, Range & Favourites
- Vinted Underpriced Listings — Cheap and Most Favourited
- AutoScout24 Listings — One Row per Car, $0.0006 Each
- AutoScout24 Used Car Prices by Model — Median & Range
- AutoScout24 Underpriced Cars — Discount vs Model Median
All tools (Japan marketplaces, real estate, jobs, racing, prediction markets): https://apify.com/jpmarketdata
Disclaimer
Unofficial, independent tool — not affiliated with, endorsed by, or sponsored by Vinted. Product names and logos belong to their owners and only say where the data comes from. Data is read from public pages, for market research; check before you act on it.