Vinted Arbitrage [💰$1.5/1K] | Cross-Country | Price Compare avatar

Vinted Arbitrage [💰$1.5/1K] | Cross-Country | Price Compare

Pricing

from $1.47 / 1,000 results

Go to Apify Store
Vinted Arbitrage [💰$1.5/1K] | Cross-Country | Price Compare

Vinted Arbitrage [💰$1.5/1K] | Cross-Country | Price Compare

Scrape Vinted listings across 26 European markets, convert local prices to EUR and compare margins to find buy/sell arbitrage opportunities. Get per-market averages, medians and pairwise gross-margin reports.

Pricing

from $1.47 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

2

Monthly active users

16 days ago

Last modified

Security

Limited permissions

Share

Vinted Cross-Country Arbitrage Scraper

Apify Actor Node

Scrape Vinted listings across 26 European markets in one run and get a normalised cross-country arbitrage report. Listings are converted to EUR using ECB reference rates, so prices from different currencies are directly comparable.


Quick start

{
"mode": "CROSS_COUNTRY",
"query": "Nike Jordan 4",
"countries": ["fr", "de", "pl", "it"],
"maxItems": 120,
"minPrice": 5,
"maxPrice": 300
}
================ CROSS-COUNTRY ARBITRAGE REPORT ================
1. PL 164.75 PLN (avg 37.71 EUR / median 40.55 EUR) range 10.84-300 n=120
2. FR 71.32 EUR (avg 71.32 EUR / median 40.00 EUR) range 5-299 n=120
3. IT 72.64 EUR (avg 72.64 EUR / median 45.00 EUR) range 5-299 n=120
4. DE 78.34 EUR (avg 78.34 EUR / median 50.00 EUR) range 5-299 n=120
===============================================================
BUY in PL → SELL in DE
Gross margin: 107.7% (before fees, shipping, buyer protection)

How It Works

Vinted Arbitrage Scraper workflow: from 26 European market searches to normalized prices and cross-country margin reports

Looking for a Vinted scraper or a practical Vinted API alternative? Search 26 European markets and get normalized listings plus a cross-country arbitrage report for resale sourcing and price research. Each record includes title, price, buyer-protection fee, currency, brand, size, condition, URL, seller, country, likes, views and item ID.

Use the dataset to compare market prices, find sourcing gaps, track categories or build a resale dashboard. Export as JSON, CSV or Excel, or pull results through the Apify API. Start with a small run, then pay from $1.50 per 1,000 listings.

Modes

ModeInputOutput
SEARCHquery, countriesListings per market, up to the deep-pagination limit
CROSS_COUNTRYquery, countriesSame as SEARCH plus the arbitrage report
TRENDINGcountriesNewest listings across markets
PRODUCT_DETAILstartUrlsOne enriched row per item link (description, category, photos)
SELLER_PROFILEstartUrlsEvery public item of each seller profile

Supported markets

fr de uk it es nl pl pt be at lt cz sk hu ro hr fi dk se ee gr ie lu lv si

USA is not supported. If us is passed it is skipped with a warning instead of failing the run.


Deep pagination

Vinted limits how many listings a single search pass can return. When a search matches more items than that limit, the Actor can split the configured price range into bands and sweep each band separately, so large runs keep collecting without gaps. This requires Max Price. Set priceBandPartitioning: false to disable it.

Filters

InputNotes
queryKeywords. Empty browses the whole catalogue
minPrice / maxPriceLocal currency. Both are sent to Vinted
status_idsnew_with_tags, new_without_tags, very_good, good, satisfactory
brand_idsVinted brand IDs, e.g. 53 (Nike), 14 (Adidas)
size_ids / color_idsVinted size / colour IDs
catalog_idsVinted category IDs
ordernewest_first, relevance, price_low_to_high, price_high_to_low, most_popular, highest_viewed

Condition names are mapped automatically. Numeric IDs are also accepted.


Output fields

title price priceWithFee serviceFee currency brand size condition url imageUrl seller country liked favourite views promoted photoCount itemId scraped_at

PRODUCT_DETAIL adds description category color availability. SELLER_PROFILE adds seller_id. fetchPhotos: true adds allPhotos (every full-size photo URL, comma separated).


Limits

PlanMax items per marketMax markets per run
Free505
Paidup to 50005

Listings are collected across the selected markets and merged into one normalized dataset. A single run can cover up to five markets.

Local development

npm install
# Apify CLI (uses the real proxy and Apify storage)
apify run --input '{"mode":"SEARCH","query":"nike","countries":["fr"],"maxItems":50}'
# or plain Node against local storage
mkdir -p storage/key_value_stores/default
echo '{"mode":"SEARCH","query":"nike","countries":["fr"],"maxItems":50}' > storage/key_value_stores/default/INPUT.json
node main.js

Requires Node 20+ (tested on Node 24).


Troubleshooting

SymptomCause
Run returns 0 itemsCheck the requested price range exists for that market and that the query is spelled the way Vinted indexes it
Items repeat across marketsExpected — the same listing can appear in several markets. itemId is stable, use it to dedupe
Fewer items than expectedThe market may have fewer matches, or the price range may be too narrow

Notes

Only public catalogue and listing information is used. No login, account credentials or private data. Respect Vinted's terms of service and the rate limits of the markets you query.