Vinted Scraper & Tracker: New Listings, Price Drops, Sold avatar

Vinted Scraper & Tracker: New Listings, Price Drops, Sold

Pricing

from $1.00 / 1,000 listings

Go to Apify Store
Vinted Scraper & Tracker: New Listings, Price Drops, Sold

Vinted Scraper & Tracker: New Listings, Price Drops, Sold

Scrape Vinted listings from 26 country sites in one run (keywords, brands, sizes, price, condition or search URLs) and track them: new listings, price drops, reserved and sold alerts, plus deals below the search median.

Pricing

from $1.00 / 1,000 listings

Rating

0.0

(0)

Developer

APIzilla

APIzilla

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Vinted Scraper & Tracker do?

Vinted Scraper & Tracker scrapes listings from Vinted, the second-hand fashion marketplace, on 26 country sites in one run: France, Germany, UK, Spain, Italy, Netherlands, Belgium, Poland, Portugal, Austria, Lithuania, Czechia, the US and more.

Search with keywords and filters (brand, category, size, condition, price) or paste Vinted search URLs. You get price, price with buyer protection, brand, size, condition, photos, favourites and seller for every listing.

It also tracks your searches between runs and tells you what changed:

  • New listings (catch good items minutes after upload)
  • Price drops and price increases
  • Reserved items
  • Sold and removed items
  • Relisted items

And it flags deals: listings well below the median price of the same search.

Why use Vinted Scraper & Tracker?

  • Alerts, not only data. Schedule it every 15-60 minutes with Only changes on, and get only new listings, price drops and sold items. Quiet runs cost only the start fee.
  • Sold detection. When a tracked item leaves the search, the Actor opens its page and tells you if it was sold, reserved, deleted or only re-priced.
  • Many countries, one run. Search levis 501 on vinted.fr, vinted.de and vinted.co.uk at once. Items listed on several sites come once, with alsoOnSites.
  • Deals. Every listing gets medianPriceInSearch, percentBelowMedian and isDeal. Free.
  • Fast and cheap. No browser: plain HTTP, 512 MB memory. Direct connection first, residential proxy only for a country site that Vinted blocks.
  • Pay per listing. Not per page, not per minute.

Typical users: resellers and flippers, vintage shops, brand and price analysts, collectors, deal-alert bots and apps.

You also get everything the Apify platform offers: schedules, API, webhooks and integrations (Google Sheets, Make, Zapier, Slack, Telegram via Make or n8n).

What data does it extract?

FieldWhat it is
id, title, urlVinted item ID, title and link
price, currencySeller price in the site currency (EUR, GBP, PLN, CZK, SEK, USD...)
totalPrice, buyerProtectionFeePrice with the Vinted buyer protection fee
brand, size, condition, conditionCodeBrand, size, condition (new_with_tags, very_good...)
photo, photosPhotos
favouriteCountFavourites (hearts)
sellerId, sellerUrl, sellerIsBusinessSeller
sellerLogin, sellerRating, sellerFeedbackCountSeller name, rating 0-5 and reviews (Item details or Seller profiles)
sellerCountry, sellerCity, sellerItemCount, sellerFollowers, sellerLastLoginAtWith Seller profiles
description, color, material, category, uploadedAgo, uploadedAt, isReservedWith Item details
medianPriceInSearch, percentBelowMedian, isDealDeal check
changeType, previousPrice, priceChange, priceChangePercent, priceHistory, lowestPriceSeen, firstSeenAt, goneAtChange tracking
site, domain, alsoOnSites, searchKeyword, searchUrlWhere it was found

changeType is one of baseline (first run), unchanged, new_listing, price_drop, price_increase, reserved, sold, removed, relisted.

Vinted does not show view counts to visitors, so there is no views field. The exact upload time is not public either: uploadedAt is computed from the "2 hours ago" text, and firstSeenAt tells you when the tracker first saw the item.

How to scrape Vinted

  1. Go to the Input tab.
  2. Type Keywords, for example levis 501, nike dunk, barbour jacket. Or paste Vinted search URLs from the website.
  3. Pick the Countries.
  4. Optional: Brands, Category IDs, Sizes, Condition, Min / Max price.
  5. Set Max listings.
  6. Optional: turn on Item details or Seller profiles.
  7. Click Start, then download JSON, CSV or Excel.
{
"keywords": ["levis 501"],
"countries": ["fr", "de", "uk"],
"conditions": ["very_good", "new_without_tags"],
"maxPrice": 40,
"maxItems": 100,
"trackChanges": true,
"trackerName": "levis-501"
}

How to get alerts for new Vinted listings, price drops and sold items

  1. Set up your search and a Tracker name, for example dunk-low-42.
  2. Run it once. This saves the baseline (every listing has changeType: "baseline").
  3. Turn on Only changes.
  4. Add a schedule (Actor > Schedules), for example every 30 minutes.
  5. Connect an integration (Slack, email, Google Sheets, a webhook) to get each change.

Runs with the same tracker name compare with each other. Use a different name for each search you want to track. The memory is stored in a named key-value store vinted-tracker-<tracker name> in your account.

How sold detection works: Vinted does not list sold items in search results. When a tracked item is missing from a search that should show it, the Actor opens the item page (Check gone items, max 30 per run by default): sold when Vinted shows it as sold, removed when the page is gone, reserved when a buyer reserved it, or a price change if the seller only changed the price.

Tip: sort by Newest first (the default) for tracking. Vinted shows at most 960 results per search, so narrow wide searches with filters.

How much does it cost to scrape Vinted?

Pay per event:

EventPrice
Listing saved$1.00 per 1,000
Change alert (new listing, price drop, sold...)$0.50 per 1,000
Item details$1.00 per 1,000
Seller profile$0.50 per 1,000 sellers
Actor start$0.003 per run
Residential proxy page (only if Vinted blocks the direct connection for a site)$0.004 per page

Examples:

  • 1,000 listings from three countries: about $1.00.
  • A tracker running every 30 minutes with Only changes and 20 new listings per run: 48 runs x ($0.003 + 20 x $0.0015) = about $1.60 per day. Quiet runs cost $0.003.
  • Sold items and price changes found by the gone check cost only the change alert.

Set Maximum cost per run in the run options: the Actor stops cleanly at that limit and never charges for an item it did not save.

Input options

  • Keywords: each keyword is one search in each country. Vinted search also finds similar items; turn on Keywords must be in the title for exact matches.
  • Countries: fr, de, uk, es, it, nl, be, pl, pt, at, lt, cz, sk, lu, ie, se, dk, fi, gr, hu, ro, hr, si, ee, lv, us.
  • Vinted search URLs: any https://www.vinted.../catalog?... URL. Its filters are used as they are.
  • Brands: looked up on Vinted and used as a brand filter.
  • Category IDs: the number in /catalog/<ID>-... (you can paste the category URL).
  • Sizes: as Vinted writes them (M, 42, W32), exact match.
  • Condition, Min / Max price (in each site's currency), Exclude words, Sort.
  • Max listings, Max listings per search, Max pages per search (96 listings per page).
  • Item details, Seller profiles, Find deals, Deal threshold, Only deals.
  • Track changes, Tracker name, Only changes, Check gone items, Max gone checks per run.
  • Proxy: leave the default (Apify Proxy, no group). Each country site connects directly first and switches to the residential proxy of that country only if Vinted blocks it. In our tests all 13 tested country sites worked directly. A page that needs the residential proxy costs the extra residential page fee (search pages are about 0.5 MB, so this covers our proxy cost).

Output example

{
"id": "10498509794",
"changeType": "price_drop",
"title": "Levi's 501 W32 L32",
"price": 18,
"currency": "EUR",
"totalPrice": 19.6,
"buyerProtectionFee": 1.6,
"previousPrice": 25,
"priceChange": -7,
"priceChangePercent": -28,
"brand": "Levi's",
"size": "W32 | FR 42",
"condition": "Très bon état",
"conditionCode": "very_good",
"url": "https://www.vinted.fr/items/10498509794-levis-501",
"site": "fr",
"alsoOnSites": ["de"],
"photo": "https://images1.vinted.net/t/.../f800/....webp",
"favouriteCount": 4,
"sellerId": "166514974",
"sellerLogin": "leandro2780",
"sellerRating": 4.9,
"sellerFeedbackCount": 27,
"sellerCountry": "PT",
"medianPriceInSearch": 26.95,
"percentBelowMedian": 27.3,
"isDeal": true,
"firstSeenAt": "2026-10-23T08:00:00.000Z",
"priceHistory": [{ "date": "2026-10-23", "price": 25 }, { "date": "2026-10-24", "price": 18 }]
}

The run summary (status per search and country, changes, gone checks, charged events) is in the key-value store record OUTPUT.

FAQ

Is it legal to scrape Vinted? The Actor reads public pages only, without logging in. You are responsible for how you use the data. Personal data (seller usernames, cities) is protected by GDPR in the EU: only collect what you need and have a legal reason. Read Apify's blog on web scraping legality.

Do I need a Vinted account? No.

Why did a search return items that do not match my keyword exactly? Vinted search is fuzzy. Turn on Keywords must be in the title, or add brands and exclude words.

A country was blocked. The Actor switches that site to the residential proxy on its own (and charges the residential page fee for those pages). If it still fails, pick the RESIDENTIAL proxy group in the input.

Can I get the buyer's shipping price? No, shipping depends on the buyer's address and the carrier.

Found a problem or need a field? Open an issue on the Issues tab.