Vinted Products Crawler
Pricing
from $5.00 / 1,000 results
Vinted Products Crawler
Scrape Vinted listings from all 27 country sites — .fr, .de, .co.uk, .pl and more, mixable in one run. Get prices, brands, sizes, conditions, seller ratings and photos as clean JSON, CSV or Excel. Built for reselling, price tracking and market research. Not affiliated with Vinted Limited.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Alkausari M
Maintained by CommunityActor stats
0
Bookmarked
32
Total users
12
Monthly active users
9 days ago
Last modified
Categories
Share
Get thousands of Vinted listings into a spreadsheet — from any of Vinted's 27 country sites. This fast, no-code scraper pulls prices, brands, sizes, conditions, seller ratings, and photos from any catalog, search, or listing page, and hands each listing back as one clean row you can open in Excel or Google Sheets — or pipe straight into your own app. Whether you're reselling, hunting bargains, or tracking the second-hand market, get the data you need in minutes instead of scrolling for hours.
Built and maintained by Alkausari M.
✦ Highlights
- 🌍 Every Vinted country —
.com,.co.uk,.fr,.de,.es,.it,.pland 20 more, mixable in one run - ⚡ Two speeds — blazing-fast mode grabs ~96 listings per request; full-detail mode digs into every listing page
- 🛍️ Full listing data — title, price, size, condition, brand, color, and description
- 👤 Seller insights — username, rating, location, trust badges, and last active time
- 🖼️ Product photos — up to 9 high-resolution image links per item
- 🔗 Flexible input — scrape whole catalogs/searches, single item links, or a mix
- 📊 Any format — JSON, CSV, Excel, XML, or live via the Apify API
- 🛡 Anti-blocking built-in — residential proxies and smart retries
⚙ How it works
▶️ In a hurry? Start from a ready-made task — a saved setup you can run as-is or tweak, so you don't have to build a URL at all. See Ready-made tasks below.
- Paste a URL — a catalog/search page (apply any filters you like first), a direct item link, or several of each.
- Choose how many pages — set the start and end page to control how much you scrape.
- Need descriptions too? — turn on Fetch full item details for descriptions, colours, materials, shipping and seller ratings (slower; the default fast mode is fine for price tracking).
- Click Start — proxies, retries, and parsing are handled for you.
- Download — get your results as JSON, CSV, or Excel, or pull them from the API.
Example input:
{"startUrls": [{ "url": "https://www.vinted.fr/catalog?catalog[]=1904&order=newest_first" },{ "url": "https://www.vinted.de/catalog?search_text=nike" }],"startPageNum": 1,"endPageNum": 5,"maxItems": 200,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
💡 Tip: Apply your filters on Vinted before copying the URL — the scraper keeps every filter (brand, size, category, price range, condition) you set.
▶️ Ready-made tasks
Don't want to build a URL? These are pre-configured setups — open one, hit Start, and you get results. Each is a normal task, so you can change the filters, page range or item limit and save it as your own.
| Task | What it does | Best for |
|---|---|---|
| Track new women's fashion listings on Vinted UK | Latest womenswear from vinted.co.uk, fast mode | Spotting new stock the moment it lands |
| Compare sneaker prices across Vinted France and Germany | Two countries in one run, with comparable priceAmount + currency | Cross-border bargain hunting |
| Research a brand's resale prices and descriptions | One brand with full details — descriptions, materials, seller ratings | Valuing stock before you buy |
Tasks remember their settings, so you can also put one on a schedule — see Integrations & scheduling.
📦 What you get back
Each product listing is one structured record. Here's a real one from vinted.fr, with Fetch full item details turned on:
{"url": "https://www.vinted.fr/items/9627980284-pantalon-hugo-boss-beige-clair","domain": "vinted.fr","title": "pantalon Hugo Boss beige clair taille 50 coupe habillée","price": "€10.00","priceAmount": 10,"currency": "EUR","totalPrice": "€11.20","size": "W50 | FR 60","condition": "Très bon état","brand": "Hugo Boss","brandUrl": "https://www.vinted.fr/catalog/261-tailored-trousers/brand/120-hugo-boss","color": "Beige","description": "Pantalon homme Hugo Boss, coloris beige clair / écru…","uploaded": "Il y a 14 minutes","seller": "lysker","sellerProfileUrl": "https://www.vinted.fr/member/14081384-lysker","sellerRating": 5,"sellerRatingCount": 253,"sellerBadges": null,"sellerLocation": null,"sellerLastSeen": "Vu la dernière fois : il y a 41 minutes","favorites": 0,"images": ["https://images1.vinted.net/tc/05_02362_GTAwfUjrJ4XjL4aoiRA6v68Q/1786381468.jpeg","... up to 9 images"],"shippingPrice": "à partir de 2,83 €","freeShipping": false,"material": null,"measurements": null,"scrapedAt": "2026-08-10T17:19:09.234Z"}
[!NOTE] Every record in a run has the same columns. The default fast mode includes the core fields (title, price, size, condition, brand, images, seller username). Turning on Fetch full item details adds description, colour, material, measurements, shipping, and the seller's rating, location and last-seen. A
nullvalue always means the data genuinely wasn't available — never "not collected".
[!NOTE] Scraping a non-English domain? Text written by Vinted —
condition("Very good" / "Sehr gut" / "Très bon état"),size,uploadedandsellerLastSeen— comes back in that site's own language, because that is how Vinted serves it. Numbers and codes are not: usepriceAmount+currency(rather than the formattedpricestring),sellerRating, anddomainwhen comparing listings across countries in one dataset. One known limitation:sellerBadgesis only available onvinted.comandvinted.co.ukand comes back empty on other domains.
Download as CSV or Excel and each listing becomes a row, each field a column.
📋 Input
| Field | Description | Required | Default |
|---|---|---|---|
| Start URLs | Vinted catalog/search pages, direct item URLs, or a mix — from any Vinted country domain. Direct item URLs are always scraped with full details | Yes | — |
| Start Page | First catalog page to scrape | No | 1 |
| End Page | Last catalog page to scrape (inclusive). Scraping stops early if the catalog has fewer pages | No | 1 |
| Max items | Exact number of listings to save. Scraping stops as soon as it has this many. 0 means no limit. For multi-country runs, see the note below | No | 0 |
| Max Concurrency | How many pages to scrape in parallel. Lower it if you hit blocks; raise it for faster runs | No | 10 |
| Fetch full item details | OFF (default) is fast and cheap. Turn ON to also collect description, colour, material, measurements, shipping, and seller rating/location — much slower and uses far more data | No | false |
| Proxy Configuration | Proxy settings. Leave as default if unsure | No | Apify Proxy (Residential) |
Each catalog page holds about 96 listings, so pages 1–5 returns roughly 480 items. If you want a specific number instead, set Max items — the run stops the moment it has that many, and you're only billed for what you get.
⚠️ Scraping more than one country in the same run? Leave Max items at
0and size the run with Start/End Page. Max items is a single budget shared across all your URLs and filled first-come-first-served, so it splits unevenly between domains — 300 items across France and Germany can land as 192/108, differently each run.
💵 How much does it cost?
You pay per result, and the price depends on which mode you run:
| Mode | What you get | Price |
|---|---|---|
| Fast (default) | 15 core fields — title, price, currency, size, condition, brand, images, seller | $5.00 / 1,000 items |
| Full details | all 28 fields — adds description, colour, material, measurements, shipping, seller rating & location | $10.00 / 1,000 items |
Full-detail mode opens every listing's own page, which uses far more residential proxy bandwidth — that's the difference in price. The surcharge is only applied to pages that were fetched and read successfully. If a listing's page can't be opened, you are not charged the surcharge for it — the item is still saved with the details we already had from the catalog, and the item-page fields are left empty.
Rough guide: a typical run of 5 catalog pages (~480 listings) costs about $2.40 in fast mode, or $4.80 with full details — full details is simply double.
💡 Start in fast mode. It already covers price tracking, resale sourcing and market research — only switch on full details when you specifically need descriptions or materials.
💡 Use cases
- Price research — track second-hand prices for specific brands or items over time.
- Resale sourcing — spot underpriced listings by comparing price, brand, and condition.
- Market analysis — understand what sells, at what price, and in what condition.
- Inventory feeds — build product lists for a category or brand to resell elsewhere.
- Data pipelines — feed a dashboard, a database, or your own app.
🔌 Integrations & scheduling
Results don't have to stay on Apify. Without writing any code you can:
- Send listings to Google Sheets, Airtable or Slack — pick the integration on the Actor's Integrations tab and every run appends its results automatically.
- Connect anything else via Zapier or Make — thousands of apps, triggered when a run finishes.
- Fire a webhook to your own server the moment a run completes, with a link to the fresh dataset.
- Pull the data over the API in JSON, CSV, Excel or XML — one URL, no auth juggling, ideal for a script or notebook.
Run it on a schedule. Point the Actor at a saved Vinted search, set it to run every morning, and send the output to a sheet — that's a working price tracker with no code at all. Combine it with Max items to keep each run's cost predictable.
💡 Tracking prices over time? Schedule daily runs and keep every result —
scrapedAtandpriceAmountare all you need to chart how a brand or category moves.
❓ FAQ
The scraper got blocked or returned nothing — what do I do? Make sure the proxy is enabled (it is by default). Residential proxies route requests through real IP addresses that Vinted is far less likely to block.
I got fewer results than expected — why? Check Max items first — if it's set, the run stops the moment it reaches that number. Otherwise raise the End Page to scrape more pages. Scraping also stops automatically once the catalog runs out of pages, so check that your search URL actually returns that many listings.
Can I scrape several countries in one run?
Yes — mix vinted.fr, vinted.de, vinted.co.uk and any others in Start URLs. Each record carries a domain field so you can tell them apart, and priceAmount + currency let you compare prices across them.
Scraping several countries? Use the page range, not Max items.
Max items is one budget shared by the whole run, not a quota per country — and it's filled first-come-first-served. Ask for 300 items across France and Germany and you might get 192 French and 108 German, with the split changing every run. If you want an even sample, set Max items to 0 and control the size with Start/End Page instead: two countries × 2 pages gives you 192 from each. Reserve Max items for single-country runs, where there's no split to unbalance.
Where are the description, colour and material columns? Those come from each item's own page, so they're only included when Fetch full item details is turned on. The default fast mode skips them to keep runs quick and cheap.
Why are some fields empty (null)?
Vinted sellers aren't required to fill in every detail. Optional fields like material or measurements appear as null when the seller left them blank.
Is it legal to scrape Vinted? This Actor collects only publicly visible listing data — the same information any visitor sees without logging in. Use responsibly and in accordance with Vinted's Terms of Service.
📮 Support
Bugs, feature requests, or custom scraping work — open an issue on Apify or email alkausarimujahid@gmail.com.