Vinted Scraper — Second-Hand Fashion Listings, Prices & Sellers
Pricing
from $3.00 / 1,000 listings
Vinted Scraper — Second-Hand Fashion Listings, Prices & Sellers
Scrape Vinted listings via the catalog search API — title, brand, size, condition, price, buyer-protection total, favourites, views, seller and photos. Paste any Vinted catalog, member/closet, or item URL, or search by keyword + filters across any country domain. JSON/CSV out.
Pricing
from $3.00 / 1,000 listings
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Vinted Scraper
Turn any Vinted URL or keyword into a structured stream of second-hand fashion listings. Scrape title, brand, size, condition, price, buyer-protection total, favourites, views, seller, and photos from any catalog search, member closet, or item page — across every Vinted country domain.

Why Use This Scraper?
- ✅ Multiple Vinted entry points — paste any catalog, member/closet, or item URL
- ✅ Keyword search mode with brand, category, size, condition, and price filters
- ✅ Every country domain — vinted.com, vinted.co.uk, vinted.fr, vinted.de, and 18 more
- ✅ Real prices including the buyer-protection total and service fee, not just the sticker price
- ✅ Seller, favourites, views, and photo data on every row
- ✅ Flat one-row-per-listing output ready for CSV and spreadsheets
Overview
The Vinted Scraper is built for resellers, price analysts, and market researchers who need structured listing data from Vinted's second-hand fashion marketplace.
The output is always listing-shaped rows. Whether you start from a catalog search URL, a member's closet, or a single item URL, the resulting dataset is a flat stream of listing rows — one per item — not separate seller or search rows.
Vinted partitions its catalog by country domain: an item on vinted.com does not exist on vinted.fr, and the access token used to read the API is bootstrapped per domain. The scraper handles this automatically — every seed carries its own domain, and the domain field controls keyword searches.
Supported Inputs
URL types
| URL type | Pattern | Example |
|---|---|---|
| Catalog / search | /catalog?search_text=...&brand_ids[]=... | https://www.vinted.com/catalog?search_text=nike&order=newest_first |
| Member / closet | /member/{id}-{login} | https://www.vinted.com/member/3158054083-magicthriftbus |
| Single item | /items/{id}-slug | https://www.vinted.com/items/9439503568-nike-pullover-hoodie-blue |
Copy-pasteable startUrls
{"startUrls": ["https://www.vinted.com/catalog?search_text=nike&order=newest_first","https://www.vinted.co.uk/catalog?search_text=carhartt","https://www.vinted.com/member/3158054083-magicthriftbus"]}
Keyword / search mode
The actor also runs from a keyword plus filters, without any URL:
{"searchText": "levis 501","domain": "vinted.fr","priceFrom": 10,"priceTo": 60,"order": "newest_first"}
Unsupported inputs
- ❌ Content behind a Vinted login (private messages, favourites lists, buyer-only fields)
- ❌ Full item descriptions and measurements on cross-domain item URLs (Vinted 404s item detail unless the domain matches the item's home country — the scraper still emits the id, url, and domain)
- ❌ Hosts outside
*.vinted.*
Use Cases
| Audience | Use case |
|---|---|
| Resellers | Track sold-through, benchmark asking prices, and spot underpriced listings to flip |
| Price analysts | Build price distributions by brand, size, and condition across country domains |
| Brand / market teams | Monitor how a brand trades second-hand and how buyer-protection fees affect final price |
| Sourcing agents | Watch specific closets for new drops and reserved-vs-available status |
| Researchers | Bulk-export second-hand fashion supply for circular-economy and resale studies |
| Agencies | Deliver client-ready Vinted datasets without maintaining a scraper |
How It Works

- Input — provide Vinted URLs and/or a keyword plus filters on a chosen country domain
- Bootstrap token — the actor fetches the domain homepage to obtain a per-domain access token
- Classify — each URL is auto-routed to the catalog search, wardrobe (closet), or item endpoint
- Collect & paginate — it walks pages up to Vinted's
total_pagesor yourmaxItems - Output — one flat listing row per item, exportable as JSON or CSV
Input Configuration
Input fields
| Field | Type | Required | Notes |
|---|---|---|---|
startUrls | array<string> | yes (or searchText) | Vinted catalog, member, or item URLs; auto-classified |
searchText | string | optional | Keyword used when no URLs are given |
domain | string enum | optional | Country domain; default vinted.com |
brandIds | array<string> | optional | Numeric Vinted brand IDs (keyword search only) |
catalogIds | array<string> | optional | Numeric category IDs (keyword search only) |
sizeIds | array<string> | optional | Numeric size IDs (keyword search only) |
statusIds | array<string> | optional | Numeric condition IDs (keyword search only) |
priceFrom | integer | optional | Minimum price (keyword search only) |
priceTo | integer | optional | Maximum price (keyword search only) |
order | string enum | optional | relevance | newest_first | price_low_to_high | price_high_to_low |
maxItems | integer | optional | Hard cap on listings; default 1000 |
maxConcurrency | integer | optional | API pages in parallel; default 10 |
proxy | object | optional | Residential recommended; built-in route by default |
Common scenarios
1. Keyword search on a specific domain
{"searchText": "nike","domain": "vinted.com","order": "newest_first","maxItems": 500}
2. Mixed start URLs
{"startUrls": ["https://www.vinted.com/catalog?search_text=nike","https://www.vinted.com/member/3158054083-magicthriftbus"],"maxItems": 200}
3. Filtered keyword search
{"searchText": "jacket","domain": "vinted.co.uk","brandIds": ["53"],"priceFrom": 15,"priceTo": 80}
Output Overview
Each dataset item is one listing row containing:
- Core fields — id, title, url, brand, size, condition, domain
- Pricing — price, currency, service fee, and total including buyer protection
- Engagement — favourites and views
- Seller — id, login, profile url, and business flag
- Media — the main photo url and photo count
Different start types (catalog / closet / item) all resolve to the same flat listing shape. A few fields are naturally sparse: isReserved is populated from closet pages but null on catalog search, and views/favourites are commonly 0 for brand-new listings.
Output Samples
Catalog search start (keyword nike, vinted.com)
{"id": 9439503568,"title": "Nike pullover hoodie - blue","url": "https://www.vinted.com/items/9439503568-nike-pullover-hoodie-blue","brand": "Nike","size": "L / US 12-14","condition": "Very good","price": 7,"currency": "USD","totalPriceWithBuyerProtection": 8.05,"serviceFee": 1.05,"favourites": 0,"views": 0,"isPromoted": false,"isReserved": null,"sellerId": 3169579411,"sellerLogin": "daniv359","sellerUrl": "https://www.vinted.com/member/3169579411-daniv359","sellerIsBusiness": false,"photoUrl": "https://images1.vinted.net/t/05_00713_.../f800/1784482413.jpeg","photoCount": 3,"domain": "vinted.com","scrapedAt": "2026-07-19T17:42:41.921Z"}
Member / closet start (same flat shape, isReserved populated)
{"id": 9439107296,"title": "2001 Mattel Harry Potter \"Gryffindor Friends\" plush doll","url": "https://www.vinted.com/items/9439107296-...","brand": "Harry Potter","size": "One size","condition": "Good","price": 5,"currency": "USD","totalPriceWithBuyerProtection": 5.7,"serviceFee": 0.7,"isReserved": false,"sellerLogin": "magicthriftbus","photoCount": 5,"domain": "vinted.com"/* ...same fields as above... */}
Key Output Fields
Listing Core
id,title,url,brand,size,condition,domain
Pricing
price,currencyserviceFee,totalPriceWithBuyerProtection
Engagement
favourites,views,isPromoted,isReserved
Seller
sellerId,sellerLogin,sellerUrl,sellerIsBusiness
Media
photoUrl,photoCount
FAQ
Which Vinted URLs are supported?
Catalog/search URLs (/catalog?...), member/closet URLs (/member/{id}-{login}), and single item URLs (/items/{id}-slug). Each is auto-classified. Filters in a catalog URL's query string (search_text, brand_ids, catalog, size_ids, status, color_ids, price_from, price_to, order) are mapped straight to the API.
Do you return listing rows or seller rows?
Always listing rows. A member/closet URL is expanded into one row per item in that seller's wardrobe — you never get a single "seller" row.
How do I filter by brand or category?
Filter on the Vinted site, then copy the numeric IDs out of the resulting catalog URL — brand_ids[], catalog[], size_ids[], status[] — and pass them in the matching input fields (keyword-search mode). Or just paste the whole filtered catalog URL into startUrls.
Why is totalPriceWithBuyerProtection higher than price?
price is the seller's asking price. Vinted adds a Buyer Protection fee (serviceFee) on top; totalPriceWithBuyerProtection is what a buyer actually pays.
Why are some fields null or zero?
isReserved is only present on closet pages, so it is null on catalog search. views and favourites are frequently 0 on freshly listed items. Full item descriptions and measurements require the item-detail endpoint, which Vinted geo-restricts by domain.
Which countries can I scrape?
Any Vinted domain — vinted.com, .co.uk, .fr, .de, .es, .it, .nl, .be, .pl, .cz, .sk, .at, .lt, .lu, .pt, .se, .ro, .hu, .gr, .fi, .dk, .ie. Pick one with the domain field, or paste URLs from any of them.
Can I scrape private profiles or content behind login?
No. The actor only reads publicly available listing data. Anything behind the Vinted login wall is out of scope.
What about rate limits?
Vinted's catalog API shows low anti-bot friction. The actor bootstraps a fresh per-domain token, refreshes it and rotates the proxy on any 401/403 or block page, and paginates politely. Residential proxy is recommended for large runs.
Support
Found a bug or have a feature request? Open an issue on the actor's Issues tab.
Additional Services
Need full item descriptions, measurements, sold-listing history, or scheduled closet monitoring? Custom work is available on request — open an issue with what you need.
Explore More Scrapers
If you found this useful, you might also like:
- North Data Scraper — European company data, officers, and financials
- Other marketplace and directory scrapers on apify.com/memo23
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/apify-vinted-scraper).
Purpose: scrape Vinted second-hand fashion listings from catalog searches, member closets, or item URLs across any Vinted country domain.
Minimal input:
{ "searchText": "nike", "domain": "vinted.com", "maxItems": 20 }
Output: one dataset row per listing — id, title, url, brand, size, condition, price, currency, serviceFee, totalPriceWithBuyerProtection, favourites, views, isPromoted, isReserved, sellerId, sellerLogin, sellerUrl, sellerIsBusiness, photoUrl, photoCount, domain, scrapedAt.
Behaviors an agent should know:
- Always set
maxItems— an uncapped popular search can span hundreds of pages (~96 items each). startUrlstake priority oversearchText/filter fields; the discrete filters apply to keyword search only.domainselects the country catalog AND the token bootstrap domain; a seed URL's own domain overrides it.- Item-detail URLs are best-effort: Vinted geo-restricts
/api/v2/items/{id}, so a cross-domain item emits a minimal row (id, url, domain). - Billing is per dataset row; empty searches and the run itself are not charged.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Vinted UAB, Vinted, Inc., or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available Vinted listing pages — no authenticated endpoints, buyer-only features, or content behind the Vinted login wall. Users are responsible for ensuring their use complies with Vinted's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.
SEO Keywords
vinted scraper, scrape vinted, vinted api, vinted.com scraper, Apify vinted, vinted listings scraper, vinted closet scraper, second hand fashion data, vinted price monitoring, resale price data, vinted brand data, vinted seller scraper, used clothing scraper, secondhand marketplace scraper, vinted catalog scraper, vinted uk scraper, vinted fr scraper, fashion resale intelligence, circular economy data, vinted product data.