Vinted Search Scraper
Pricing
from $3.00 / 1,000 dataset items
Vinted Search Scraper
Scrape Vinted second-hand fashion listings at scale — price, brand, size, condition, photos, seller & views — via the official mobile API. Proxy-free, reliable, 20+ country markets. Search by keyword or paste any Vinted URL. Structured JSON for resale & price research. Pay only for results.
Pricing
from $3.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Extract Vinted second-hand fashion listings at scale through the platform's official mobile API — the same backend the Vinted app uses. That means no headless browser, no proxies, and no DataDome/CAPTCHA breakage: clean, structured JSON with prices, brands, sizes, condition, photos, seller info and engagement metrics, across 20+ country marketplaces.
Search by keyword, or paste any Vinted search / catalog / brand / member URL and the actor reads its filters automatically.
Who is this for?
- Resellers & flippers — spot underpriced items, track what sells, source inventory across countries.
- Price & market researchers — monitor second-hand prices, brand demand and condition mix over time.
- Brands & analysts — measure how a label performs on the resale market (volume, price bands, engagement).
- PropTech / e-commerce devs — a stable JSON schema to power dashboards, price-comparison tools and alerts.
Output fields
Each listing is one dataset row:
| Field | Type | Description |
|---|---|---|
id | integer | Vinted listing ID |
url | string | Canonical listing URL |
title | string | Listing title |
description | string | Full text description (when Include full description is on) |
price | string | Item price |
currency | string | Price currency (e.g. USD, EUR, GBP) |
total_item_price | string | Total incl. Buyer Protection |
service_fee | string | Buyer Protection fee |
brand | string | Brand name |
size | string | Size label |
condition | string | New with tags / Very good / Good … |
favourite_count | integer | Number of favourites (likes) |
view_count | integer | Number of views |
is_promoted | boolean | Promoted (bumped) listing |
seller_id | integer | Seller user ID |
seller_login | string | Seller username |
seller_business | boolean | Business (pro) seller flag |
seller_profile_url | string | Seller profile URL |
photo | string | Main photo URL |
photos | array | All photo URLs |
photo_count | integer | Number of photos |
scraped_at | string | Scrape timestamp (UTC, ISO-8601) |
High-value use cases
- Sourcing & arbitrage — pull the newest listings for a brand + size under a price cap, sort by price, and surface deals to relist.
- Price benchmarking — snapshot a category daily and chart median price by condition to price your own inventory correctly.
- Brand demand tracking — measure favourites/views per brand to see what's heating up before it sells out.
- Competitor monitoring — watch a specific seller or catalog and export new listings to your CRM or a Google Sheet.
- Dataset building — assemble a clean second-hand fashion dataset (title, price, brand, condition, images) for ML or analytics.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | array | ["nike air max"] | Free-text keywords; each is scraped in turn |
startUrls | array | – | Vinted search/catalog/brand/member URLs (filters read from the URL) |
country | string | com | Marketplace: com, fr, de, co.uk, es, it, pl, nl, … |
conditions | array | – | Condition filter (New with tags, Very good, …) |
order | string | newest_first | newest_first, relevance, price_low_to_high, price_high_to_low |
priceFrom / priceTo | integer | – | Price range in the marketplace currency |
currency | string | – | ISO currency for the price filter (USD, EUR, GBP, PLN…) |
catalogIds | array | – | Catalog/category IDs (from /catalog/1904-shoes) |
brandIds | array | – | Brand IDs (from /brand/53-nike) |
sizeIds / colorIds | array | – | Size / color IDs |
includeDescription | boolean | false | Also fetch each listing's full description |
maxItems | integer | 100 | Stop after this many listings |
Tip — going past ~1,000 results: Vinted caps deep pagination per query at about 1,000 items. To collect more, split the job by
catalogIds,brandIdsor price bands (e.g. 0–20, 20–50, 50+).
Example input
{"searchQueries": ["nike air max", "levis 501"],"country": "com","conditions": ["6", "2"],"priceTo": 80,"order": "newest_first","includeDescription": false,"maxItems": 200}
Example output
{"id": 9511053552,"url": "https://www.vinted.com/items/9511053552-nike-air-max-1-sc-field-purple","title": "Nike Air Max 1 SC \u201cField Purple\u201d Men's 10.5 New","price": "227.69","currency": "USD","total_item_price": "236.34","service_fee": "8.65","brand": "Nike","size": "10.5","condition": "New with tags","favourite_count": 3,"view_count": 41,"is_promoted": false,"seller_id": 258105024,"seller_login": "vacantshowroom","seller_business": false,"photo": "https://images1.vinted.net/…/f800/…jpeg","photos": ["https://images1.vinted.net/…"],"photo_count": 5,"scraped_at": "2026-07-28T21:14:00Z"}
Scheduling & integrations
- Schedule runs (hourly/daily) from the Apify Console to keep a fresh feed.
- Webhooks can push each finished run to your endpoint, Make, or Zapier.
- Export to JSON, CSV, Excel, or Google Sheets, or pull from the Dataset API.
Use it from an AI agent (MCP)
The dataset is clean and typed, so it plugs straight into AI workflows. Apify Actors are callable over the Model Context Protocol, letting assistants like Claude or Cursor run this scraper and reason over the results — "find Nike Air Max under $60 in Very good condition and summarise the price range."
FAQ
Is there a result limit? Vinted caps deep pagination at ~1,000 items per query. Partition by catalog/brand/price to gather more.
How fresh is the data? Every run hits Vinted live, so results reflect the
marketplace at run time. Sort by newest_first for the latest listings.
Does it need proxies? No. It uses Vinted's mobile API with an anonymous token, so it runs proxy-free and avoids the anti-bot walls the website enforces.
Can I scrape a specific country? Yes — set country, or paste a URL from that
marketplace (e.g. vinted.fr) and the host is detected automatically.
Can I get item descriptions? Yes — enable Include full description. It adds one request per item, so it's slower but returns the full listing text.
Is this affiliated with Vinted? No. This is an independent tool that reads publicly available listing data. Respect Vinted's Terms and applicable laws.
It stopped mid-run — do I lose progress? No. Progress is checkpointed to the key-value store and resumes automatically on the same input.