Secondhand-fashion pricing and resale research
Use Vinted endpoints to turn secondhand-fashion pricing and resale research into repeatable API requests with documented inputs and JSON responses.
Turn public Vinted pages into structured secondhand-fashion data — catalog search with brand/category/price filters, a single listing's full detail, a seller's public storefront profile, and the closed brand and category directories, all as normalized JSON. Credential-free.
Search Vinted listings by catalog, brand, or category, and get listing detail, member storefronts, and the brand/category directories as structured JSON.
Endpoint families
6
Documented params
24
Examples
7
Live catalog snapshot
Active endpoints
7
Methods
GET
Required params
12
Schema refs
7
{
"platform": "Vinted",
"endpoint": "vinted-catalog",
"method": "GET",
"path": "/vinted/catalog",
"auth": "apiKey"
}Use cases
Search Vinted listings by catalog, brand, or category, and get listing detail, member storefronts, and the brand/category directories as structured JSON.
Use Vinted endpoints to turn secondhand-fashion pricing and resale research into repeatable API requests with documented inputs and JSON responses.
Use Vinted endpoints to turn brand and category demand tracking into repeatable API requests with documented inputs and JSON responses.
Use Vinted endpoints to turn seller and listing monitoring into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Vinted endpoint catalog — 7 endpoints, 24 documented request parameters, and 7 published response schemas — the same catalog Docs and Playground run against.
7 documented Vinted endpoints, grouped into 7 request families — Brand, Brands and Catalog, plus 4 more.
24 request parameters are documented across those Vinted endpoints, 12 of them required — the full input contract is public before you write any integration code.
7 of the 7 Vinted endpoints ship a recorded example response, and 7 carry a documented response schema — you can code against the real JSON before the first request.
Vinted endpoints document their error responses (400, 404, 429, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
7 hosted MCP tools back the Vinted endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/vinted/brand
/vinted/brands
/vinted/catalog
/vinted/categories
/vinted/category
/vinted/item
Endpoint catalog
/vinted/catalogReturns Vinted resale listings matching a text search, with optional price filtering and sort order. `order` values: `relevance`, `newest_first`, `price_high_to_low`, `price_low_to_high`. Public data, sourced from Vinted's own server-rendered catalog page.
Response notes
- Each result's `id` is usable directly as the `id` query parameter to [`/vinted/item`](vinted-item.md). - `price_from` greater than `price_to` returns `400` before any upstream request is made. - A search with no matching listings returns `404` rather than an empty `200` list. - Seller/member information is intentionally excluded from this response — see [`/vinted/item`](vinted-item.md) for why. Example response: ```json { "code": 200, "msg": "OK", "data": { "search_text": "jacket", "page": 1, "source_url": "https://www.vinted.com/catalog?search_text=jacket", "items": [ { "id": "9595406652", "title": "Vintage leather Cabelas Women's jacket", "url": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket", "brand": "Cabela's", "size": "L / US 12-14", "condition": "Good", "price_raw": "$20.00", "total_price_raw": "$21.70", "favourite_count": 9, "image_url": "https://images1.vinted.net/t/01_00ebe_Runxp7FBSGM86vRdXFhYhM4A/310x430/3e52418b.webp" } ] } } ```
MCP tool vinted_catalog
/vinted/itemReturns a single Vinted listing's detail: title, description, brand, size, condition, material, color, price, category breadcrumb, and photos. Public data, sourced from Vinted's own server-rendered item page.
Response notes
- `id` must be numeric; otherwise `400` is returned before any upstream request is made. - A listing that no longer exists returns `404`. - Seller/member information is intentionally excluded from this response. Vinted's own `robots.txt` disallows `/member/` pages (with only a handful of named exceptions), and member profiles carry individual sellers' personal data, so this family is scoped to listing content only. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "9595406652", "title": "Vintage leather Cabelas Women's jacket", "description": "In good condition. Has scratches and scuffs.", "brand": "Cabela's", "size": "L / US 12-14", "condition": "Good", "material": "Leather", "color": "Brown", "price_raw": "$20.00", "categories": ["Women", "Clothing", "Coats & Jackets"], "photos": [ "https://images1.vinted.net/t/01_00ebe/f800/1786075414.webp" ], "url": "https://www.vinted.com/items/9595406652", "source_url": "https://www.vinted.com/items/9595406652" } } ```
MCP tool vinted_item
/vinted/memberReturns a Vinted seller's public storefront profile: username, self-disclosed coarse location, rating, and follower/following counts. Deliberately excludes online-presence and activity data (last-seen timestamps, upload-frequency badges) present on the live page. Public data, sourced from Vinted's own server-rendered member page.
Response notes
- `id` must be numeric; otherwise `400` is returned before any upstream request is made. - A member that doesn't exist returns `404`. - This endpoint deliberately excludes online-presence and activity data (last-seen timestamps, upload-frequency badges) present on the live page — only storefront-facing fields are returned. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "3159465141", "username": "alexist738", "location": "Scottsbluff, United States", "rating": 5, "followers_count": 5, "following_count": 0, "url": "https://www.vinted.com/member/3159465141", "source_url": "https://www.vinted.com/member/3159465141" } } ```
MCP tool vinted_member
/vinted/categoryReturns Vinted listings for a specific category, with optional price filtering and sort order. `order` values: `relevance`, `newest_first`, `price_high_to_low`, `price_low_to_high`. Public data, sourced from Vinted's own server-rendered category page.
Response notes
- Each result's `id` is usable directly as the `id` query parameter to [`/vinted/item`](vinted-item.md). - A category with no matching listings returns `404` rather than an empty `200` list. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "1904", "name": "Women", "page": 1, "url": "https://www.vinted.com/catalog/1904", "items": [ { "id": "9402122092", "title": "Denim jacket", "url": "https://www.vinted.com/items/9402122092-denim-jacket", "condition": "Very good", "price_raw": "$15.00", "total_price_raw": "$16.20" } ] } } ```
MCP tool vinted_category
/vinted/categoriesReturns Vinted's top-level catalog categories (e.g. Women, Men, Kids, Home, Electronics, Sports, Entertainment, Hobbies & collectibles). This is the root level only -- Vinted's full category tree goes several levels deeper on the live site, but deeper levels aren't server-rendered so aren't covered here. Each entry's `id` is usable directly as the `id` query parameter to /vinted/category. Public data, sourced from Vinted's own server-rendered catalog navigation.
Response notes
- This is the root level only. Vinted's full category tree goes several levels deeper on the live site (e.g. Women > Clothing > Coats & Jackets), but only the root level is server-rendered on the catalog navigation — deeper levels aren't covered here. - Each entry's `id` is usable directly as the `id` query parameter to [`/vinted/category`](vinted-category.md). Example response: ```json { "code": 200, "msg": "OK", "data": { "source_url": "https://www.vinted.com/catalog", "categories": [ { "id": "1904", "name": "Women", "url": "https://www.vinted.com/catalog/1904-women_root" }, { "id": "5", "name": "Men", "url": "https://www.vinted.com/catalog/5-mens" }, { "id": "1193", "name": "Kids", "url": "https://www.vinted.com/catalog/1193-children_new" }, { "id": "1918", "name": "Home", "url": "https://www.vinted.com/catalog/1918-home" }, { "id": "2994", "name": "Electronics", "url": "https://www.vinted.com/catalog/2994-electronics" }, { "id": "4332", "name": "Sports", "url": "https://www.vinted.com/catalog/4332-sports" }, { "id": "2309", "name": "Entertainment", "url": "https://www.vinted.com/catalog/2309-entertainment" }, { "id": "4824", "name": "Hobbies & collectibles", "url": "https://www.vinted.com/catalog/4824-hobbies_collectables" } ] } } ```
MCP tool vinted_categories
/vinted/brandReturns Vinted listings for a specific brand, with optional price filtering and sort order. `order` values: `relevance`, `newest_first`, `price_high_to_low`, `price_low_to_high`. Public data, sourced from Vinted's own server-rendered brand page.
Response notes
- Each result's `id` is usable directly as the `id` query parameter to [`/vinted/item`](vinted-item.md). - A brand with no matching listings returns `404` rather than an empty `200` list. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "386688", "name": "Cabela's", "page": 1, "url": "https://www.vinted.com/brand/386688", "items": [ { "id": "9595406652", "title": "Vintage leather Cabelas Women's jacket", "url": "https://www.vinted.com/items/9595406652-vintage-leather-cabelas-womens-jacket", "brand": "Cabela's", "size": "L / US 12-14", "condition": "Good", "price_raw": "$20.00", "total_price_raw": "$21.70" } ] } } ```
MCP tool vinted_brand
/vinted/brandsReturns Vinted's "Popular brands" directory. This is Vinted's own curated list, not an exhaustive list of every brand in its catalog. Each entry's `id` is usable directly as the `id` query parameter to /vinted/brand. Public data, sourced from Vinted's own server-rendered brands page.
Response notes
- This is Vinted's own curated "Popular brands" list, not an exhaustive list of every brand in its catalog. - Each entry's `id` is usable directly as the `id` query parameter to [`/vinted/brand`](vinted-brand.md). Example response: ```json { "code": 200, "msg": "OK", "data": { "source_url": "https://www.vinted.com/brands", "brands": [ { "id": "14", "name": "adidas", "url": "https://www.vinted.com/brand/14-adidas" }, { "id": "49", "name": "ASOS", "url": "https://www.vinted.com/brand/49-asos" }, { "id": "19553", "name": "Amazon", "url": "https://www.vinted.com/brand/19553-amazon" } ] } } ```
MCP tool vinted_brands
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
How to scrape Vinted
Crawlora's Vinted endpoints return catalog search, brand and category listings, the brand and category directories, and member storefronts from vinted.com as normalized JSON with one API key. Vinted's prices come in two forms. Every listing card shows price_raw, the seller's price, and total_price_raw, which adds Vinted's buyer fee. A $15.00 item shows as $16.45.
/vinted/catalog takes search_text plus optional price_from, price_to, order (relevance, newest_first, price_low_to_high, or price_high_to_low), and page. Each card has brand, size (W36 for jeans), condition, both prices, and a photo. A search with no matches returns 404 rather than an empty list, so treat 404 as 'no results'.
Conditions are Vinted's own labels: New with tags, New without tags, Very good, Good, and Satisfactory. Of 68 newest-first results for levis 501, 45 were Very good. Condition and total_price_raw together make the card enough for resale-price comparisons.
/vinted/brands returns Vinted's curated popular-brands list (239 brands, not every brand), and each id works with /vinted/brand. /vinted/categories returns only the eight root departments: Women, Men, Kids, Home, Books & Media, Electronics, Hobbies & collectibles, and Sports. Deeper levels aren't exposed.
Listing cards carry no seller fields, following Vinted's robots rules for member pages. /vinted/member returns a storefront profile by numeric id and deliberately omits last-seen and activity data.
FAQ
The price the buyer pays, including Vinted's buyer fee. price_raw is the seller's asking price. For example, $15.00 becomes $16.45, and a $1.00 item becomes $1.75.
Vinted's catalog, brand, and category endpoints return 404 when nothing matches, not an empty 200 list. Handle 404 as zero results.
It returns Vinted's curated popular list, which had 239 brands on 2026-09-18. For a brand outside that list, search with /vinted/catalog instead.