The best deals on Vinted go within minutes, and refreshing the same search all day doesn't scale. Vinted has no public API for this, and its search shows at most 960 results.
In this tutorial you'll set up an hourly monitor that sends new listings for a search to Discord or Slack, using the Vinted Scraper on Apify. It takes about 10 minutes and no code. Full disclosure: I built the scraper.
What you need
- A free Apify account. Runs on the free plan save up to 100 results, which is enough to try everything below.
- A Vinted search you want to watch, for example Levi's 501 jeans under 40 EUR on vinted.fr.
Step 1: Run your first search
Open the Vinted Scraper, click Try for free, and switch the input to JSON:
{
"searchQueries": ["levi's 501"],
"country": "fr",
"sortBy": "newest_first",
"maxPrice": 40,
"maxItemsPerSearch": 100
}
Click Start. After about 20 seconds the Output tab shows each listing with its title, price, total price with buyer protection, brand, size, condition, photo and link:
Tip: if you need a filter the form doesn't have, set it on the Vinted website and paste the search URL into Vinted URLs. Every filter in the URL is kept.
Step 2: Turn the search into a monitor
Add two fields: a monitoring ID, any name you choose, and Save only: new listings:
{
"searchQueries": ["levi's 501"],
"country": "fr",
"maxPrice": 40,
"monitoringId": "levis-501-fr",
"saveOnly": "new"
}
Run it once. The first run saves the current listings as the baseline. Every later run with the same monitoring ID saves only listings created since the previous run. It scans only the newest pages of the search and stops at the first page without new listings, so it stays fast and cheap.
Old listings that Vinted bumps back to the top are not reported as new.
Step 3: Run it every hour
Save the input as a task, then open Schedules, create a schedule with an hourly cron expression (0 * * * *) and add the task to it.
Step 4: Get the alerts in Discord or Slack
In the task's Integrations tab:
- Slack: add the Slack integration and pick a channel.
- Discord: create a webhook in your Discord channel settings, then add an HTTP webhook on Run succeeded with this payload template:
{ "content": "New Vinted listings: https://console.apify.com/view/runs/{{resource.id}}" }
Each message links to the run, where you'll see the new listings with photos and prices.
What it costs
The scraper charges per result, with platform usage and proxies included:
- $0.02 per monitored search per run
- $0.0015 per listing saved
An hourly monitor that finds 10 new listings per run costs $0.035 per run, about $0.84 a day. Set a maximum cost per run in the task options if you want a hard cap.
Going further
See what sells. Add "trackSoldItems": true and "maxItemsPerSearch": 0 to a narrow search and run it daily. Listings that disappear are checked on their item page and reported as sold or removed, with their last price. Sold detection scans the whole search on every run ($0.008 per search page), so keep the search specific.
Find the cheapest country. Add "compareCountries": ["de", "it", "es"] and the run ends with a summary of the median price per country in EUR, with the cheapest and the most expensive country.
Watch a seller. Paste a seller's profile URL into Vinted URLs to get the profile and all their active listings; with a monitoring ID and "trackSoldItems": true, later runs report their new listings and the ones that sold.
Get more than 960 results. Set "maxItemsPerSearch": 0. Searches above Vinted's 960-result limit are split into price ranges automatically and merged without duplicates.
Use it responsibly
The scraper reads only public data, the same any visitor sees, and never logs in. Seller usernames and locations are personal data under GDPR, so collect them only when you need them, and follow Vinted's terms.
Try it here: Vinted Scraper on Apify. If something doesn't work for your search, open an issue on the Actor page and I'll look at it.














