Vinted Scraper — Second-Hand Fashion Listings, Prices & Sellers avatar

Vinted Scraper — Second-Hand Fashion Listings, Prices & Sellers

Pricing

from $3.00 / 1,000 listings

Go to Apify Store
Vinted Scraper — Second-Hand Fashion Listings, Prices & Sellers

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

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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.

How Vinted Scraper works

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 typePatternExample
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}-slughttps://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

AudienceUse case
ResellersTrack sold-through, benchmark asking prices, and spot underpriced listings to flip
Price analystsBuild price distributions by brand, size, and condition across country domains
Brand / market teamsMonitor how a brand trades second-hand and how buyer-protection fees affect final price
Sourcing agentsWatch specific closets for new drops and reserved-vs-available status
ResearchersBulk-export second-hand fashion supply for circular-economy and resale studies
AgenciesDeliver client-ready Vinted datasets without maintaining a scraper

How It Works

How Vinted Scraper works

  1. Input — provide Vinted URLs and/or a keyword plus filters on a chosen country domain
  2. Bootstrap token — the actor fetches the domain homepage to obtain a per-domain access token
  3. Classify — each URL is auto-routed to the catalog search, wardrobe (closet), or item endpoint
  4. Collect & paginate — it walks pages up to Vinted's total_pages or your maxItems
  5. Output — one flat listing row per item, exportable as JSON or CSV

Input Configuration

Input fields

FieldTypeRequiredNotes
startUrlsarray<string>yes (or searchText)Vinted catalog, member, or item URLs; auto-classified
searchTextstringoptionalKeyword used when no URLs are given
domainstring enumoptionalCountry domain; default vinted.com
brandIdsarray<string>optionalNumeric Vinted brand IDs (keyword search only)
catalogIdsarray<string>optionalNumeric category IDs (keyword search only)
sizeIdsarray<string>optionalNumeric size IDs (keyword search only)
statusIdsarray<string>optionalNumeric condition IDs (keyword search only)
priceFromintegeroptionalMinimum price (keyword search only)
priceTointegeroptionalMaximum price (keyword search only)
orderstring enumoptionalrelevance | newest_first | price_low_to_high | price_high_to_low
maxItemsintegeroptionalHard cap on listings; default 1000
maxConcurrencyintegeroptionalAPI pages in parallel; default 10
proxyobjectoptionalResidential 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, currency
  • serviceFee, 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:

🤖 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).
  • startUrls take priority over searchText/filter fields; the discrete filters apply to keyword search only.
  • domain selects 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.