Vinted Scraper
Pricing
from $0.50 / 1,000 run start fees
Vinted Scraper
A Vinted scraper that returns second-hand listings with brand, size, condition, the asking price and the price a buyer actually pays including buyer protection. Nine country markets, 96 listings per request, no browser and no login.
Pricing
from $0.50 / 1,000 run start fees
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
A Vinted scraper that returns second-hand listings with brand, size, condition, the asking price and the price a buyer actually pays including buyer protection. Nine country markets, 96 listings per request, no browser and no login.
What you get
- 96 listings per page, which is unusually generous and makes a thousand rows cost about eleven requests
- Brand, size and condition as separate fields, parsed from the listing summary in the market's own language rather than left in one string
- Two prices: the asking price and the price including Vinted's buyer protection fee. The second is what the buyer is charged, and it is the number that matters for market analysis
- Nine markets: Netherlands, Belgium, Germany, France, Spain, Italy, Poland, United Kingdom and United States, each fetched from an exit in its own country
- The raw summary string kept on every row, so a locale this actor has not been taught yet is recoverable rather than lost
- Stable item ids, so scheduled runs deduplicate exactly and price changes are a clean join
- Charged per listing, plus a flat $0,002 start fee
Why scrape Vinted
Vinted is the largest second-hand fashion marketplace in Europe and the clearest available picture of what used clothing actually sells for. Resale prices are almost entirely undocumented: new goods have RRPs and comparison sites, used goods have whatever a stranger is asking today. For anyone in resale, brand analytics or sustainability research, this is the market data.
There is no public API. The private one, /api/v2/catalog/items, answers 401 without a session. What Vinted does do is server-render its entire grid, and each item carries a complete summary in the link's title attribute: name, brand, condition, size and both prices. That is a better source than the visible card, because the card's class names are CSS-module hashes that change on every deploy while the summary attribute does not.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
query | string | yes | jas | What to search for, in the market's language |
market | select | no | nl | Which country site, and therefore currency and label language |
url | string | no | – | A Vinted catalog URL to read instead, filters included |
sort | select | no | relevance | Relevance, newest, or price ascending/descending |
price_min / price_max | integer | no | – | Price bounds in the market's currency |
limit | integer | no | 96 | Listings to return, 1 to 1440 |
retries | integer | no | 4 | Retry attempts per page |
Output
{"position": 1,"item_id": "9852116345","url": "https://www.vinted.nl/items/9852116345-tussen-jas","title": "Mantel h&m Gr 50 neu","brand": "H&M","size": "5XL / 50 / 22","condition": "Heel goed","price": 35.0,"price_with_protection": 37.45,"currency": "€","image": "https://images1.vinted.net/...","market": "nl","query": "jas"}
Use cases
Resale price research. Run a brand as the query and read the distribution. Because price and price_with_protection are separate, you can see both what sellers ask and what buyers are charged, and the gap is Vinted's take. A run across three markets tells you where the same brand holds value best.
Sourcing for resellers. Sort by newest with a price ceiling and check brand and condition. New listings from known brands under a threshold are the whole job, and at 96 per request a scheduled run covers a category cheaply.
Brand and sustainability analytics. How much of a brand's inventory is on the second-hand market, at what fraction of retail, in which sizes, is a question brands increasingly need answered and cannot answer themselves. brand, size and price on every row is enough to build it.
Size and demand analysis. size is a clean field rather than a substring of the title, so aggregating supply by size across a category is a group-by rather than a parsing project.
How it compares
| this actor | apify/e-commerce-scraping-tool | |
|---|---|---|
| Per 1.000 listings | $1,20 | $6,00 |
| Covers Vinted | yes | generic, needs configuring |
| Listings per request | 96 | varies |
| Brand, size, condition split out | yes | no |
| Price with buyer protection | yes | no |
| Markets | 9 | n/a |
| Needs a login or browser | no | no |
Honest about the other side: apify/e-commerce-scraping-tool has 575 monthly users and works on many shops. It is a breadth tool. Nothing on the Store covers Vinted search at all.
Pricing
Two events. A flat run_start of $0,002 covers the run, and item costs $0,0012 per listing returned, which is $1,20 per 1.000. Beyond the start fee you only pay for listings you actually receive.
Limits and gotchas
- Prices use different decimal separators in different places on the same page. The card writes "5,00" and the summary attribute writes "5.00" for the same item. This actor parses by separator position rather than assuming, because getting it wrong turns a €10 coat into a €1.000 one with nothing in the output to show it.
brandis empty on roughly one listing in twenty, where the seller did not set one. That is a real absence.- Condition and size are in the market's own language. A Dutch listing says "Heel goed", a German one "Sehr gut".
summary_rawkeeps the original string if you need to normalise differently. - 1440 listings per run across 15 pages. Beyond that, narrow the query or add a price band.
- The private API is not used.
/api/v2/catalog/itemsrequires a session and returns 401 anonymously, so everything here comes from the rendered page. - Sold items disappear from search. Vinted does not keep a public sold archive, so this measures asking prices and supply, not realised sales.
FAQ
Can I scrape Vinted without an API key or login? Yes. Vinted server-renders its full grid for anonymous visitors, 96 items per page, and that is what this actor reads.
What is price_with_protection?
Vinted charges a buyer-protection fee on top of the asking price. That field is what the buyer is actually charged, and it is the more honest figure for market comparisons.
Which countries are supported? Nine: NL, BE, DE, FR, ES, IT, PL, UK and US, each fetched through an exit in its own country so prices and currency match.
Can I filter by category rather than search?
Yes. Apply the filters on the site and paste the resulting catalog URL into url.
Does it return sold items? No. Vinted removes sold listings from search, so this reflects live supply and asking prices.
Related Actors
- Marktplaats Scraper — Dutch general classifieds
- AutoScout24 Scraper — cars across nine European markets
- Skroutz Scraper — Greek price comparison