Skip to main content

Vinted Scraper API

Search listings, fetch item details, and retrieve user profiles from Vinted — the largest European second-hand marketplace. The API handles authentication, anti-bot bypass, and market routing automatically.

Key Features

27 Markets

Access all Vinted markets including FR, DE, UK, IT, ES, PL, NL, BE, CZ, LT, and more.

Anti-Bot Bypass

Automatic session management and fingerprint rotation to avoid blocks.

Fast Responses

Median response time under 2 seconds for search and item detail requests.

Structured Data

Clean JSON responses with prices, photos, sizes, brands, conditions, and seller info.

Country Proxies

Requests are routed through proxies matching the target market for accurate results.

SDK Support

First-class support via the ScrapeBadger Node.js and Python SDKs.

Supported Markets

Vinted operates across 27 country domains. Use the market query parameter to target a specific one. gb is the canonical code for the UK; uk is accepted as an alias.
If no market is specified, it defaults to fr. Use the /v1/vinted/markets endpoint to get the full list programmatically.

Filtering by seller country (cross-border listings)

Vinted markets federate listings across borders. A search on vinted.fr does not only return items from French sellers — it surfaces items from sellers physically located in IT, DE, NL, ES, and elsewhere. Vinted localizes the rendering (EUR prices, French labels), but the seller may be abroad. Vinted exposes no native country facet — its catalog filters cover only category, brand, status, color, price, size, and material, and the undocumented country_ids parameter is ignored. To solve this, /v1/vinted/search accepts an optional seller_country parameter:
  • Value: comma-separated ISO 3166-1 alpha-2 codes, case-insensitive (e.g. fr or fr,be).
  • Behavior: ScrapeBadger resolves each result item’s seller country and drops items whose seller isn’t in the requested set.
  • Response additions: each item gains a seller_country_code field (ISO-2 string or null), and the response gains a top-level seller_country echoing the normalized filter.
market and seller_country are different axes. market chooses which Vinted domain (catalog + currency) you search; seller_country filters on where the seller physically is. market=fr&seller_country=it searches the French catalog but returns only items shipped from Italy.
Pagination (total_entries / total_pages) still reflects Vinted’s unfiltered totals, so a filtered page may return fewer than per_page items. Keep requesting pages until you have collected enough matching items.
Seller-country filtering costs nothing extra: a search is a flat 5 credits whatever filters you pass. The exact charge for any call is returned in the X-Credits-Used response header.

Filtering by category (catalog_ids)

/v1/vinted/search accepts catalog_ids to restrict a search to one or more Vinted categories. Unlike seller_country, this is a native Vinted filter applied before the search runs — you get whole pages of in-category results rather than filtering them out client-side.
  • Value: comma-separated catalog IDs (e.g. 221 or 221,1242).
  • Where to find an ID: browse to the category on the Vinted site and read the catalog[] value off the URL — vinted.fr/catalog?catalog[]=221catalog_ids=221. A listing’s own ID is also on /v1/vinted/items/{item_id} as catalog_id, alongside a category breadcrumb.
  • Sub-categories are included: catalog_ids=221 (Women’s T-shirts) also matches the brand-specific leaves beneath it.
Catalog IDs are per market — take the ID from the same market you pass as market. Search results themselves do not carry catalog_id (Vinted’s catalog endpoint doesn’t return it); use catalog_ids to narrow at search time, or the item endpoint to read the exact category of a single listing.

Quick Start

Endpoints

Credit Costs

Next Steps

Search Items

Full API reference for searching the Vinted catalog

Get Item Details

Retrieve full details for a specific listing