Vinted Scraper avatar

Vinted Scraper

Pricing

from $0.50 / 1,000 run start fees

Go to Apify Store
Vinted Scraper

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

SR

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

3 days ago

Last modified

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

FieldTypeRequiredDefaultWhat it does
querystringyesjasWhat to search for, in the market's language
marketselectnonlWhich country site, and therefore currency and label language
urlstringno–A Vinted catalog URL to read instead, filters included
sortselectnorelevanceRelevance, newest, or price ascending/descending
price_min / price_maxintegerno–Price bounds in the market's currency
limitintegerno96Listings to return, 1 to 1440
retriesintegerno4Retry 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 actorapify/e-commerce-scraping-tool
Per 1.000 listings$1,20$6,00
Covers Vintedyesgeneric, needs configuring
Listings per request96varies
Brand, size, condition split outyesno
Price with buyer protectionyesno
Markets9n/a
Needs a login or browsernono

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.
  • brand is 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_raw keeps 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/items requires 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.