Vinted Country & City Filter (Client-side)

Description
This userscript enhances the Vinted website by displaying the seller’s country and city directly on item listings and allows you to visually filter items by country.
The script works entirely client-side and uses Vinted’s own public item API to retrieve location information.
It does not modify search results, does not interact with your account, and does not perform automated actions such as buying, messaging, or following users.
Filtering is purely visual: non-matching items are faded and grayscaled, while matching items remain fully visible.
You can switch the country filter at any time, and the results update instantly without reloading the page.
When “No filter” is selected, no items are hidden or de-emphasized, and the script simply displays the country and city for each item whenever available.
✅ Changelog: https://github.com/Nigel1992/Vinted-Geo-Locator/blob/main/CHANGELOG.md
How it works
- When item cards appear on a Vinted page, the script detects their item IDs.
- For each item, it requests location data from:
/api/v2/items/{item_id}/details
- To respect Vinted’s API limits, the script processes approximately one item per second.
- Item information appears gradually, especially on pages with many listings.
- The seller’s country and city are shown as a small overlay on the item card.
- A floating menu allows you to change the selected country filter live.
- Items are updated immediately when the filter is changed.
- Selecting No filter keeps all items fully visible while still showing location information.
Performance and rate limits
- The default processing speed is about one API request per second.
- This delay is intentionally conservative to reduce the risk of rate limiting or captchas.
- Advanced users may edit the script and lower the delay to load item locations faster.
- Increasing the request speed may result in:
- More frequent 429 (Too Many Requests) responses
- 403 (captcha) challenges
- Temporary API blocking by Vinted
- Any changes to the delay are done at the user’s own risk.
Features
- 🌍 Displays seller country and city on item cards
- 🎯 Client-side country-based filtering with instant updates
- 🔄 Live switching between countries or No filter
- 👁️ No filter mode shows all items with their country/city (when available)
- ⏱️ Rate-limited processing (~1 item per second by default)
- 🛑 Automatically pauses on 403 (captcha) or 429 (rate limit)
- 🧠 Remembers the selected filter during the session
- 🔒 No tracking, no ads, no data sent to third parties
- 📖 Fully readable, non-obfuscated source code
- 🏠 Works on homepage and category/search pages
Important notes (please read)
- This script uses Vinted’s own API to fetch item details.
- Because of API rate limits, item locations are not loaded all at once.
- Scrolling very fast or opening pages with many items may temporarily increase the queue.
- Filtering is visual only and does not change Vinted’s internal search or ranking.
What this script does NOT do
- ❌ Does not automate purchases or messages
- ❌ Does not change prices, visibility, or rankings on Vinted
- ❌ Does not bypass paywalls, security, or authentication
- ❌ Does not collect or transmit personal data
Usage instructions
- Install the script using a userscript manager (e.g. Tampermonkey).
- Open Vinted and browse items as usual.
- Use the Location Filter menu on the right side of the page.
- Select a country to filter items, or choose No filter to show all items.
- Switch filters at any time to instantly update visible items.
- Wait briefly for item locations to load (about one item per second).
- If prompted, manually solve any captcha and resume the script.
Compatibility
- Tested on:
- vinted.nl
- vinted.be
- vinted.fr
- vinted.de
- vinted.es
- vinted.it
License
This script is released under the MIT License.
You are free to use, modify, and redistribute it, provided the license notice is retained.