Vinted Scraper: Listings, Prices & Sold Items avatar

Vinted Scraper: Listings, Prices & Sold Items

Pricing

from $1.50 / 1,000 listings

Go to Apify Store
Vinted Scraper: Listings, Prices & Sold Items

Vinted Scraper: Listings, Prices & Sold Items

Scrape Vinted listings from 26 countries (vinted.ro, .fr, .de, .co.uk, .com...) by keyword or URL: prices, fees, brand, size, condition, photos, descriptions and seller ratings. No 960-result limit. Monitor new listings, price drops and sold items, and compare prices across countries.

Pricing

from $1.50 / 1,000 listings

Rating

0.0

(0)

Developer

Ionut Radu

Ionut Radu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape Vinted listings from 26 countries (vinted.ro, vinted.fr, vinted.de, vinted.co.uk, vinted.com, vinted.it, vinted.es, vinted.pl, ...) by keyword or by any Vinted URL. Get prices with buyer fees, brand, size, condition, photos, descriptions and seller ratings, with no 960-result limit. Schedule it to get new listings, price drops and sold items, or compare prices across countries in EUR.

No Vinted account, cookies or coding needed. Export the results to JSON, CSV, Excel or Google Sheets, or connect them to Make, Zapier, n8n, Slack or your own app through the API.

What can Vinted Scraper do?

  • 🔎 Search by keyword in any Vinted country, with filters for price, condition, brand (by name), category, size, color and material.
  • 🔗 Scrape any Vinted URL: a search page with your filters, a category or brand page, an item page, or a seller profile.
  • ♾️ Get every result, not just 960. Vinted shows at most 960 results per search, so larger searches are automatically split into price ranges and merged without duplicates.
  • 📄 Item details (optional): description, color, material, category, upload time, shipping price, all photos and availability.
  • ⭐ Seller profiles (optional): rating, reviews, followers, active and sold listings, city, last login and verifications.
  • 🔔 Monitoring for scheduled runs: flags new listings and price changes, and can save only new listings or price drops.
  • 💸 Sold-item detection: finds listings that disappeared from your searches, checks their pages and reports them as sold or removed.
  • 🌍 Cross-country price comparison: runs your keywords in up to 5 more countries and summarizes min, median, average and max prices in EUR.
  • 🇷🇴 Romanian market first: vinted.ro is the default, and conditions are normalized to English codes (very_good, new_with_tags, ...) in every language.

What data can you extract from Vinted?

ListingItem details (optional)Seller profile (optional)Monitoring
Title, URL, IDDescriptionUsername, profile URLNew listing (isNew)
Price, buyer protection fee, total priceColor, materialRating (0-5), reviewsPrevious price, price change (%)
Currency, discounted priceCategory path and IDPositive/neutral/negative reviewsPrice dropped
Brand, sizeUpload timeFollowers, followingFirst seen
Condition (local + English code)Shipping priceActive, sold and bought itemsSold / removed signals
Photos, favouritesAvailability (active, reserved, sold)City, country, last login
Promoted flag, seller IDSeller username, rating, badgesHoliday mode, verifications

How to scrape Vinted

  1. Click Try for free (or Start).
  2. Enter one or more search keywords and pick the country, or paste Vinted URLs from your browser.
  3. Optionally set filters, a limit, item details or seller profiles.
  4. Click Start and download your data from the Output tab, or get it through the API.

To get alerts about new listings, price drops or sold items, see the recipes below.

Recipes

Search with filters

Search vinted.ro for new Nike Air Force 1 under 300 RON, newest first:

{
"searchQueries": ["nike air force 1"],
"country": "ro",
"sortBy": "newest_first",
"maxPrice": 300,
"conditions": ["new_with_tags", "new_without_tags"],
"maxItemsPerSearch": 200
}

Scrape any Vinted URL

Paste a search with your filters, an item or a seller, from any country:

{
"startUrls": [
{ "url": "https://www.vinted.ro/catalog?search_text=zara&order=newest_first&price_to=50" },
{ "url": "https://www.vinted.fr/items/1234567890-robe-zara" },
{ "url": "https://www.vinted.de/member/12345678" }
],
"includeItemDetails": true
}

New-listing alerts in Discord or Slack, every hour

  1. Run this input once. The first run saves the current listings as the baseline:

    {
    "searchQueries": ["levi's 501"],
    "country": "ro",
    "maxPrice": 150,
    "monitoringId": "levis-501-ro",
    "saveOnly": "new"
    }
  2. Save it as a task and schedule it every hour. Each later run scans only the newest search pages and saves only listings created since the previous run.

  3. In the task's Integrations tab, add the Slack integration, or a webhook on Run succeeded that posts to a Discord channel webhook URL with this payload template:

    { "content": "New Vinted listings: https://console.apify.com/view/runs/{{resource.id}}" }

Cost: $0.02 per run plus $0.0015 per new listing.

See what sells: daily sold-listing detection

Scan a specific search once a day; listings that disappear are checked on their page and saved as soldSignal results, with their last price:

{
"searchQueries": ["nike dunk low"],
"country": "ro",
"conditions": ["very_good", "new_without_tags"],
"maxItemsPerSearch": 0,
"monitoringId": "dunk-low-sold",
"saveOnly": "new",
"trackSoldItems": true
}

Sold detection scans the whole search on every run ($0.008 per search page), so keep the search narrow and run it daily rather than hourly.

Find the cheapest country for an item

Run the same keyword in up to 5 more countries. The Country comparison view shows the median price per country in EUR, the cheapest and most expensive country, and the spread between them:

{
"searchQueries": ["nike air force 1"],
"country": "ro",
"compareCountries": ["fr", "de", "pl", "it"],
"maxItemsPerSearch": 300
}

Watch a seller's shop

Get a seller's profile and all their active listings. With a monitor, later runs save only their new listings, and listings that disappear are checked and reported as sold or removed:

{
"startUrls": [{ "url": "https://www.vinted.ro/member/12345678" }],
"maxItemsPerSearch": 0,
"monitoringId": "seller-12345678",
"saveOnly": "new",
"trackSoldItems": true
}

Use it from an AI assistant

Connect Claude, Cursor or any MCP client to the Apify MCP server with only this Actor as a tool:

{
"mcpServers": {
"vinted": { "url": "https://mcp.apify.com?tools=upright_inmate/vinted-scraper" }
}
}

Every result can also go to Google Sheets, Make, Zapier or n8n through the Integrations tab, or be downloaded as JSON, CSV or Excel.

Output example

Each listing is one row in the dataset. The Listings view of the Output tab, from a search in 6 countries:

Listings view in Apify Console: photo, title, price, total price with buyer protection, currency, brand, size, condition, favourites, link, country and keyword of each Vinted listing

With Include item details, the Item details view adds the description, category path, color, material, upload time, availability and shipping price:

Item details view in Apify Console: description, category, color, material, upload time, availability and shipping price of Vinted listings

With Compare with countries, the Country comparison view shows the cheapest and most expensive country and the spread of median prices in EUR; the countries field holds the count, min, median, average and max price for each country:

Country comparison view in Apify Console: Nike Air Force 1 is cheapest in Italy and most expensive in Romania, with a 16.6 EUR (66%) spread of median prices

A listing in JSON, with item details and a seller profile:

{
"type": "listing",
"id": 10145529051,
"url": "https://www.vinted.ro/items/10145529051-nike-air-force-1",
"title": "Nike Air force 1",
"brand": "Nike",
"size": "43",
"condition": "Foarte bună",
"conditionCode": "very_good",
"price": 170.0,
"currency": "RON",
"serviceFee": 12.0,
"totalPrice": 182.0,
"favouriteCount": 9,
"photos": ["https://images1.vinted.net/t/.../f800/bcc09a4d.webp"],
"description": "Purtați ocazional...",
"color": "Alb",
"material": "Piele",
"category": "Bărbați > Pantofi > Pantofi sport",
"uploadedAgo": "acum 3 săptămâni",
"availability": "active",
"seller": {
"id": 313360399,
"login": "seller_login",
"rating": 3.4,
"feedbackCount": 5,
"followersCount": 0,
"itemCount": 23,
"city": "Baia Mare",
"profileUrl": "https://www.vinted.ro/member/313360399"
},
"country": "ro",
"searchQuery": "nike air force 1",
"scrapedAt": "2026-10-19T08:10:17+00:00"
}

Other result types in the same dataset (the type field):

  • seller: the profile of a seller whose URL you entered.
  • soldSignal: a monitored listing that was sold (soldStatus: "sold") or removed ("likely_sold"), with its last price and when it was first and last seen.
  • countryPriceSummary: for each keyword, the count, min, median, average and max price per country, in local currency and EUR, with the cheapest and most expensive country.

The Output tab has ready-made views: Listings, Item details, New listings & price changes, Sellers, Sold listings and Country comparison. The Run summary record shows how many listings each search found, how it was split into price ranges, and any failed pages.

How much does it cost to scrape Vinted?

This Actor uses pay-per-event pricing: you pay only for results, and platform usage and proxies are included.

EventPrice
Listing$1.50 per 1,000
Listing with item details (instead of Listing)$4.50 per 1,000
Seller profile (each seller once per run)$3.00 per 1,000
Monitored search (per search, per run)$0.02
Scanned search page (price-drop and sold monitoring that saves only some listings)$0.008
Country price comparison (per keyword)$0.05

Examples:

  • 1,000 listings from a search: $1.50
  • 1,000 listings with item details and seller profiles (all different sellers): $7.50
  • An hourly monitor of one search that saves 10 new listings per run: $0.035 per run, about $0.84 per day
  • A daily price-drop monitor of a search with 40 result pages that saves 5 price drops: $0.35 per run
  • One keyword in 3 countries, 100 listings each, with a comparison: $0.50

Set Max results in total or a maximum cost per run to keep every run within budget. On the free Apify plan, runs save up to 100 results.

Tips

  • Getting all results: set Max listings per search to 0. Searches with more than 960 results are split into price ranges automatically; see the Run summary for the ranges used.
  • Monitoring and complete scrapes use the "newest first" order. Vinted's relevance order changes between page loads, which would make listings appear and disappear at random.
  • New-listing alerts are incremental: with Save only: Only new listings (and no sold detection), runs after the first stop at the first search page without new listings, usually after 1–2 pages.
  • Price drops and sold detection scan the whole search on every run, because any listing can change. Keep these searches specific (keyword + filters) and schedule them less often; each scanned page is charged when not all listings are saved.
  • Sold-item detection needs complete searches: use maxItemsPerSearch: 0. A listing is checked after it is missing for Missing runs before checking runs (default 2).
  • Filters not in the form? Set them on the Vinted website and paste the URL. Every filter in the URL is kept.
  • Brands can be names: "Nike" is matched to Vinted's brand ID automatically.

FAQ

Is it legal to scrape Vinted? This Actor collects only publicly visible listing and profile data, the same as any visitor sees, and doesn't log in. It never collects private data such as e-mails, phone numbers, real names or addresses. Seller usernames and locations are personal data under GDPR, so only collect them when you have a legitimate reason, and follow Vinted's terms. Vinted's robots.txt does not allow using its content to train AI models. If you're unsure, consult a lawyer.

Do I need a proxy? The Actor uses Apify residential proxies by default, which are included in the price. Vinted limits how many pages one IP address can load, so blocked pages are retried automatically with a new IP. Datacenter proxies also work, but Vinted blocks them much more often, so runs take several times longer.

Why do some listings show prices like 398.59 when I set a 400 minimum? Listings from sellers in other countries are shown converted to your local currency, so their converted price can be slightly outside your price filter.

Why are view counts not included? Vinted no longer shows listing view counts publicly.

Can it buy items or message sellers? No. The Actor only reads public data.

Something doesn't work? Open an issue in the Issues tab with your run link. Feedback and feature requests are welcome.