Vinted Scraper avatar

Vinted Scraper

Pricing

Pay per event

Go to Apify Store
Vinted Scraper

Vinted Scraper

Scrape Vinted secondhand fashion listings by keyword. Get prices, brands, sizes, conditions, seller info, and images across 16 European markets. Track price trends, monitor competitors, or build datasets for resale research. Export to JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

5.6 hours

Issues response

2 days ago

Last modified

Share

Scrape Vinted — Europe's largest secondhand fashion marketplace — and extract structured listing data across all 16 regional domains. No API key, no login, no browser required. Pure HTTP scraping with residential proxy routing built in.

What does Vinted Scraper do?

Vinted Scraper extracts product listings from Vinted search results in real time. Enter any search query — nike shoes, vintage levi's, leather jacket — choose a regional domain, and get back clean JSON with titles, prices, brands, sizes, conditions, and images for every matching listing.

Two scraping modes are available: catalog mode (fast, cheap — pulls up to 96 items per page request directly from search results) and detail mode (visits each item page for richer data including full descriptions, colors, categories, and stock status). Switch modes with a single toggle.

The scraper supports all 16 Vinted regional domains: vinted.com (US), vinted.fr (France), vinted.de (Germany), vinted.co.uk (UK), vinted.es (Spain), vinted.it (Italy), vinted.nl (Netherlands), and 9 more European markets — each with automatic country-matched proxy routing for maximum reliability.

Who is Vinted Scraper for?

🛍️ Resellers and thrift flippers

  • Scan Vinted for underpriced Nike, Adidas, Levi's, and other brand items to resell on eBay, Depop, or Poshmark
  • Set up scheduled daily runs to catch newly listed items before competitors
  • Filter by price range and brand IDs to find specific deals instantly

📊 Market researchers and trend analysts

  • Track how secondhand prices move across regions (France vs Germany vs UK) for the same brand or category
  • Measure how fast items sell by monitoring listing availability over time
  • Collect bulk data on category mix, condition distribution, and brand popularity in circular fashion

🏢 Fashion brands and circular economy companies

  • Monitor how your own brand's products are priced on the secondhand market
  • Benchmark competitors' pre-owned inventory and pricing strategies across European markets
  • Feed data into internal pricing models for take-back or resale programs

🎓 Academic researchers and data journalists

  • Study circular fashion economics, consumer behavior, and sustainability trends with real market data
  • Analyze price elasticity by condition (New, Very Good, Good) across 16 national markets
  • Export to CSV or Excel for statistical analysis without writing a single line of code

Why use Vinted Scraper?

  • 🌍 16 regional markets in one actor — switch between vinted.com, vinted.fr, vinted.de, vinted.co.uk, and 12 more with a single dropdown
  • Pure HTTP — no browser overhead — faster and cheaper than Playwright-based scrapers; catalog mode pulls 96 listings per request
  • 🔄 Smart proxy routing — automatically routes through country-matched residential IPs for each domain (French proxies for vinted.fr, etc.)
  • 🔍 Two data depths — catalog mode for speed and volume, detail mode for full descriptions, colors, and categories
  • 🎯 Powerful filters — price range, sort order, category ID, and brand IDs to narrow results precisely
  • 💳 Pay only for results — pay-per-event pricing means you're never charged for failed or empty runs
  • 🔑 No login required — works entirely on public search pages; no Vinted account needed
  • 📦 Multiple export formats — JSON, CSV, Excel, and XML all available from the Apify Console

What data can you extract?

🗂️ Catalog mode fields (always available)

FieldTypeDescription
idStringVinted item ID
titleStringItem title or brand name
priceNumberItem price (parsed, numeric)
currencyStringCurrency code (USD, EUR, GBP, PLN, etc.)
brandStringBrand name
sizeStringSize label (e.g., "M", "US 10", "S / US 4-6")
conditionStringItem condition (Good, Very good, New, etc.)
urlStringDirect URL to the item listing page
imageUrlStringPrimary item image URL
domainStringVinted domain used (e.g., vinted.fr)
positionNumberPosition in search results
queryStringSearch query used
pageNumberCatalog page number
scrapedAtStringISO 8601 timestamp of extraction

🔍 Detail mode fields (when includeDetails: true)

FieldTypeDescription
descriptionStringFull seller-written item description
categoryStringFull category path (e.g., "Women Long dresses")
colorStringItem color
availabilityStringStock status: "In Stock" or "Out of Stock"

Detail mode also improves accuracy of title, price, brand, condition, and imageUrl by pulling from structured JSON-LD on the item page.

How much does it cost to scrape Vinted listings?

This actor uses pay-per-event pricing — you pay only for what you scrape. No monthly subscription. All proxy costs are included.

FreeStarter ($29/mo)Scale ($199/mo)Business ($999/mo)
Run started$0.005$0.005$0.005$0.005
Per listing$0.00345$0.003$0.00234$0.0018
1,000 listings$3.455$3.005$2.345$1.805

Higher-tier plans (Platinum, Diamond) get additional enterprise discounts.

Real-world cost examples (Free tier):

QueryModeResultsApprox. cost
nike shoes on vinted.comCatalog50 listings~$0.18
summer dress on vinted.frCatalog200 listings~$0.70
leather jacket on vinted.deDetail100 listings~$0.35
Brand monitoring (3 queries)Catalog500 listings~$1.73

With the $5 free Apify credit, you can scrape approximately 1,400 listings (catalog mode, Free tier) at no cost.

How to scrape Vinted listings

  1. Go to Vinted Scraper on Apify Store
  2. Click "Try for free" to open the actor in Apify Console
  3. Enter your search query — e.g., nike shoes, summer dress, vintage levi's 501
  4. Select the Vinted domain — choose the regional marketplace you want (default: vinted.com)
  5. Set Max Items — start with 50 to preview results, then scale up to 10,000
  6. Choose your scraping mode — leave "Include Item Details" off for fast catalog scraping, or enable it for full descriptions, colors, and categories
  7. Optionally set filters — price range (min/max), sort order, category ID, or brand IDs
  8. Click "Start" and wait a few seconds for results to appear
  9. Download results as JSON, CSV, Excel, or XML from the Dataset tab

Example input for a targeted search:

{
"searchQuery": "nike air max",
"domain": "vinted.co.uk",
"maxItems": 200,
"sortBy": "price_low_to_high",
"maxPrice": 50
}

Example input for brand monitoring with detail data:

{
"searchQuery": "levi's 501",
"domain": "vinted.de",
"maxItems": 100,
"includeDetails": true,
"sortBy": "newest_first"
}

Input parameters

ParameterTypeRequiredDefaultDescription
searchQueryStringYesSearch term for Vinted (e.g., "nike shoes")
domainEnumNovinted.comRegional Vinted domain to search (see table below)
maxItemsIntegerNo96Maximum listings to extract (1–10,000)
includeDetailsBooleanNofalseVisit each item page for descriptions, colors, and categories
sortByEnumNorelevanceSort order: relevance, price_low_to_high, price_high_to_low, newest_first
minPriceNumberNoMinimum price filter (in local currency of selected domain)
maxPriceNumberNoMaximum price filter (in local currency of selected domain)
catalogIdStringNoVinted category/catalog ID (find from Vinted URLs, e.g., 79 for Women's Dresses)
brandIdsStringNoComma-separated Vinted brand IDs to filter by (e.g., 53,14 for Nike, Adidas)
proxyConfigurationObjectNoResidentialProxy settings — residential proxies are pre-configured and recommended

Supported Vinted domains:

DomainMarketCurrency
vinted.comUnited StatesUSD
vinted.frFranceEUR
vinted.deGermanyEUR
vinted.co.ukUnited KingdomGBP
vinted.esSpainEUR
vinted.itItalyEUR
vinted.nlNetherlandsEUR
vinted.beBelgiumEUR
vinted.plPolandPLN
vinted.ltLithuaniaEUR
vinted.czCzech RepublicCZK
vinted.ptPortugalEUR
vinted.seSwedenSEK
vinted.dkDenmarkDKK
vinted.fiFinlandEUR
vinted.skSlovakiaEUR

Output examples

Catalog mode output (fast, default):

{
"id": "8437008079",
"title": "Nike Air Max 90",
"price": 45.00,
"currency": "USD",
"brand": "Nike",
"size": "US 10",
"condition": "Good",
"url": "https://www.vinted.com/items/8437008079-nike-air-max-90",
"imageUrl": "https://images1.vinted.net/t/02_00123_abc123/f800/item.jpeg",
"description": null,
"category": null,
"color": null,
"availability": null,
"domain": "vinted.com",
"position": 1,
"query": "nike shoes",
"page": 1,
"scrapedAt": "2026-03-22T10:30:00.000Z"
}

Detail mode output (with includeDetails: true):

{
"id": "8437008079",
"title": "Nike Air Max 90 White",
"price": 45.00,
"currency": "USD",
"brand": "Nike",
"size": "US 10",
"condition": "Used",
"url": "https://www.vinted.com/items/8437008079-nike-air-max-90",
"imageUrl": "https://images1.vinted.net/t/02_00123_abc123/f800/item.jpeg",
"description": "Worn a few times, still in great shape. Minor scuffs on sole. Original box not included.",
"category": "Men Sneakers",
"color": "White",
"availability": "In Stock",
"domain": "vinted.com",
"position": 1,
"query": "nike shoes",
"page": 1,
"scrapedAt": "2026-03-22T10:30:00.000Z"
}

Tips for best results

  • 🚀 Start with catalog mode — it is 10–20x faster than detail mode and sufficient for price monitoring, trend analysis, and bulk market research. Only enable detail mode when you specifically need descriptions, colors, or full category paths.
  • 🌍 Match domain to market — each Vinted domain has distinct listings. French sellers list on vinted.fr, German sellers on vinted.de. There is minimal overlap between domains, so choose the domain matching the market you want to analyze.
  • 🔢 Start small, then scale — begin with maxItems: 50 to preview results and verify the search captures what you expect. Scale up to thousands once confirmed.
  • 💶 Use price filters to narrow resultsminPrice and maxPrice are in the local currency of the selected domain. For vinted.co.uk, values are in GBP; for vinted.pl, in PLN.
  • 🏷️ Find brand IDs from URLs — go to Vinted, filter by a brand, and copy the brand_ids[] value from the URL. Pass multiple brand IDs comma-separated (e.g., 53,14).
  • 📂 Find category IDs from URLs — navigate to a category on Vinted and copy the catalog_id query parameter. Use this with catalogId to restrict results to that category.
  • ⏱️ Schedule daily runs — use Apify's scheduler to run the actor every morning and track how listings change over time for ongoing price monitoring or inventory research.
  • 📊 Combine brand + category filters — use brandIds together with catalogId for highly targeted sourcing (e.g., Nike sneakers in Men's footwear only).
  • 🔄 Retry on empty results — if page 1 returns 0 results, try a broader query or switch domains. Narrow filters (price + brand + category combined) can produce zero results on low-volume markets.

Integrations

Vinted Scraper connects to your existing tools through the Apify platform:

📋 Vinted → Google Sheets — Push scraped listings automatically to a spreadsheet. Use Apify's Google Sheets integration to maintain a live price database. Schedule daily runs to append new listings and track price changes over time.

💬 Vinted → Slack — Get a Slack alert when new Nike or Adidas items appear under a target price. Set up a scheduled run + webhook that posts to your deal-hunting channel whenever fresh listings match your criteria.

Vinted → Make (Integromat) / Zapier — Trigger downstream workflows: auto-add high-value listings to an eBay draft, update a Notion reseller database, or sync to Airtable for team review. Both platforms connect to Apify via webhook.

🔗 Webhooks — Configure a webhook URL so your backend receives a POST request the moment a run finishes. Use this to ingest fresh Vinted data into your own database without polling.

📅 Scheduled monitoring — Run the scraper every hour, day, or week using Apify's built-in scheduler. Track how prices evolve for specific search terms over time without any manual intervention.

📦 Direct export — Download datasets as JSON, CSV, Excel, or XML from the Apify Console. Load directly into Pandas, R, Excel, or any BI tool for ad-hoc analysis.

Using the Apify API

Run Vinted Scraper programmatically and integrate it into your applications using the Apify API.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/vinted-scraper').call({
searchQuery: 'nike air max',
domain: 'vinted.co.uk',
maxItems: 200,
sortBy: 'price_low_to_high',
maxPrice: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} Vinted listings`);
items.forEach(item => console.log(`${item.title}${item.price} ${item.currency}`));

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/vinted-scraper').call(run_input={
'searchQuery': "levi's 501",
'domain': 'vinted.fr',
'maxItems': 100,
'includeDetails': True,
'sortBy': 'newest_first',
})
items = client.dataset(run['defaultDatasetId']).list_items().items
for item in items:
print(f"{item['brand']} {item['title']}{item['price']} {item['currency']} ({item['condition']})")

cURL

curl "https://api.apify.com/v2/acts/automation-lab~vinted-scraper/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"searchQuery": "vintage leather jacket",
"domain": "vinted.de",
"maxItems": 100,
"sortBy": "price_low_to_high",
"maxPrice": 80
}'

Use with AI agents via MCP

Vinted Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/vinted-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/vinted-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Use automation-lab/vinted-scraper to search for Nike Air Force 1 on Vinted France under 60 EUR, sorted by newest first"
  • "Find the 50 cheapest Levi's 501 jeans on Vinted Germany right now"
  • "Scrape 200 vintage leather jackets from Vinted UK and tell me the average price by condition"

Learn more in the Apify MCP documentation.

Vinted Scraper extracts only publicly available data from Vinted search results — the same information any visitor sees when browsing the website without logging in. The scraper does not access private profiles, bypass login walls, or circumvent any technical protection measures.

Web scraping of publicly available data is generally legal, as confirmed by the U.S. Ninth Circuit ruling in hiQ Labs v. LinkedIn (2022). However, you should review Vinted's Terms of Service and ensure your use case complies with applicable data protection laws (GDPR in Europe, CCPA in California, etc.).

Best practices:

  • Use scraped data for research, price monitoring, and business intelligence — not for re-publishing Vinted's listings
  • Do not collect personal information (seller names, contact details) beyond what is needed for your use case
  • Rate-limit your runs and avoid hammering the platform with thousands of concurrent requests
  • If you are building a commercial product on top of this data, consult with legal counsel about compliance

Apify's platform is built for ethical, responsible web data collection. Learn more about web scraping legality.

Frequently asked questions

Do I need a Vinted account or API key to use this scraper? No. Vinted Scraper works entirely on public search result pages. No login, no Vinted account, and no API key are required.

What is the difference between catalog mode and detail mode? Catalog mode extracts data directly from search result pages — title, price, brand, size, condition, image, and URL. It is fast (up to 96 items per request) and cheap. Detail mode additionally visits each individual item page to extract the full description, color, category path, and stock availability. Detail mode is slower (one extra HTTP request per item) but provides richer data for deeper analysis.

Why are some results missing images or have empty fields? In catalog mode, image extraction depends on Vinted's page structure. If Vinted changes their HTML, the image selector may not match. Enable includeDetails: true to pull images from structured JSON-LD on the item page, which is more reliable. Empty brand or size fields mean the seller did not fill them in on the listing.

Why am I getting fewer results than my maxItems setting? This happens when: (1) your search query returns fewer total listings than requested on the selected domain, (2) price or brand filters narrow the pool significantly, or (3) anti-bot measures temporarily blocked some pages. Try a broader query, remove filters, or increase maxItems and re-run.

How fast is the scraper and how many items per minute can it extract? In catalog mode, expect roughly 50–100 items per minute (96 items per page, ~1.5 second delay between pages). With includeDetails: true, speed drops to 10–30 items per minute due to the extra request per item plus a 0.5-second delay. For large-scale runs (1,000+ items), plan for 10–30 minutes of runtime.

Can I monitor Vinted for new listings automatically? Yes. Use Apify's built-in scheduler to run the actor on a schedule (e.g., every hour) with sortBy: "newest_first". Combine with a webhook or Google Sheets integration to get notified or log new arrivals automatically. This is the standard setup for resellers who want to catch fresh listings before competitors.

Can I scrape sold or completed listings? No. Vinted only shows active listings in search results. Sold items are removed from search pages and cannot be accessed through this scraper.

Other e-commerce and marketplace scrapers

Looking for data from other resale or retail platforms? Check out these actors from automation-lab:

  • eBay Scraper — Extract eBay product listings, prices, bids, and seller data
  • Amazon Scraper — Scrape Amazon product search results and product detail pages at scale
  • Poshmark Scraper — Pull fashion listings from Poshmark for resale research and price comparisons
  • Etsy Scraper — Scrape handmade and vintage items from Etsy search results
  • Craigslist Scraper — Extract Craigslist classified listings by location and category
  • Shopify Store Scraper — Extract products, collections, and reviews from any Shopify-powered store
  • Walmart Scraper — Scrape Walmart product search results and pricing data
  • Newegg Scraper — Extract electronics listings and prices from Newegg