Vinted Scraper avatar

Vinted Scraper

Pricing

$1.00 / 1,000 results

Go to Apify Store
Vinted Scraper

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

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

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-pasting brand_ids[]= numbers out of Vinted URLs.
  • ๐Ÿ’ต Net seller price on every row. Every listing carries netSellerPrice after Vinted's buyer-protection fee, so repricing logic models true take-home, not gross listing.
  • โค๏ธ Popularity signals on every row. favouriteCount and viewCount ship 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, isHidden populated wherever Vinted exposes them, so you can detect when an item leaves active inventory.
  • ๐Ÿ… Seller-quality signals. sellerBadges (ACTIVE_LISTER, SPEEDY_SHIPPING), sellerFeedbackCount, sellerFeedbackReputation, plus isBusinessSeller for 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 recordType field, 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

  1. Create a free Apify account. Takes 30 seconds, no card needed.
  2. Open Vinted Scraper in the Apify Console.
  3. Pick a mode, fill the country and the matching field (search text, member URL, item URLs, or brand keyword).
  4. Click Start. A 100-row search typically finishes in 15-30 seconds; 200+ rows use concurrent pagination and finish in under a minute.
  5. 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
}
FieldTypeDefaultNote
modeenumsearchsearch, user-listings, item-detail, brand-catalog
countryenumuk26 markets, e.g. uk, fr, de, it, es, nl, pl, us
searchTextstringnoneKeyword query (search mode)
brandstringnoneBrand name; auto-resolved to ID (search mode)
categoryintegernoneVinted catalog ID; copy from the catalog[]= value in a Vinted URL
sizestringnoneSize label (search mode)
conditionarraynoneOne or more of new_with_tags, new_without_tags, very_good, good, satisfactory
colorstringnoneColor label (search mode)
priceFrom / priceTonumbernonePrice range in the country's local currency
sortByenumrelevancerelevance, price_low_to_high, price_high_to_low, newest_first
userUrlURLnoneMember URL (user-listings mode)
itemUrlsURL[]noneItem URLs (item-detail mode)
brandKeywordstringnoneFuzzy brand query (brand-catalog mode)
maxResultsinteger100Cap on dataset rows. 0 means up to Vinted's 960-per-query ceiling.
maxConcurrencyinteger6Parallel 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.fr and vinted.de, sort by price_low_to_high, surface the gap.
  • ๐Ÿ’ต Repricing engines that model true take-home. netSellerPrice is 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 to id=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 favouriteCount per item over time to find what's getting attention before it sells.
  • ๐Ÿค– LLM fashion-resale agents. One flat record shape per row, with a recordType discriminator that feeds straight into an agent loop.
  • ๐Ÿ“‚ Brand taxonomy bootstrap. Run brand-catalog once 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-catalog returns 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.

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.