Vinted Scraper
Pricing
$1.00 / 1,000 results
Vinted Scraper
Scrape Vinted across all 26 EU and US markets in one actor. Four modes: keyword search with filters, full seller closets, item detail, and brand name to ID lookup. Every row carries net seller price after fees, favourites, views, and sold or reserved status. $1 per 1,000 results.
Pricing
$1.00 / 1,000 results
Rating
0.0
(0)
Developer
Sourabh Kumar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Vinted Scraper ๐ฌ๐ง๐ซ๐ท๐ฉ๐ช๐ฎ๐น๐ช๐ธ๐ณ๐ฑ๐ต๐ฑ๐บ๐ธ | Search, Seller Closets, Item Detail, Brand Catalog
Scrape Vinted across all 26 markets: keyword search with auto-resolved brand IDs, full seller closets, item detail with sold-state flags, and a brand-name lookup table. Works on ๐ฌ๐ง United Kingdom, ๐ซ๐ท France, ๐ฉ๐ช Germany, ๐ฎ๐น Italy, ๐ช๐ธ Spain, ๐ณ๐ฑ Netherlands, ๐ต๐ฑ Poland, ๐บ๐ธ United States, and 18 more EU markets.
One actor, four modes, pay-per-result at $1 per 1,000 records. Paste a keyword, a member URL, or an item URL and run, no login, no proxy setup.
What makes this the best Vinted scraper
- ๐ฐ $1 per 1,000 results, no per-run fee. Pay only for what you keep. The Free plan covers your first 5,000 rows.
- ๐ All 26 Vinted markets in one actor. ๐ฌ๐ง ๐ซ๐ท ๐ฉ๐ช ๐ฎ๐น ๐ช๐ธ ๐ณ๐ฑ ๐ต๐ฑ ๐ต๐น ๐ง๐ช ๐ฆ๐น ๐ฑ๐น ๐จ๐ฟ ๐ธ๐ฐ ๐ญ๐บ ๐ท๐ด ๐ญ๐ท ๐ซ๐ฎ ๐ฉ๐ฐ ๐ธ๐ช ๐ช๐ช ๐ฌ๐ท ๐ฎ๐ช ๐ฑ๐บ ๐ฑ๐ป ๐ธ๐ฎ ๐บ๐ธ โ pick a country code, change nothing else, every mode works the same.
- ๐ท๏ธ Brand name auto-resolves to brand ID. Type
"yeezy"as your brand filter; the actor looks up the canonical brand and applies it. No copy-pastingbrand_ids[]=numbers out of Vinted URLs. - ๐ต Net seller price on every row. Every listing carries
netSellerPriceafter Vinted's buyer-protection fee, so repricing logic models true take-home, not gross listing. - โค๏ธ Popularity signals on every row.
favouriteCountandviewCountship on every listing โ the only Vinted actor that surfaces them, so demand-velocity research doesn't need a second scrape. - ๐ฆ Sold / reserved / hidden flags.
isClosed,isReserved,isHiddenpopulated wherever Vinted exposes them, so you can detect when an item leaves active inventory. - ๐
Seller-quality signals.
sellerBadges(ACTIVE_LISTER,SPEEDY_SHIPPING),sellerFeedbackCount,sellerFeedbackReputation, plusisBusinessSellerfor Pro accounts. - โก HTTP-only with concurrent pagination. No browser, no Playwright. Pages fan out in parallel so 200-row searches finish in under a minute.
- ๐ฆ One record shape for every mode. All four modes share a discriminated
recordTypefield, so a single output pipeline can consume the lot. - ๐ก๏ธ Honest about Vinted's limits. Sold listings aren't exposed by Vinted at all. This actor tells you so up front instead of pretending.
What data can you extract?
| ๐ท๏ธ Title & brand | ๐ท Price | ๐ต Net seller price | ๐ข Brand ID |
| ๐ Size | โจ Condition | ๐จ Color | ๐ Description |
| ๐ธ Photos | โค๏ธ Favourite count | ๐๏ธ View count | ๐ Promoted flag |
| ๐ค Seller login + URL | ๐ Seller ID | โญ Feedback count + score | ๐ Seller badges |
| ๐ผ Business-seller flag | ๐ฆ Sold / reserved / hidden | ๐ฆ Heavy-bulky flag | ๐ Uploaded (relative) |
| ๐ Market | ๐ฑ Currency | ๐ Item URL | ๐ Scraped timestamp |
Scraping modes
๐ Search by keyword
Search any Vinted market by keyword with optional filters (brand name, sub-category, condition, price range, sort).
{"mode": "search","country": "uk","searchText": "nike air max","brand": "nike","condition": ["very_good", "new_with_tags"],"priceFrom": 20,"priceTo": 80,"sortBy": "newest_first","maxResults": 200}
๐ค User listings (seller closet)
Pull every active item from a seller's closet by their member URL.
{"mode": "user-listings","country": "uk","userUrl": "https://www.vinted.co.uk/member/3151368835-jacie7","maxResults": 500}
๐ฆ Item detail
Paste one or more item URLs to get the full record: title, brand, size, condition, color, description, photos, seller info, isClosed and isReserved flags, plus the buyer-protection-fee math.
{"mode": "item-detail","country": "uk","itemUrls": ["https://www.vinted.co.uk/items/9026871059-nike-air-max-moto-2k-black-fire-pink"]}
๐ท๏ธ Brand catalog (name โ ID)
Look up a brand name and get the top 10 matches with ID, slug, item count, and a flag for whether Vinted runs authenticity checks on it. Useful before locking a brand filter into a daily search.
{"mode": "brand-catalog","country": "uk","brandKeyword": "yeezy"}
How to scrape Vinted: step by step
- Create a free Apify account. Takes 30 seconds, no card needed.
- Open Vinted Scraper in the Apify Console.
- Pick a mode, fill the country and the matching field (search text, member URL, item URLs, or brand keyword).
- Click Start. A 100-row search typically finishes in 15-30 seconds; 200+ rows use concurrent pagination and finish in under a minute.
- Export the dataset as JSON, CSV, or Excel, or pull results via the API.
How much does Vinted Scraper cost?
$1.00 per 1,000 results. No per-run fee, no monthly minimum.
The Free plan's $5 monthly credit covers about 5,000 rows. The $29/month Starter plan covers about 29,000 rows. Compute usage on top is typically a few cents per thousand for an HTTP-only actor like this one.
You pay only for rows written to the dataset, so filters that narrow a search don't waste budget.
Input
{"mode": "search","country": "uk","searchText": "nike air max","brand": "nike","category": 1242,"size": "10","condition": ["very_good", "new_with_tags"],"color": "Black","priceFrom": 20,"priceTo": 100,"sortBy": "newest_first","maxResults": 200}
| Field | Type | Default | Note |
|---|---|---|---|
mode | enum | search | search, user-listings, item-detail, brand-catalog |
country | enum | uk | 26 markets, e.g. uk, fr, de, it, es, nl, pl, us |
searchText | string | none | Keyword query (search mode) |
brand | string | none | Brand name; auto-resolved to ID (search mode) |
category | integer | none | Vinted catalog ID; copy from the catalog[]= value in a Vinted URL |
size | string | none | Size label (search mode) |
condition | array | none | One or more of new_with_tags, new_without_tags, very_good, good, satisfactory |
color | string | none | Color label (search mode) |
priceFrom / priceTo | number | none | Price range in the country's local currency |
sortBy | enum | relevance | relevance, price_low_to_high, price_high_to_low, newest_first |
userUrl | URL | none | Member URL (user-listings mode) |
itemUrls | URL[] | none | Item URLs (item-detail mode) |
brandKeyword | string | none | Fuzzy brand query (brand-catalog mode) |
maxResults | integer | 100 | Cap on dataset rows. 0 means up to Vinted's 960-per-query ceiling. |
maxConcurrency | integer | 6 | Parallel requests. Higher is faster, lower is gentler on proxies. 1-10. |
Output
Every row carries a recordType discriminator so a single pipeline can fan-out by mode.
Listing row (search and user-listings modes):
{"recordType": "listing","id": 9025648983,"title": "Nike Air Max Plus Terrascape Black UK 5.5 Pre Owned","url": "https://www.vinted.co.uk/items/9025648983-nike-air-max-plus-terrascape-black-uk-55-pre-owned","price": 25,"currency": "GBP","serviceFee": 1.95,"totalBuyerPrice": 26.95,"netSellerPrice": 23.05,"brand": "Nike","brandId": 53,"size": "5.5","condition": "Very good","color": null,"country": "uk","photos": ["https://images1.vinted.net/t/01_005b3_7QR4TyiFfSyAtNSUo9GtcuyM/f800/1779968758.jpeg"],"sellerId": 130039032,"sellerLogin": "graceolivia1311","sellerProfileUrl": "https://www.vinted.co.uk/member/130039032-graceolivia1311","isBusinessSeller": false,"favouriteCount": 13,"viewCount": 0,"promoted": false,"isClosed": false,"isReserved": false,"isHidden": false,"isHeavyBulky": false,"scrapedAt": "2026-05-29T18:48:54.553Z"}
Item detail row (item-detail mode) carries the same fields as above plus:
{"recordType": "item_detail","description": "In excellent worn condition as images show...","color": "Black","uploadedRelative": "7 hours ago","sellerFeedbackCount": 838,"sellerFeedbackReputation": 0.94,"sellerBadges": ["ACTIVE_LISTER", "SPEEDY_SHIPPING"],"isClosed": false,"isReserved": false,"isHidden": false,"category": null,"shippingPrices": null}
Item-detail error row (when a single URL can't be fetched โ never billed):
{"recordType": "item_detail_error","url": "https://www.vinted.co.uk/items/1111111111-doesntexist","reason": "HTML fetch failed across all proxy tiers (likely 4xx/anti-bot block or item removed).","country": "uk","scrapedAt": "2026-05-29T18:48:21.000Z"}
Brand row (brand-catalog mode):
{"recordType": "brand","id": 115490,"title": "Yeezy","slug": "yeezy","itemCount": 376215,"favouriteCount": 83562,"isLuxury": true,"requiresAuthenticityCheck": true,"country": "uk","scrapedAt": "2026-05-28T16:22:55.788Z"}
Use cases
- ๐๏ธ Cross-border reseller arbitrage. Pull Nike Air Force 1 listings on
vinted.frandvinted.de, sort byprice_low_to_high, surface the gap. - ๐ต Repricing engines that model true take-home.
netSellerPriceis the seller's number after Vinted's buyer-protection fee, so your reprice logic doesn't quietly leak margin. - ๐ Brand-level market research. Lock a brand filter (
"yeezy"resolves toid=115490), pull every active listing across markets, aggregate by size or condition. - ๐ Counterfeit / brand-protection monitoring. Watch a brand's full active inventory and a flagged seller's full closet on a schedule.
- ๐ค Seller surveillance. Paste a competitor's member URL; get every active item with price, size, condition, and photos.
- ๐ Demand-velocity research. Track
favouriteCountper item over time to find what's getting attention before it sells. - ๐ค LLM fashion-resale agents. One flat record shape per row, with a
recordTypediscriminator that feeds straight into an agent loop. - ๐ Brand taxonomy bootstrap. Run
brand-catalogonce per market to capture every brand's name, ID, slug, and item count for downstream filtering.
Limitations
- Sold listings aren't exposed. Vinted removes items from search and from seller closets once they sell. This actor returns active listings only; there is no anonymous way to retrieve historical sold prices.
- 960 results per query. Vinted caps any single search at 960 items, regardless of how many actually exist. To go deeper, narrow the filter (
brand,category,priceFrom/priceTo) or split a query into smaller windows. - Brand lookup returns the top 10.
brand-catalogreturns up to 10 fuzzy matches per keyword, ordered by Vinted's own item-count ranking. - Following list is private. A seller's follower list is reachable; the list of accounts they follow is not exposed by Vinted.
- Account-private fields are off-limits. Messages, order history, draft listings, and seller statistics all require being logged in as the seller, which this actor never does.
FAQ
How much does Vinted Scraper cost?
Vinted Scraper uses pay-per-result pricing. You pay $1.00 for 1,000 results. The Apify Free plan gives you $5 in usage credits a month, enough for around 5,000 results. If you run regularly, the $29/month Starter plan covers about 29,000 results.
No subscription lock-in. Pause whenever.
Is it legal to scrape Vinted?
Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible pages, but how you use the output is on you.
Apify's full breakdown: Is web scraping legal?.
Can I integrate Vinted Scraper with other tools?
Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.
Full list: Apify integrations.
Can I use Vinted Scraper with the Apify API?
Yes. Every run is available via the Apify REST API:
curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~vinted-scraper/runs?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"search","country":"uk","searchText":"nike air max","maxResults":50}'
Docs: Apify API reference.
Can I use Vinted Scraper through an MCP Server?
Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call Vinted Scraper. Setup: Apify MCP docs.
Your feedback
Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.