Vinted Scraper: Listings, Prices & New-Item Monitor
Pricing
from $1.00 / 1,000 listing scrapeds
Vinted Scraper: Listings, Prices & New-Item Monitor
Scrape Vinted listings from all 27 Vinted country sites: price incl. buyer protection fee, brand, size, condition, photos, seller rating. Paste browser search URLs or use filters. Monitor mode outputs only new listings. No login, no browser.
Pricing
from $1.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
rj
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Vinted Scraper extracts second-hand listings from all 27 Vinted country sites (vinted.co.uk, .fr, .de, .it, .es, .nl, .pl, .com and the rest). For each listing you get the price, the total price including Vinted's buyer protection fee, brand, size, condition, photos, favourites and the seller's public profile. Paste search URLs straight from your browser and every filter is kept. Turn on Only new listings and schedule it to catch fresh, underpriced items minutes after they go up. It reads the same JSON catalogue API the Vinted website uses: no login, no browser, and you only pay for the listings you get.
Why this one? Other Vinted scrapers cover a few countries, charge per tracked search or per start, or make you rebuild filters by hand. This one works on every Vinted site, accepts any search URL you copy from the address bar, gives clean numeric prices with and without fees, and has a built-in monitor mode that outputs (and charges for) only listings you haven't seen. Item details are optional, so you don't pay for data you don't need.
What data can you get?
| Field | Example | Notes |
|---|---|---|
title, url, id | Levi’s 501 Denim Shorts | Vinted item ID (the same on every Vinted site) |
price, currency | 9, USD | The seller's price as a number |
serviceFee, totalPrice | 1.15, 10.15 | Buyer protection fee and the price a buyer pays before shipping |
brand, size, condition, conditionCode | Levi's, XXS / US 0, Very good, very_good | Condition in English on every site, plus a stable code |
photoUrl, photos | 800 px image URLs | Main photo from search; all photos with item details |
favouritesCount, isPromoted | 3, false | Favourites ("hearts") and whether the listing is bumped |
seller | id, username, profileUrl, isBusiness, rating, feedbackCount | Public profile fields only; rating and review count with item details |
domain, country | vinted.com, US | The Vinted site and market |
With item details: description, color, material, category, categoryId, categoryPath, brandId, uploadedText, isReserved | Women > Clothing > Shorts & cropped pants > Jean shorts | From the listing page, in English |
searchQuery, searchUrl, position, scrapedAt | Where and when each listing was found |
Download the results as JSON, CSV, Excel or HTML, or read them through the API.
Use cases
- Reselling and flipping: schedule a monitor every few minutes for "nike air max" under £30 in "Very good" condition and get each new listing as soon as it appears.
- Price research: compare total prices for a brand or model across the UK, France, Germany, Italy, Poland and other markets.
- Brand and market monitoring: track how many listings of your brand appear, at what prices and in what condition.
- Sourcing for vintage shops: collect listings with photos, sizes and descriptions for a buyer to review.
- Alerts: connect the dataset to Telegram, Discord, Slack or e-mail through a webhook, Make, Zapier or n8n.
How to use it
- Click Try for free or Start.
- Type one or more Search queries and pick the Vinted country site, and add filters if you like (price, condition, colour, brand, size, category, sort order). Or open a search on Vinted in your browser, set any filters you like, and paste the address into Vinted search URLs.
- Set Max listings per search (default 100).
- Optional: turn on Include item details for description, colour, material, category, all photos and the seller's rating.
- Click Start.
Example: a simple search
{"searchQueries": ["nike air max"],"domain": "vinted.co.uk","sortBy": "newest_first","maxItemsPerSearch": 20}
Example: filters across several queries
{"searchQueries": ["levis 501", "carhartt jacket"],"domain": "vinted.de","sortBy": "newest_first","priceFrom": 10,"priceTo": 40,"conditions": ["new_with_tags", "new_without_tags", "very_good"],"colors": ["blue", "black"],"maxItemsPerSearch": 200,"includeDetails": true}
Example: paste URLs from your browser
Every filter in the URL is used: category, brand, size, condition, colour, material, price and sort order. The country comes from the URL.
{"startUrls": [{ "url": "https://www.vinted.fr/catalog?search_text=nike&brand_ids[]=53&status_ids[]=6&price_to=50¤cy=EUR&order=newest_first" },{ "url": "https://www.vinted.co.uk/catalog/1231-trainers?search_text=jordan&order=newest_first" }],"maxItemsPerSearch": 100}
Example: new-listing monitor
Schedule this every 5–15 minutes (Actor → Schedules). The first run of each search outputs everything and becomes the baseline. After that, each run outputs only listings the earlier runs haven't output.
{"searchQueries": ["arc'teryx jacket"],"domain": "vinted.co.uk","sortBy": "newest_first","priceTo": 60,"maxItemsPerSearch": 100,"onlyNewItems": true,"stateKey": "arcteryx-uk"}
Use a different Monitor name (stateKey) for each independent monitor. Listings already output aren't output or charged again, and neither are duplicates found by two searches in the same run.
Output example
Real output from 2 November 2026 (photo lists shortened). The first listing has no item details; the second was scraped with Include item details on.
[{"id": "10635519578","url": "https://www.vinted.co.uk/items/10635519578-nike-womens-air-max","title": "Nike women’s air max","price": 15.12,"currency": "GBP","serviceFee": 1.46,"totalPrice": 16.58,"brand": "Nike Air","size": "7.5","condition": "Good","conditionCode": "good","photoUrl": "https://images1.vinted.net/t/02_018d6_t5Dok7VijXkckNdsDJdXSWuj/f800/8a77761b.webp?s=cf0b3ad0f0c4d3c1055f1e4a19d702b9c9d754ba","photos": ["https://images1.vinted.net/t/02_018d6_t5Dok7VijXkckNdsDJdXSWuj/f800/8a77761b.webp?s=cf0b3ad0f0c4d3c1055f1e4a19d702b9c9d754ba"],"favouritesCount": 0,"isPromoted": false,"seller": {"id": 3206115494,"username": "karolinaorozco23","profileUrl": "https://www.vinted.co.uk/member/3206115494-karolinaorozco23","isBusiness": false,"rating": null,"feedbackCount": null},"domain": "vinted.co.uk","country": "GB","description": null,"color": null,"material": null,"brandId": null,"category": null,"categoryId": null,"categoryPath": null,"uploadedText": null,"isReserved": null,"detailsFetched": false,"searchQuery": "nike air max","searchUrl": "https://www.vinted.co.uk/catalog?search_text=nike+air+max&order=newest_first","position": 1,"source": "api","scrapedAt": "2026-11-02T13:39:23.113Z"},{"id": "10635512886","url": "https://www.vinted.com/items/10635512886-levis-501-denim-shorts","title": "Levi’s 501 Denim Shorts","price": 9,"currency": "USD","serviceFee": 1.15,"totalPrice": 10.15,"brand": "Levi's","size": "XXS / US 0","condition": "Very good","conditionCode": "very_good","photoUrl": "https://images1.vinted.net/t/01_00254_AKN3GhrGyPAG7xZMds55bEBr/f800/0676d4c0.webp?s=c967e9a1a77052152908538cb345bde7fb2a70e4","photos": ["https://images1.vinted.net/t/01_00254_AKN3GhrGyPAG7xZMds55bEBr/f800/0676d4c0.webp?s=c967e9a1a77052152908538cb345bde7fb2a70e4", "..."],"favouritesCount": 0,"isPromoted": false,"seller": {"id": 3192427317,"username": "maddiedahlen","profileUrl": "https://www.vinted.com/member/3192427317-maddiedahlen","isBusiness": false,"rating": 5,"feedbackCount": 27},"domain": "vinted.com","country": "US","description": "Levi’s 501 Denim Shorts\n\nWorn a few times - just don’t fit!\nVery cute on.","color": "Light blue","material": null,"brandId": 10,"category": "Jean shorts","categoryId": 538,"categoryPath": "Women > Clothing > Shorts & cropped pants > Jean shorts","uploadedText": "a minute ago","isReserved": false,"detailsFetched": true,"searchQuery": "levis 501","searchUrl": "https://www.vinted.com/catalog?search_text=levis%20501&order=newest_first","position": 1,"source": "api","scrapedAt": "2026-11-02T13:39:36.914Z"}]
A RUN_SUMMARY record in the run's key-value store lists every search with its status, counts, the number of HTTP requests and any warnings.
How much does it cost?
This Actor uses pay per event pricing. You pay only for what you get:
| Event | Price | When |
|---|---|---|
item | $0.001 per listing ($1 per 1,000) | Every listing saved to the dataset |
item-details | $0.0005 per listing | Only with Include item details, and only when the listing page was actually read |
Worked examples:
- 1,000 listings without details ≈ $1.00.
- 1,000 listings with item details ≈ $1.00 + $0.50 = $1.50.
- A monitor that runs every 10 minutes and finds about 30 new listings an hour outputs about 720 listings a day ≈ $0.72 a day. Runs that find nothing new cost (almost) nothing.
These are never charged: listings already output by earlier runs in monitor mode, duplicates found by a second search in the same run, item details that could not be read, and failed or blocked searches. Set Maximum cost per run in the run options and the Actor stops cleanly when it reaches it. Apify's free plan includes monthly credit, which covers several thousand listings.
Tips and limits
- Vinted shows at most 960 listings per search (10 pages of 96), on the website too. To collect more, split a broad search into narrower ones: price ranges, categories, brands or sizes.
- Prices are in the site's currency. Vinted shows listings from other countries too, with prices converted into the local currency (that's why you'll see prices like £15.12).
priceandtotalPriceare exactly what a buyer on that site sees, before shipping. - Item details (description, colour, material, category, all photos, seller rating) need one extra page per listing. Leave them off when you only need prices.
- Upload time: Vinted shows only a relative time ("a minute ago", "3 days ago"), which is what
uploadedTextcontains. In monitor mode, a listing'sscrapedAttells you when it first showed up for your search. - Not included: view counts (Vinted hides them from logged-out visitors), seller location and any other personal data, sold listings.
- Brand, size and category IDs: the easiest way is to set the filters on Vinted and paste the URL. Brand and category IDs are also in Vinted's brand and category page URLs (
/brand/53-nike,/catalog/1231-trainers). - Blocking: Vinted is protected by Cloudflare and DataDome. The Actor uses a browser-like HTTP client and a normal anonymous session, and it opens a new session if Vinted expires it. If a run still reports a block (HTTP 403 or a challenge), run it again later or enable Proxy configuration with Apify Proxy's automatic (datacenter) proxies. If the catalogue API is refused, the Actor falls back to reading Vinted's website search pages. The results are the same except for the seller's username.
- Monitor speed: each scheduled run takes a few seconds. Monitor runs reuse the anonymous session from the previous run (when no proxy is used), so a run that finds nothing new makes a single small request.
FAQ
Is it legal to scrape Vinted? This Actor collects only publicly visible listing data that anyone can see on Vinted without logging in. It does not log in and does not collect personal data such as names, e-mail addresses, phone numbers or locations; seller data is limited to the public username, profile link, business flag and rating. You are responsible for how you use the data: follow Vinted's terms, the GDPR and other laws that apply to you. If in doubt, ask a lawyer.
Do I need a Vinted account or cookies? No. The Actor uses an anonymous session, like a visitor who hasn't logged in.
Do I need a proxy? Can I use residential proxies? Usually no proxy is needed: the Actor works from Apify's own servers. If Vinted blocks a run, enable Proxy configuration with Apify Proxy's automatic (datacenter) proxies. Residential proxies are not supported: if you select the RESIDENTIAL group, the Actor logs a warning and uses Apify datacenter proxy instead. Your own proxy URLs (custom proxies) are used as given.
Which countries are supported? All 27 Vinted sites: United Kingdom, United States, France, Germany, Italy, Spain, Netherlands, Belgium, Poland, Lithuania, Czech Republic, Austria, Portugal, Sweden, Denmark, Finland, Ireland, Luxembourg, Slovakia, Hungary, Romania, Croatia, Greece, Estonia, Latvia, Slovenia and Australia.
Why are the conditions in English on vinted.fr?
The Actor asks Vinted for English on every site, so condition, color and category mean the same in every country and are easy to filter. Titles and descriptions are what sellers wrote.
How does "Only new listings" decide what is new?
For every search (site + query + filters), the Actor remembers the IDs of the listings it has output, in a key-value store named vinted-scraper-state under your Monitor name. Each run outputs only IDs not seen before for that search, and with "Newest first" it stops paging once it reaches listings it has already seen. Changing a search's filters starts a new baseline for that search.
Can I get alerts on my phone? Yes. Add a webhook or a Make/Zapier/n8n scenario that runs when the Actor finishes, reads the dataset and sends new listings to Telegram, Discord, Slack or e-mail.
I got fewer listings than expected.
Check RUN_SUMMARY: it shows how many listings Vinted reported for the search, how many were already seen (monitor mode) and whether anything was blocked. Remember the 960-listing cap per search.
Integrations
- Apify API: start runs and download datasets from any language (API docs), or use the JavaScript and Python clients.
- Make, Zapier, n8n: use the Apify integrations to run the Actor on a schedule and push new listings to Google Sheets, Airtable, Slack, Telegram or e-mail.
- Webhooks: trigger your own endpoint when a run finishes.
- MCP / AI agents: call the Actor from Claude, ChatGPT or any MCP client through the Apify MCP server, e.g. "find Nike Air Max under £30 on Vinted UK".
Changelog
- 0.1 (November 2026): First release. All 27 Vinted sites, search queries and browser URLs with every filter, prices including the buyer protection fee, optional item details, a new-listing monitor with session reuse, and a fallback to the website's search pages.
More scrapers by the same developer
- Google Ads Transparency Scraper
- Substack Scraper
- Telegram Channel Scraper
- ATS Jobs Scraper: Greenhouse, Lever, Ashby & Workday
- Dice Jobs Scraper
- SEEK Jobs Scraper
Browse all my Actors on my Apify Store profile.