Vinted Smart Scraper - Cross-Country Arbitrage Scanner
Pricing
from $1.50 / 1,000 results
Vinted Smart Scraper - Cross-Country Arbitrage Scanner
Find profitable Vinted arbitrage across 26 markets, compare buy-low / sell-higher country price gaps, schedule deal alerts, monitor sellers, and export structured data to CSV, API, or webhooks.
Pricing
from $1.50 / 1,000 results
Rating
5.0
(5)
Developer
KazKN
Maintained by CommunityActor stats
7
Bookmarked
807
Total users
80
Monthly active users
2.6 hours
Issues response
4 days ago
Last modified
Categories
Share
๐๏ธ Vinted Smart Scraper โ Cross-Country Arbitrage Scanner for 26 Vinted Markets
Vinted Smart Scraper helps resellers investigate Vinted price gaps across countries. Search a niche, compare up to 5 Vinted markets, inspect underpriced candidates, then export structured results to CSV, Excel, JSON, API, or webhooks.
| KazKN ยท Resale & market intelligence suite ย ย โขย ย Vinted arbitrage, luxury resale, Shopify intelligence, App Store research | |||
|
Vinted โค You are here Compare markets, listings, and sellers. |
Vestiaire Research luxury listings and sellers. |
Shopify Apps Research stores, products, and apps. |
App Store Compare localized app metadata. |
Copy to your AI assistant
Use kazkn/vinted-smart-scraper on Apify. Start with one outcome preset, wait for the run to finish, then retrieve its Dataset.Never paste or share your Apify API token. Load APIFY_API_TOKEN from the environment.Python:import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_API_TOKEN"])run = client.actor("kazkn/vinted-smart-scraper").call(run_input={"workflowPreset": "ARBITRAGE_SCANNER","query": "nike air force 1","countries": ["fr", "de", "nl", "it", "es"],"maxItems": 100,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)Presets: ARBITRAGE_SCANNER, DEAL_ALERTS, SELLER_WATCHLIST.Dataset views: Arbitrage opportunities / Arbitrage items, Overview, Seller profiles.Public listing visibility can be partial. Token settings: https://console.apify.com/account/integrations
๐ฏ Choose the result you need
| I want toโฆ | Choose this outcome preset | Open this Dataset view |
|---|---|---|
| Compare a product across countries | ๐ ARBITRAGE_SCANNER | Arbitrage opportunities for the summary, then Arbitrage items for sampled listings |
| Monitor fresh listings for one niche | โก DEAL_ALERTS | Overview for listing rows and URLs |
| Inspect seller inventory and profile signals | ๐ค SELLER_WATCHLIST | Seller profiles for seller-level rows |
Public activity snapshot (August 9, 2026): 795 total users and 118,654 total runs. These are directional usage, not payer or creator-revenue proof; live totals and reviews can change after this observation.
Current pricing is pay-per-event: a small start event, result rows, and a fixed event for premium workflows. The full current table is below.
๐งญ Start With One of These 3 Workflows
| Workflow | Outcome preset | Runtime mode | What you get |
|---|---|---|---|
| ๐ Arbitrage Scanner | ARBITRAGE_SCANNER | CROSS_COUNTRY | Price-gap summary and sampled listings |
| โก Deal Alerts | DEAL_ALERTS | SEARCH | Fresh filtered listings for a schedule or webhook |
| ๐ค Seller Watchlist | SELLER_WATCHLIST | SELLER_PROFILE | Seller inventory, profile, and rating signals |
Advanced modes are still available: PRICE_TRACK for exact listing price history, SELL_THROUGH_TRACKER for demand validation over time, ITEM_DETAIL for URL lookups, SOLD_ITEMS for explicit sold signals only, and TRENDING for engagement-ranked discovery.
โ Arbitrage Workflow to Sell
Use this actor to make a buy/no-buy decision fast:
Workflow to sell: search opportunity -> compare countries -> detect underpriced listings -> alert/export -> buy/resell.
| 1. Search opportunity | 2. Compare countries | 3. Detect underpriced listings | 4. Alert / export | 5. Buy / resell |
|---|---|---|---|---|
| Pick a niche, brand, size, or seller | Run CROSS_COUNTRY across 2-5 markets | Sort by spread, price gap, and opportunity score | Send CSV/API/webhook/Telegram | Validate shipping, fees, condition, and demand before buying |
The main output to watch is the arbitrage summary row. This is a sanitized representative shape; values vary by run:
{"recordType": "ARBITRAGE_SUMMARY","query": "nike air force 1","opportunityScore": 78,"buyCountry": "fr","sellCountry": "nl","spread": 23,"estimatedResellPrice": 58,"priceGapPercent": 65.7,"alertReason": "High spread: buy in fr around 35 EUR, compare resale in nl around 58 EUR."}
๐ค Who Should Run This?
- Vinted arbitrageurs watching price gaps across France, Germany, Italy, Spain, and the Netherlands
- Resellers who need a fast โis this underpriced?โ signal before buying inventory
- Deal hunters who want scheduled alerts instead of refreshing Vinted manually
- Pricing analysts comparing active supply by country, brand, size, and condition
- Agencies and automation builders delivering Vinted opportunity feeds to clients
๐งฉ Ready-to-Use Apify Task Templates
Create an Apify Task with one of these inputs, run it once, then add a schedule or webhook. Use maxItems: 100 for a focused scan and 300 for a broader arbitrage or alert workflow. Very small 8-30 row samples can be too narrow for useful market comparison.
Example URL note: all numeric item and seller URLs in this README are placeholders. Replace them with current Vinted URLs before running an input.
| Template | Use it for | Default cadence | Main guardrail |
|---|---|---|---|
| Cross-Country Arbitrage Scanner | Buy-low / sell-high country gaps | Daily or weekly | maxItems: 300, max 5 countries |
| Vinted Deal Alerts | New cheap listings for one niche | Every 15-60 min or daily | maxItems: 100-300, webhook/Telegram export |
| Seller Watchlist | Competitor seller stats and inventory signals | Daily | SELLER_PROFILE for stats; PRICE_TRACK for specific listings |
1. Cross-Country Arbitrage Scanner
{"mode": "CROSS_COUNTRY","query": "nike air force 1","countries": ["fr", "de", "nl", "it", "es"],"condition": ["very_good", "good"],"priceMin": 20,"priceMax": 90,"sortBy": "price_low_to_high","maxItems": 300}
Use this first. It answers: which returned country sample is cheaper, which is more expensive, and is the observed spread large enough to investigate?
2. Vinted Deal Alerts
{"mode": "SEARCH","query": "carhartt detroit jacket","countries": ["fr"],"condition": ["very_good", "good"],"priceMin": 30,"priceMax": 120,"sortBy": "newest_first","maxItems": 100}
Save as an Apify Task, schedule it every 15-60 minutes or daily, then send successful run results to a webhook, n8n, Discord, Telegram, Google Sheets, or your own API.
3. Seller Watchlist
{"mode": "SELLER_PROFILE","sellerUrls": ["https://www.vinted.fr/member/123456","https://www.vinted.de/member/234567"]}
Schedule this daily to watch seller rating, review count, follower count, item count, and sold item count.
For exact listing watchlists, use PRICE_TRACK. On paid plans, keep each Task to 100 or fewer item URLs as an operational guardrail; Free runs are capped to 10 URLs.
{"mode": "PRICE_TRACK","itemUrls": ["https://www.vinted.fr/items/1234567890-example","https://www.vinted.fr/items/2345678901-example"],"trackingStoreName": "daily-seller-price-watchlist"}
๐ธ Cost Guardrails
Free Apify accounts are best for proof runs: broad arbitrage/search/monitor workflows are transparently capped to 30 results, Price Track URL watchlists to 10 item URLs, and Seller Profile URL watchlists to 1 seller. For scheduled 100 / 300 result Vinted monitors, use an Apify paid plan and save the setup as a Task.
Each run combines the applicable fixed workflow event with the Actor start and the Dataset rows actually saved. Rates observed on August 9, 2026:
| Paid event | Free | Bronze | Silver | Gold+ |
|---|---|---|---|---|
| Result row | $0.002 | $0.0018 | $0.0017 | $0.0015 |
| Actor start | $0.020 | $0.018 | $0.017 | $0.015 |
| Cross-country arbitrage check | $0.20 | $0.18 | $0.17 | $0.15 |
| Daily monitor check | $0.05 | $0.045 | $0.0425 | $0.0375 |
| Seller details | $0.10 | $0.09 | $0.085 | $0.075 |
| Price tracking persistence | $0.06 | $0.054 | $0.051 | $0.045 |
| Sell-through check | $0.08 | $0.072 | $0.068 | $0.06 |
| Sold signal check | $0.02 | $0.018 | $0.017 | $0.015 |
Example: at the displayed Free-tier rates, an Arbitrage Scanner proof run capped at 30 item rows can also emit one summary row, for up to 31 charged result rows: $0.20 workflow + $0.02 start + $0.062 results = about $0.282. Actual cost follows saved rows and the workflow selected; review the charge estimate shown by Apify before starting.
Important guardrails:
- The current runtime caps
maxItemsat 300 per run and countries at 5 per run for stability. Use multiple tasks if you need 1,000+ rows. - Dataset rows are what drive the result fee. For arbitrage and deal alerts, control spend with
maxItems; for Sell-Through Tracker,emitActiveItems: falsecan reduce daily charges after the first baseline. - Start focused with
maxItems: 100; use300for serious arbitrage scans or deal-alert tasks once the output is useful. - For item URL watchlists, each watched URL can emit one status row per run; Sell-Through Tracker now caps watched URLs by
maxItemsfor billing control.
๐ Advanced Sell-Through Report
| Runtime fields | What it means | What a reseller does next |
|---|---|---|
trackingStatus: active, changeType: first_seen | New item entered the tracker | Check if price is below your buy threshold |
trackingStatus: active, changeType: still_active | Item stayed visible | Watch price, favourites, or seller behavior |
trackingStatus: missing, changeType: missing | Item disappeared once | Wait for confirmation before calling it sold |
trackingStatus: likely_sold, changeType: likely_sold | Item disappeared for enough scheduled runs | Treat it as demand signal |
trackingStatus: active, changeType: reappeared | Item came back after disappearing | Avoid counting it as a clean sale |
trackingStatus: sold, changeType: explicit_sold | Vinted exposed it as sold | High-confidence sale signal |
Each Sell-Through Tracker run can also emit a final summary row. This is a sanitized representative shape; values vary by run:
{"recordType": "SELL_THROUGH_DAILY_SUMMARY","trackerId": "daily-nike-af1-fr-de-nl-it-es","checkedAt": "2026-05-31T08:00:00.000Z","newItems": 41,"activeItems": 784,"missingItems": 37,"likelySoldItems": 18,"explicitSoldItems": 3,"sellThroughRate": 0.0249,"avgPrice": 42.8,"topBrands": [{ "brand": "Nike", "count": 171 },{ "brand": "Adidas", "count": 88 }],"dailySellThroughSignals": 21,"telegramText": "Vinted sell-through daily-nike-af1-fr-de-nl-it-es: 300 observed, 41 first seen, likely sold: 18, sold: 3, reappeared: 2."}
Use this optional Sell-Through summary row after you already found a promising niche with arbitrage or deal-alert scans. It is useful for scheduled webhooks, Telegram alerts, and CSV reports. Item-level rows still include recordType: "SELL_THROUGH_ITEM".
๐ฏ Who Is This For?
- ๐ Fashion & sneaker resellers who source in one country and sell in another
- ๐ Vinted buyers comparing returned prices across supported markets
- ๐ Data analysts & developers who need structured Vinted data for their projects
- ๐ช Businesses tracking competitor pricing on Vinted at scale
โก Why Use Vinted Smart Scraper?
- ๐ฐ Investigate cross-border price gaps using comparable returned listings from up to 5 countries per run across 26 supported markets.
- ๐ท๏ธ Price your listings right by comparing active market prices and sell-through signals over time
- ๐ต๏ธ Track competitor sellers โ monitor their pricing, inventory, and sell-through rates
- ๐ Explore engagement trends in the returned sample to see which brands and items may be gaining momentum
- ๐ค AI-ready โ optional Claude Desktop + MCP integration for natural language queries
๐ Built for Vinted arbitrage workflows: cross-country price gaps, scheduled deal alerts, seller watchlists, and advanced sell-through validation across 26 supported Vinted markets.
โ Advanced Feature: Sell-Through Tracker
Vinted often hides sold listings from public search results. That makes classic "sold item" scraping unreliable: a missing listing can mean sold, removed, relisted, moderated, or temporarily hidden.
SELL_THROUGH_TRACKER compares scheduled snapshots over time. The first run builds a baseline for a query or watched URLs. Later runs set trackingStatus to active, missing, likely_sold, or sold; an item that returns is active with changeType: reappeared.
Use it after an arbitrage or deal-alert scan reveals a promising niche. The advanced workflow is: find opportunity -> save tracker -> schedule daily -> validate demand -> webhook/Telegram/CSV.
Use it when you need:
- Sell-through signals for a niche, brand, size, or country
- Demand tracking before buying inventory
- Competitor monitoring without trusting Vinted's hidden sold pages
- A repeatable daily dataset for pricing and restock decisions
๐ฌ Video Tutorial โ See It in Action
โถ๏ธ Watch the full tutorial โ from search to export.
๐ฌ๐ง English tutorial | ๐ซ๐ท Tutoriel franรงais | ๐ฉ๐ช Deutsches Tutorial
๐ What Data Can You Scrape from Vinted?
๐ฆ Item Listings Title, price, brand, size, condition, colour/color when returned, photos ๐ค Seller Profiles Username, rating, reviews, followers, verification ๐ฐ Price Comparison Avg, median, min, max prices across countries ๐ฅ Trending Items Engagement-ranked items in the returned sample โ Sold Signals Only items Vinted explicitly marks as sold; returns empty when Vinted hides sold results ๐ช Seller Closet Visible seller inventory returned by the current lookup ๐ 26 Markets FR, DE, UK, IT, ES, NL, PL, PT, BE, AT, LT, CZ, SK, HU, RO, HR, FI, DK, SE, EE, GR, IE, LU, LV, SI, US ๐ Price Tracking Monitor price drops and days listed โ Sell-Through Tracking Detect likely sold items from scheduled snapshots
๐ Screenshot: Apify input form โ select mode, enter query, pick countries
๐ How to Scrape Vinted in 5 Steps
- Create a free Apify account at apify.com
- Open Vinted Smart Scraper and click "Try for free"
- Pick a workflow: Arbitrage Scanner, Deal Alerts, or Seller Watchlist
- Click Start and wait for the run to finish
- Download your data in JSON, CSV, Excel, or connect via API
That's it. No coding, no proxies to configure, no Vinted account needed.
๐ 8 Powerful Vinted Scraping Modes
Start with CROSS_COUNTRY if your goal is arbitrage. Use SEARCH for scheduled deal alerts and SELLER_PROFILE for seller watchlists. Sell-Through is an advanced validation layer once you already know which niche is worth tracking.
| Mode | Best for | Recurring value |
|---|---|---|
CROSS_COUNTRY | Arbitrage and country price-gap monitoring | Primary workflow |
SEARCH | Scheduled deal alerts for one niche | High when saved as a task |
SELLER_PROFILE | Seller watchlists | High |
PRICE_TRACK | Specific listing price changes | Medium to high for exact watchlists |
SELL_THROUGH_TRACKER | Advanced demand and sell-through validation | High after you find a niche |
ITEM_DETAIL | Deep inspection of known URLs | Low |
SOLD_ITEMS | Explicit sold listings only | Limited by Vinted visibility |
TRENDING | Fast trend discovery | Medium |
๐ 1. Search Items
Search the Vinted catalog with filters: keywords, brand, size, price range, condition, category.
Input example:
{"mode": "SEARCH","query": "nike air force 1","countries": ["fr"],"priceMin": 10,"priceMax": 100,"condition": ["very_good"],"maxItems": 100}
Output example (sanitized representative shape; values vary by run):
[{"id": 1234567890,"title": "Nike Air Max","url": "https://www.vinted.fr/items/1234567890-example","price": 62,"currency": "EUR","brand": "Nike","condition": "Neuf avec รฉtiquette","size": "45","favouriteCount": 10,"viewCount": 42,"country": "fr","seller": {"id": 123456,"username": "example_seller","profileUrl": "https://www.vinted.fr/member/123456"},"scrapedAt": "2026-08-09T00:00:00.000Z"}]
The number of returned rows depends on current Vinted visibility, filters, plan caps, and maxItems.
๐ฆ 2. Item Detail
Inspect the item fields visible to the current lookup, including available description, photos, seller info, views, and favorites.
Input example:
{"mode": "ITEM_DETAIL","itemUrls": ["https://www.vinted.fr/items/1234567890-example"]}
Output example (sanitized representative shape; values vary by run):
{"id": 1234567890,"title": "Air Force 1","description": "Air force 1 parfait รฉtat, Pointure 40","price": 45,"currency": "EUR","brand": "Nike","category": "Femmes Baskets","condition": "New","color": "Blanc","photos": ["https://images1.vinted.net/..."],"favouriteCount": 49,"viewCount": 234,"isSold": false,"seller": {"id": 123456,"username": "example_seller","rating": 0.98,"followerCount": 1500}}
๐ค 3. Seller Profile
Analyze any Vinted seller. Rating, reviews, followers, sold items count, verification status.
Input example:
{"mode": "SELLER_PROFILE","sellerUrls": ["https://www.vinted.fr/member/123456"]}
Output example (sanitized representative shape; values vary by run):
{"recordType": "SELLER_PROFILE","mode": "SELLER_PROFILE","sellerId": 123456,"username": "example_seller","profileUrl": "https://www.vinted.fr/member/123456","country": "fr","rating": 0.96,"ratingCount": 2628,"itemCount": 526,"soldItemCount": 3180,"followerCount": 10283,"followingCount": 3146,"verifications": { "email": true, "phone": false },"lastSeenAt": "2026-08-08T18:30:00.000Z","checkedAt": "2026-08-09T00:00:00.000Z"}
๐ 4. Cross-Country Vinted Price Comparison
Compare active listing prices for the same search across multiple Vinted markets. Use the output to investigate possible cross-border gaps before checking fees, shipping, condition, and real demand.
Input example:
{"mode": "CROSS_COUNTRY","query": "nike air force 1","countries": ["fr", "de", "es", "it", "nl"]}
Output example (sanitized representative shape; values vary by run):
{"recordType": "ARBITRAGE_SUMMARY","query": "playstation 5","opportunityScore": 48,"buyCountry": "de","sellCountry": "es","spread": 45.1,"estimatedBuyPrice": 167.4,"estimatedResellPrice": 212.5,"priceGapPercent": 26.9,"alertReason": "Moderate spread: buy in de around 167.4 EUR, compare resale in es around 212.5 EUR.","comparisons": [{"country": "fr","avgPrice": 182.85,"medianPrice": 170,"minPrice": 23,"maxPrice": 440,"itemCount": 20,"currency": "EUR"},{"country": "de","avgPrice": 167.4,"medianPrice": 150,"minPrice": 28,"maxPrice": 400,"itemCount": 20,"currency": "EUR"},{"country": "es","avgPrice": 212.5,"medianPrice": 235,"minPrice": 45,"maxPrice": 310,"itemCount": 20,"currency": "EUR"}],"bestBuyCountry": "de","bestSellCountry": "es","arbitrageSpreadPct": 26.9}
This example illustrates the comparison fields. Treat a price gap as a research lead, then verify current listings, shipping, fees, condition, and demand before acting.
๐ Screenshot: Dataset output โ cross-country price comparison with avg/median/min/max per country
๐ฐ 5. Vinted Price Tracking
Track prices of specific items over time. Monitor price drops, calculate days listed, and get price history.
{"mode": "PRICE_TRACK","itemUrls": ["https://www.vinted.fr/items/1234567890-example","https://www.vinted.fr/items/2345678901-example"],"trackingStoreName": "nike-air-force-price-history"}
Keep the same trackingStoreName when scheduling this mode. The actor writes price history to a named Apify key-value store so later runs can output real priceHistory and priceDropPct values.
โ 6. Daily Sell-Through Tracker
Detect what likely sold by comparing scheduled snapshots. The first run builds a baseline from a search query and/or item URLs. Later runs use trackingStatus values such as active, missing, likely_sold, or sold; a returned item uses changeType: reappeared.
{"mode": "SELL_THROUGH_TRACKER","query": "nike air max","countries": ["fr"],"maxItems": 300,"trackingStoreName": "nike-air-max-fr-tracker","missingRunsThreshold": 2,"emitRunSummary": true}
Use an Apify schedule daily or every few hours. Keep the same trackingStoreName and trackerId to compare runs over time. Send successful run outputs to CSV/API, an Apify webhook, a self-hosted n8n flow, or your Telegram bot.
You can also track specific item URLs:
{"mode": "SELL_THROUGH_TRACKER","itemUrls": ["https://www.vinted.fr/items/1234567890-example"],"trackingStoreName": "watched-items-fr","emitRunSummary": true}
๐ท๏ธ 7. Sold Signals
Return only listings that Vinted explicitly marks as sold. Vinted currently removes or hides sold listings from many public search results, so this mode may return an empty dataset instead of active listings.
For market research and sell-through analysis, use SELL_THROUGH_TRACKER instead. It compares scheduled snapshots and detects items that disappear over time.
{"mode": "SOLD_ITEMS","query": "adidas yeezy","countries": ["fr"],"maxItems": 100}
๐ฅ 8. Trending Items
Explore the returned product sample sorted by engagement (favorites) to identify items worth further research.
{"mode": "TRENDING","query": "nike","countries": ["fr"],"maxItems": 100}
The output includes trendScore, favsGrowthRate, viewsGrowthRate, and listedHoursAgo so you can rank items by engagement speed, not only by raw favorites.
๐ 26 Supported Vinted Markets
| Region | Markets |
|---|---|
| Western Europe | FR, DE, UK, IT, ES, NL, BE, AT, IE, LU |
| Central / Eastern Europe | PL, CZ, SK, HU, RO, HR, LT, LV, SI, EE |
| Northern Europe | FI, DK, SE |
| Southern Europe | PT, GR |
| North America | US |
๐ซ๐ท France vinted.fr EUR | ๐ฉ๐ช Germany vinted.de EUR | ๐ฌ๐ง United Kingdom vinted.co.uk GBP
๐ฎ๐น Italy vinted.it EUR | ๐ช๐ธ Spain vinted.es EUR | ๐ณ๐ฑ Netherlands vinted.nl EUR
๐ต๐ฑ Poland vinted.pl PLN | ๐ต๐น Portugal vinted.pt EUR | ๐ง๐ช Belgium vinted.be EUR
๐ฆ๐น Austria vinted.at EUR | ๐ฑ๐น Lithuania vinted.lt EUR | ๐จ๐ฟ Czechia vinted.cz CZK
๐ธ๐ฐ Slovakia vinted.sk EUR | ๐ญ๐บ Hungary vinted.hu HUF | ๐ท๐ด Romania vinted.ro RON
๐ญ๐ท Croatia vinted.hr EUR | ๐ซ๐ฎ Finland vinted.fi EUR | ๐ฉ๐ฐ Denmark vinted.dk DKK
๐ธ๐ช Sweden vinted.se SEK | ๐ช๐ช Estonia vinted.ee EUR | ๐ฌ๐ท Greece vinted.gr EUR
๐ฎ๐ช Ireland vinted.ie EUR | ๐ฑ๐บ Luxembourg vinted.lu EUR | ๐ฑ๐ป Latvia vinted.lv EUR
๐ธ๐ฎ Slovenia vinted.si EUR | ๐บ๐ธ United States vinted.com USD
๐ก Vinted Scraper Use Cases
๐ช For Resellers & Flippers
- Find underpriced items across different countries
- Cross-border research: compare returned country samples to identify a possible spread before checking shipping, fees, demand, and resale risk
- Monitor competitors' prices and adjust your listings
- Track price drops on items you want to buy
- Track sell-through over time with scheduled snapshots; use Sold Signals only when Vinted explicitly exposes sold listings
๐ For Market Researchers & Analysts
- Analyze pricing trends across the European second-hand market
- Study seller behavior: top sellers' strategies, pricing patterns, inventory size
- Monitor brand popularity and demand by country
- Export data for analysis in Excel, Google Sheets, or BI tools
- Study seasonal changes in returned listings and engagement signals
๐ค For Developers & Automation Builders
- Build Vinted price comparison tools using our structured JSON output
- Create Vinted alerts with Apify webhooks, self-hosted n8n, or your Telegram bot endpoint
- Feed data into ML models for price prediction
- Integrate via Vinted API alternative for structured scheduled data access
- Connect to AI assistants via MCP protocol (see below)
๐ง How to Use Vinted Scraper with Claude Desktop (MCP)
Use this when you want to query Vinted data through an AI assistant instead of manually opening datasets.
With the Vinted MCP Server, you can connect Claude Desktop (or Cursor, Windsurf, or any MCP-compatible AI) directly to Vinted data. Ask questions in plain English:
- "Find me Nike Air Force 1 under โฌ40 in France"
- "Compare PS5 prices across Germany, Spain, and Italy"
- "Show me the top sellers for vintage Levi's in the Netherlands"
Setup:
{"mcpServers": {"vinted": {"command": "npx","args": ["-y", "vinted-mcp-server"]}}}
Add this to your Claude Desktop config, then test the connection with a small query. See the linked Apify MCP page above for current setup details.
๐ Deep dive: I Built an MCP Server for Vinted. Here's How Cross-Border Price Gaps Make You Money
๐ How to Scrape Vinted via API
Via Apify API (cURL)
curl "https://api.apify.com/v2/acts/kazkn~vinted-smart-scraper/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer ${APIFY_API_TOKEN}" \-d '{"mode": "SEARCH","query": "nike","countries": ["fr"],"maxItems": 100}'
Via JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_API_TOKEN });const run = await client.actor('kazkn/vinted-smart-scraper').call({mode: 'CROSS_COUNTRY',query: 'nike air force 1',countries: ['fr', 'de', 'es', 'it'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Via Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_API_TOKEN"])run = client.actor("kazkn/vinted-smart-scraper").call(run_input={"mode": "CROSS_COUNTRY","query": "nike air force 1","countries": ["fr", "de", "es", "it"],})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
๐ Integrations
This Vinted scraper works with:
- CSV / Excel exports for daily reseller spreadsheets
- Apify API for programmatic market monitors
- Apify webhooks for run-complete notifications
- Self-hosted n8n for zero-subscription automations
- Telegram bot workflows through your own webhook endpoint
- Claude Desktop / Cursor via Vinted MCP Server
๐ฐ Vinted Scraper Pricing
This Actor uses pay-per-event pricing. A run can include three components: one Actor start, the fixed event for the selected premium workflow, and one result event per saved Dataset row. See Cost Guardrails above for the dated tier-by-tier table. Cap maxItems; for Sell-Through Tracker, turn off emitActiveItems after the first baseline if you only need changes.
โก Performance & Limits
๐ฆ Max items per run: 300 in the current stable runtime ๐ Markets per run: up to 5 โฑ๏ธ Default timeout: 600 seconds ๐ก๏ธ Access can be partial: Vinted can change visible surfaces, challenge requests, or return fewer rows than requested ๐ Proxy input: optional; start with the default and change it only when a run needs it
โ Frequently Asked Questions
Is it legal to scrape Vinted?
The Actor is designed for publicly visible listing and seller surfaces; it does not automate purchases or sales. Rules can depend on your use, location, data, and current platform terms, so assess those separately. This README is product documentation, not legal advice.
When is this Vinted scraper a good fit?
Use it when you need cross-country listing comparisons, scheduled deal alerts, seller watchlists, or structured exports. Start with a small run and confirm that the visible fields match your workflow before scheduling it.
How to compare Vinted prices across countries?
Use the CROSS_COUNTRY mode. Enter your search query and select which countries to compare, up to 5 countries per run. The scraper returns average, median, min, and max prices per country, plus opportunityScore, buyCountry, sellCountry, spread, estimatedResellPrice, priceGapPercent, and alertReason.
Can I use this as a Vinted bot alternative?
It can monitor and structure visible data, but it does not automate buying, selling, messaging, or account actions.
Can I download Vinted data to Excel or Google Sheets?
Absolutely. Apify lets you export results in JSON, CSV, Excel, XML, and RSS. You can also connect directly to Google Sheets via the Apify integration for automatic updates.
How often can I run this Vinted scraper?
Use sensible schedules based on your workflow. For arbitrage scans, start daily with maxItems: 100. For deal alerts on fast-moving niches, test a tight filter first, then choose a cadence based on run stability and cost.
How do I avoid a surprise bill on daily schedules?
Set maxItems, keep countries to 5 or fewer per run, and include the workflow event shown in Cost Guardrails when estimating each run. For Sell-Through Tracker only, use emitActiveItems: false after the first baseline if you want fewer daily result rows.
Does this work with all 26 supported Vinted markets?
Yes. The actor currently supports 26 Vinted markets: France, Germany, United Kingdom, Italy, Spain, Netherlands, Poland, Portugal, Belgium, Austria, Lithuania, Czech Republic, Slovakia, Hungary, Romania, Croatia, Finland, Denmark, Sweden, Estonia, Greece, Ireland, Luxembourg, Latvia, Slovenia, and the United States.
How is this different from the Vinted API?
This is an independent Apify Actor, not an official Vinted API. It turns supported visible surfaces into structured Dataset rows and adds cross-country comparison and tracking workflows.
Can I connect this to AI assistants like Claude or ChatGPT?
Yes. The Vinted MCP Server lets you connect Claude Desktop, Cursor, or any MCP-compatible AI to Vinted data. Ask questions in plain English and get structured results.
โญ Recent User CTA
If Vinted Smart Scraper saved you time or helped you find a real market gap, leave a short Apify review with your use case:
"I use it to monitor [brand/query] in [countries] every [day/week]. It helps me [source inventory / price listings / track sellers / report to clients]."
That feedback decides which daily templates and output fields get improved next.
๐ Changelog
v1.2 (June 2026)
- Recentered the Store README around cross-country Vinted arbitrage and scheduled deal alerts
- Promoted 3 primary workflows above the fold: Arbitrage Scanner, Deal Alerts, and Seller Watchlist
- Added arbitrage-first output fields:
opportunityScore,buyCountry,sellCountry,spread,estimatedResellPrice,priceGapPercent, andalertReason - Moved Sell-Through Tracker to advanced demand validation instead of the first workflow new users see
- Updated cost guardrails to explain
maxItemsfor arbitrage/alerts andemitActiveItemsonly for Sell-Through Tracker
v1.1 (May 2026)
- Added
SELL_THROUGH_TRACKERas a daily demand-validation workflow - Added Apify Task templates for daily sneaker monitoring, seller watchlists, and cross-country arbitrage
- Updated daily templates and input defaults toward
maxItems: 100or300 - Added
SELL_THROUGH_DAILY_SUMMARYoutput rows for schedules, webhooks, Telegram, and CSV reports - Added cost guardrails for 300, 1,000, 10,000 emitted rows, and monthly daily schedules
- Added status guide for
first_seen,missing,likely_sold,explicit_sold, and thereappearedchange event - Updated Store copy, input guidance, and actor descriptions around 26 supported Vinted markets
- Clarified current pay-per-event pricing: dataset item fee plus actor start fee
v1.0 (February 2026)
- Initial release
- 8 scraping modes: Search, Item Detail, Seller Profile, Cross-Country, Price Track, Sell-Through Tracker, Sold Signals, Trending
- 26 Vinted markets supported
- Initial request pacing and retry controls
- Initial pay-per-result pricing