Vinted listing details
GET /v1/vinted/item returns one Vinted listing with description, condition, brand, size, colour, category, photos and the seller's rating.
https://api.soldgraph.com/v1/vinted/itemLook up one listing by the id from Vinted active listings, or by its item URL on any Vinted site, such as vinted.com/items/... or vinted.fr/items/.... The result adds what search results don't show: description, colour, category, all photos, the brand and category IDs, and the seller's public rating.
| Parameter | Type | Default | Description |
|---|---|---|---|
q | string | Required | Vinted item ID from search results, or an item URL such as vinted.com/items/... or vinted.fr/items/.... |
country | us, uk, fr, de, it, es, nl, be, pt, at, lu, ie, pl, se, cz, dk, fi, lt, hu, ro, sk, hr, gr, si, lv or ee | us | Which Vinted site to read the listing on: us, uk or a European site such as fr or de. Use the country you searched. Optional. |
marketplace | vinted | vinted | Optional; must match the path. |
curl -G https://api.soldgraph.com/v1/vinted/item \ -H "Authorization: Bearer $SOLDGRAPH_KEY" \ -d q=10260644800A cache miss returns 202 with a job to poll. A successful lookup costs one request. A listing that doesn't exist or was deleted fails with not_found and costs nothing. Results are cached for 15 minutes.
#What the fields mean
statusisactive,reservedorunavailable.unavailablecovers sold, hidden and removed items. It is not a verified sale record, and its price is the last ask, not a sale price.displayed_priceis the seller's ask in the currency the seller listed in. That can differ from the site's currency: an item listed in Australian dollars readsAUDhere and is shown converted on search pages. It is before the buyer protection fee and shipping.countrypicks the Vinted site that serves the page:us,ukor any of the European sites. Use the country you searched. Send it with a URL too: the site in the URL is not read.conditionuses the same five codes on every site.color,uploaded_textand the category names come in the site's language.brand_idandcategory.idare Vinted's own numbers. Send them asbrand_idandcategory_idon Vinted active listings to search that brand or category.uploaded_textis Vinted's own wording, such as2 days ago. Vinted shows no exact date.sellerholds what the listing page shows publicly: username, whether it is a business, the number of reviews and the rating out of 5. We don't read seller profile pages.- Photo links are signed by Vinted and expire.
#Example response
This listing was collected on October 5, 2026 (UTC).
{ "request_id": "example-vinted-item", "status": "complete", "credits": 1, "cached": false, "result": { "provider": "vinted", "country": "us", "query": "10260644800", "collected_at": "2026-10-05T19:48:25.210904+00:00", "schema_version": 1, "count": 1, "data": { "id": "10260644800", "title": "Levi's 501 skinny", "description": "Womens button fly levis size 26W/28L", "link": "https://www.vinted.com/items/10260644800-levis-501-skinny", "status": "active", "displayed_price": { "amount": 14, "currency": "USD" }, "condition": "very_good", "brand": "Levi's", "brand_id": 10, "size": "XS / US 2", "color": "Light blue", "uploaded_text": "2 min ago", "like_count": 0, "category": { "id": 1845, "path": [ "Women", "Clothing", "Jeans", "Straight jeans", "Levi's Straight jeans" ] }, "photos": [ "https://images1.vinted.net/t/02_003a5_m8wHry85poJA28UAyJCr1WA2/f800/13e5d734.webp?s=e6df922e1a9798f57bdee467f53a8f345ef4523f", "https://images1.vinted.net/t/04_0125a_Gz6vCm994Vsk6infWQyGDoTt/f800/bc57bd02.webp?s=e2b1cd6d341d6bf27215573b65781f303a2fd289", "https://images1.vinted.net/t/02_01d72_btRRxD2Af7492qLPXnA83f8Y/f800/f0fb80bb.webp?s=e08bb3ebe71908b91f97c52b5f300eca81ddfee0", "https://images1.vinted.net/t/06_004b2_TVTKjXJCRtvtqArmU4p4G76m/f800/fb96bfeb.webp?s=022c35d7a22709b3b5012d42bebca87828c2fb70" ], "seller": { "name": "Example Seller", "business": false, "review_count": 3, "rating": 5 } }, "field_notes": "One Vinted listing as shown publicly to logged-out visitors. displayed_price is the seller's ask in the currency the seller listed in, before the buyer protection fee and shipping. status is active, reserved or unavailable; unavailable covers sold, hidden and removed items and is not a verified sale record. uploaded_text is Vinted's own relative wording. seller.rating is out of 5. Image links are signed by Vinted and expire." }}| Field | Type | Description |
|---|---|---|
request_id | string | ID of this request. Poll it at /v1/jobs/{request_id}. |
status | string | pending, complete or failed. Always check it, even on HTTP 200. |
credits | integer | Requests charged: 1 when complete, 0 while pending or when failed. |
cached | boolean | True when the result came from the 15-minute cache. |
poll_url | string | Only while pending. A path like /v1/jobs/{id}: join it to https://api.soldgraph.com, not to the /v1 base URL. |
error.code | string | Only when failed. See failed job codes. |
result | object | Only when complete. One source page from the marketplace. |
result.provider | string | Marketplace ID, like ebay or poshmark. |
result.country | string | The country searched: us, or on eBay the country you sent. |
result.query | string | The q you sent, with extra spaces removed. |
result.page | integer | The page you asked for. |
result.count | integer | Rows in result.data on this page. |
result.reported_total | integer | Total matches the marketplace reports for the search. It may be rounded or capped. |
result.next_page | integer | null | Send this as page to get the next page. Null on the last page, and on page 100, the deepest page served. |
result.collected_at | string | When we collected the page, as an ISO 8601 timestamp. |
result.schema_version | integer | Version of the result's shape for that marketplace: 1 or 2. It only rises when a field changes meaning. |
result.completeness | string | provider_page_only: one page as the marketplace served it, not a full history. TCGplayer recent sales say recent_sample_only. |
result.field_notes | string | Plain-text notes on how to read this page's fields. |
result.data.id | string | Vinted item ID. |
result.data.title | string | The listing's title. |
result.data.description | string | null | Seller description, up to 10,000 characters. |
result.data.link | string | The listing's page on Vinted. |
result.data.status | string | active, reserved or unavailable. unavailable covers sold, hidden and removed items: it is not a verified sale. A deleted listing fails with not_found and costs nothing. |
result.data.displayed_price | object | null | Asking price as { amount, currency }, in the currency the seller listed in. That can differ from the site's currency. Before the buyer protection fee and shipping. Null if the page shows no price. |
result.data.condition | string | null | new_with_tags, new_without_tags, very_good, good or satisfactory, as the seller chose. |
result.data.brand | string | null | Brand name. |
result.data.brand_id | integer | null | Vinted brand ID. Use it as brand_id on /v1/vinted/listings. |
result.data.size | string | null | Size as shown. Null for items without sizes. |
result.data.color | string | null | Colours as shown, like Grey, Black. |
result.data.uploaded_text | string | null | When it was listed, in Vinted's own words, like 2 days ago. Vinted shows no exact date. |
result.data.like_count | integer | null | How many members have favourited the listing. |
result.data.category | object | Category id (use it as category_id on /v1/vinted/listings) and path, the category names from the top down. |
result.data.photos | string[] | Photo URLs on Vinted's CDN, in listing order. Signed links that expire. |
result.data.seller | object | Public seller details: name (username), business, review_count and rating out of 5 (null with no reviews). |
Overviews: eBay sold listings API · findCompletedItems alternative · Poshmark sold listings API · Mercari sold listings API