Aller au contenu principal
Piloterr
Retour à la bibliothèque

API Vinted Item

Fetch a Vinted listing by item URL or numeric ID. Parses the public item page (Next.js payload), returns a normalized snake_case object with photos, attributes, shipping, pricing, and optional seller profile.

Actif1 crédit = 1 requêteGET/v2/vinted/item

Vue d'ensemble de l'endpoint

Documentation détaillée, tarifs et exemples d'utilisation.

OverviewLink to Overview

Fetch a single Vinted listing by item URL or numeric ID.

  • Search and Vinted User Info call the internal Vinted API v2 (/api/v2/...) with an auto-managed session.
  • Item loads the public HTML page (/items/{id}). The legacy JSON endpoint /api/v2/items/{id} returns 404.

Piloterr parses the embedded Next.js payload, normalizes all keys to snake_case, and optionally enriches the response with the seller profile via /api/v2/users/{seller_id}.

Costs 1 credit per call.

WorkflowLink to Workflow

  1. Vinted Search to find listings
  2. Item (this endpoint) for the full normalized page payload + seller snapshot
  3. Vinted User Info when you only have a member ID/URL

QuickstartLink to Quickstart

GET https://api.piloterr.com/v2/vinted/item?query=https://www.vinted.com/items/9437210920-purple-prom-dress
GET https://api.piloterr.com/v2/vinted/item?query=9437210920&region=com

ParametersLink to Parameters

Parameter Type Required Description
query string yes Item URL or numeric item ID
region string no Force domain when query is a bare ID (com, https://www.vinted.de, …)

ResponseLink to Response

Dynamic extraction from the Next.js payload: all item-linked Vinted plugins are collected, keys normalized to snake_case, and new sidebar attributes are supported automatically.

{
  "id": 9437210920,
  "title": "Purple prom dress",
  "description": "Long purple prom dress, one strap",
  "url": "https://www.vinted.com/items/9437210920-purple-prom-dress",
  "price": { "amount": "9.0", "currency_code": "USD" },
  "photos": [{ "id": 39947998424, "url": "...", "is_main": true, "full_size_url": "..." }],
  "seller_id": 3163220665,
  "size_title": "S / US 4-6",
  "status": "New without tags",
  "color": "Purple",
  "uploaded_at": "an hour ago",
  "attributes": {
    "size": { "value": "S / US 4-6", "id": 506 },
    "status": { "value": "New without tags", "id": 50 },
    "color": "Purple"
  },
  "favourite_count": 0,
  "catalog_id": 1777,
  "shipping_details": { "is_free_shipping": true, "price": { "amount": "0", "currency_code": "USD" } },
  "pricing_services": {
    "total_amount": { "amount": "10.15", "currency_code": "USD" },
    "services": { "buyer_protection": { "final_price": { "amount": "1.15", "currency_code": "USD" } } }
  },
  "plugins": {
    "breadcrumbs": { "catalog_id": 1777, "breadcrumbs": [{ "title": "Women", "url": "/catalog/1904-women" }] },
    "favourite": { "favourite_count": 0, "is_favourite": false }
  },
  "user": { "id": 3163220665, "login": "gingertastic88", "profile_url": "...", "item_count": 10 }
}

NormalizationLink to Normalization

  • All keys are snake_case (isFreeShippingis_free_shipping, currencyCodecurrency_code).
  • Core RSC item object + every plugin linked to the item ("name", "type", …).
  • Sidebar attributes → attributes.{code}; scalar values also promoted to top-level (sizesize_title, upload_dateuploaded_at; other codes like material keep their name).
  • Each plugin is also stored under plugins.{name}; useful scalars are hoisted to top-level (favourite_count, description, …). Generic keys name, type, section are not hoisted.
  • shipping_details and pricing_services are read next to the core item object.
  • JSON-LD (schema.org/Product) fills missing fields only (title, price, url, photos, …).
  • user is fetched from /api/v2/users/{seller_id} when available; if the user API fails, the item is still returned without user.
Field Description
id / url / title Item identity
description Seller-written description
price.amount / price.currency_code Listing price
photos[] Image gallery
attributes Raw sidebar attributes by code
size_title / status / color / uploaded_at Promoted attribute aliases
shipping_details Shipping options
pricing_services Buyer protection + shipping breakdown
plugins Raw plugin payloads (breadcrumbs, favourite, …)
catalog_id / seller_id Internal Vinted IDs
favourite_count Number of favourites
user Seller profile when the user API succeeds

Search vs ItemLink to Search vs Item

Search (API v2 catalog) Item (HTML page)
photo (main image) photos[] gallery
service_fee / total_item_price pricing_services
user (light snapshot) user (full profile, optional)
Fixed catalog card shape attributes, plugins, dynamic sidebar fields

Error codesLink to Error codes

Code Cause
400 Item ID could not be parsed from query
404 Item not found on any tested Vinted domain
403 Page blocked (anti-bot)

Good to knowLink to Good to know

  • Full item URL is the fastest input: domain is taken from the URL.
  • Bare numeric ID: tries vinted.fr, vinted.com, vinted.de, vinted.es, vinted.it, vinted.pl, vinted.nl, vinted.be, and vinted.co.uk.
  • Pass region with a bare ID to skip the multi-domain lookup.
  • user may be absent if the seller API errors; the item payload is still returned.
  • Public listing data only.

Main use casesLink to Main use cases

  • Enrich Search results with description, attributes, shipping, and pricing breakdown
  • Fetch seller profile alongside item details in one call
  • Resale analytics on individual listings

API associées

Étendez vos capacités data avec ces outils complémentaires.

Prêt à commencer ?

Votre API de scraping web est à un clic. Commencez avec +500 crédits, sans infrastructure à gérer, sans proxies à configurer, et sans carte bancaire.

  • +500 crédits
  • Aucune carte bancaire requise
  • Tous les endpoints inclus