vinted.de APIvinted.de ↗
Access Vinted.de listings via API. Search by keyword, price, brand, and category. Retrieve full product details including condition, color, and seller info.
curl -X GET 'https://api.parse.bot/scraper/16ff8198-b96a-4b20-912b-c81c74b39bc7/search_products?order=price_low_to_high&query=Adidas&per_page=3&price_to=30&price_from=10' \ -H 'X-API-Key: $PARSE_API_KEY'
Search or browse the Vinted catalog. Returns product listings with price, brand, size, condition, photos, seller info, and engagement metrics. Supports pagination, price range filters, sorting, and category/brand filtering.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-indexed). |
| order | string | Sort order: 'relevance', 'newest_first', 'price_low_to_high', 'price_high_to_low'. |
| query | string | Search text to find products (e.g., 'Nike shoes'). Leave empty to browse all listings. |
| per_page | integer | Number of results per page (max 96). |
| price_to | string | Maximum price filter in EUR. |
| brand_ids | string | Comma-separated brand IDs to filter by. |
| price_from | string | Minimum price filter in EUR. |
| catalog_ids | string | Comma-separated catalog/category IDs to filter by. |
{
"type": "object",
"fields": {
"items": "array of product objects with id, title, url, price, currency, service_fee, total_price, brand, size, status, promoted, favourite_count, view_count, main_photo, photo_urls, and user info",
"pagination": "object with current_page, total_pages, total_entries, per_page"
},
"sample": {
"data": {
"items": [
{
"id": 8612701483,
"url": "https://www.vinted.de/items/8612701483-nike-vapormax-39",
"size": "39",
"user": {
"id": 270033253,
"login": "John Doe",
"business": false,
"profile_url": "https://www.vinted.de/member/270033253-John Doe"
},
"brand": "Nike",
"price": "10.0",
"title": "Nike Vapormax 39",
"status": "Sehr gut",
"currency": "EUR",
"promoted": false,
"main_photo": "https://images1.vinted.net/t/03_0194d_xrNF9WoeFqHQX5stMGbhrKDD/f800/1776428897.webp?s=bd89744250df0c6f7a0dbd9062678925123ebae4",
"photo_urls": [
"https://images1.vinted.net/t/03_0194d_xrNF9WoeFqHQX5stMGbhrKDD/f800/1776428897.webp?s=bd89744250df0c6f7a0dbd9062678925123ebae4"
],
"view_count": 0,
"service_fee": "1.2",
"total_price": "11.2",
"favourite_count": 7
}
],
"pagination": {
"per_page": 5,
"total_pages": 192,
"current_page": 1,
"total_entries": 960
}
},
"status": "success"
}
}About the vinted.de API
The Vinted.de API exposes 2 endpoints for searching and retrieving secondhand product listings from the German Vinted marketplace. The search_products endpoint returns up to 96 items per page, each including price, brand, size, condition, photos, seller info, and engagement metrics. The get_item_detail endpoint provides granular data per listing: full description, color, category, and condition.
Search and Browse Listings
The search_products endpoint accepts a free-text query (e.g. 'Adidas Jacke') alongside structured filters: price_from and price_to in EUR, brand_ids as comma-separated IDs, and catalog_ids to narrow by category. Results are paginated via page and per_page (max 96 per page), and sortable with the order parameter using values like newest_first, price_low_to_high, or relevance. Each item in the response carries id, title, url, price, currency, service_fee, total_price, brand, size, status, promoted, and favourite_count. The pagination object in the response exposes current_page, total_pages, total_entries, and per_page for reliable cursor management.
Product Detail Retrieval
The get_item_detail endpoint accepts either an item_id (numeric string) or a full item_path such as /items/123456789-nike-air-max. The item_path format is returned directly in search_products results, making it straightforward to chain the two endpoints. The detail response includes name, brand, color, image, price, currency, category, condition, and description — fields absent from the search result objects.
Data Coverage
All pricing fields are denominated in EUR, reflecting Vinted.de's German marketplace. The service_fee and total_price fields in search results allow downstream applications to display buyer-facing costs without extra calculation. Condition is returned as a string (e.g. 'Sehr gut' / 'Neu mit Etikett') as shown on the listing itself.
- Build a price tracker for specific brands using
brand_idsandprice_from/price_tofilters insearch_products - Aggregate secondhand fashion inventory by category using
catalog_idsto power a resale comparison tool - Monitor new listings for a keyword with
order: newest_firstand paginate through results using thepaginationobject - Enrich search results with full item descriptions and color data by chaining
get_item_detailusingitem_pathfrom search output - Calculate true buyer cost by exposing
service_feeandtotal_pricealongside the basepriceper listing - Build a condition-based filter layer using the
conditionfield fromget_item_detailfor buyers who only want near-new items
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Vinted have an official public developer API?+
What does `search_products` return beyond the item price?+
service_fee and total_price in addition to the base price, so you can display buyer-facing totals directly. It also returns brand, size, status, promoted, and favourite_count per listing. Full description and color are only available via get_item_detail.How do I get detailed fields like color and description from a search result?+
search_products response includes a url field (and implicitly the item path) for each listing. Pass that path as item_path to get_item_detail to retrieve color, description, category, condition, and the full image URL.Does the API cover seller profiles or transaction/review data?+
search_products and item-level detail via get_item_detail, including seller info embedded in search results. Standalone seller profiles, feedback scores, and transaction history are not exposed as separate endpoints. You can fork this API on Parse and revise it to add a seller profile endpoint.Is pagination reliable for large result sets?+
pagination object returns total_pages and total_entries so you can determine the full result set size before iterating. The per_page parameter caps at 96 per request. For very broad queries, total_entries can be large; apply catalog_ids or brand_ids filters to narrow results to a manageable set.