Para obtener datos de Vinted España por API, usa la API de Vinted de Scavio. POST /api/v1/vinted/search con "country": "es" y una consulta devuelve 96 anuncios de vinted.es por llamada, cada uno con el precio, la tarifa de Vinted, el total que paga el comprador antes del envío, la talla, el estado, las fotos y el id del vendedor. Convierte antes marcas, categorías, tallas y estados en ids con /brands, /categories y /filters, abre un anuncio completo con /product y revisa al vendedor con /seller y /seller-feedback. Cada llamada cuesta 1 crédito.
API de Vinted Pro o datos del marketplace: qué necesitas
En España, casi todo lo que aparece al buscar "vinted api" habla de Vinted Pro. Son dos cosas distintas:
- La API oficial, Vinted Pro Integrations, está "available only to a limited set of allowlisted Vinted Pro businesses". Sirve para que un negocio admitido gestione sus propios artículos y pedidos: publicar, actualizar, etiquetas de envío. No busca en el marketplace.
- Los datos del marketplace (qué se vende, a qué precio, en qué estado, quién lo vende) no los da ninguna API oficial. Es lo que devuelve la API de Vinted de Scavio, con una key y sin cuenta de Vinted ni de Vinted Pro.
Si quieres publicar tus artículos, necesitas Vinted Pro. Si quieres buscar, comparar precios o montar alertas, sigue leyendo. Todas las respuestas de abajo se capturaron el 9 de noviembre de 2026 en vinted.es, y el ejemplo es un vestido de Zara de talla M.
Paso 1: convierte nombres en ids
Los filtros de búsqueda usan ids, no nombres. Empieza por lo que escribe la gente en el buscador:
curl -s https://api.scavio.dev/api/v1/vinted/suggestions \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es", "query": "vestido za"}'data capturado (6 de 10 sugerencias recortadas):
{
"country": "es",
"query": "vestido za",
"count": 10,
"suggestions": [
{"text": "vestido zara", "type": "popular_search"},
{"text": "vestido zara mujer", "type": "popular_search"},
{"text": "vestido zara mujer invierno", "type": "popular_search"},
{"text": "vestido zara niña", "type": "popular_search"}
]
}Luego el id de la marca:
curl -s https://api.scavio.dev/api/v1/vinted/brands \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es", "query": "zara"}'data capturado (8 de 10 marcas recortadas):
{
"country": "es",
"query": "zara",
"count": 10,
"brands": [
{"id": 12, "title": "Zara", "slug": "zara", "url": "https://www.vinted.es/brand/12-zara", "item_count": 126656153, "is_luxury": false, "requires_authenticity_check": false},
{"id": 5685789, "title": "Zara Kids", "slug": "zara-kids", "url": "https://www.vinted.es/brand/5685789-zara-kids", "item_count": 1241088, "is_luxury": false, "requires_authenticity_check": false}
]
}La coincidencia es aproximada: la misma respuesta trae Zara Trafaluc, Zara Basic y Zara Man. Elige el title exacto. item_count es el número de anuncios de la marca, 126.656.153 para Zara, así que /brands sirve también para medir una marca. La categoría sale de /categories: {"country": "es", "parent_id": 1904} devolvió el árbol de Mujer, 273 categorías en español, con Vestidos como 10 y sus 12 subcategorías, de Mini a Otros vestidos.
Paso 2: ids de talla y estado, con recuentos
curl -s https://api.scavio.dev/api/v1/vinted/filters \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es", "filter": "status", "query": "vestido zara", "category_id": 10}'data capturado (descripciones recortadas), en 3,4 segundos:
{
"country": "es",
"filter": "status",
"search_param": "status_ids",
"query": "vestido zara",
"category_id": 10,
"count": 5,
"options": [
{"id": 6, "title": "Nuevo con etiquetas", "item_count": 7668},
{"id": 1, "title": "Nuevo sin etiquetas", "item_count": 14895},
{"id": 2, "title": "Muy bueno", "item_count": 35255},
{"id": 3, "title": "Bueno", "item_count": 4523},
{"id": 4, "title": "Satisfactorio", "item_count": 330}
]
}search_param dice en qué parámetro de búsqueda van los ids. Los recuentos son en vivo: 62.671 anuncios coinciden con "vestido zara" en Vestidos, y 35.255 están en muy buen estado. El mismo endpoint acepta "filter": "size", "color" o "material". Con "size" devolvió 112 opciones; en el grupo "Mujer > Ropa", "M / 38 / 10" es el id 4, con 15.315 anuncios, y "S / 36 / 8" el 3, con 21.091. Los títulos llegan en español porque el sitio es vinted.es; los ids son los mismos en todos los sitios.
Paso 3: busca con los filtros
curl -s https://api.scavio.dev/api/v1/vinted/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es", "query": "vestido zara", "brand_ids": [12], "category_id": 10, "size_ids": [4], "status_ids": [2], "price_to": 15, "sort": "newest_first"}'data capturado en 3,9 segundos (94 de 96 anuncios recortados y sin los ids de vendedores particulares):
{
"country": "es",
"currency": "EUR",
"query": "vestido zara",
"page": 1,
"per_page": 96,
"count": 96,
"listed_results": 960,
"total_is_capped": true,
"total_pages": 10,
"has_more": true,
"filters": {
"query": "vestido zara",
"category_ids": [10],
"brand_ids": [12],
"status_ids": [2],
"size_ids": [4],
"color_ids": [],
"material_ids": [],
"price_from": null,
"price_to": 15,
"currency": "EUR",
"sort": "newest_first"
},
"items": [
{
"id": 10732608207,
"title": "Robe grise col roulé",
"url": "https://www.vinted.es/items/10732608207-robe-grise-col-roule",
"price": 4.2,
"currency": "EUR",
"price_with_discount": null,
"service_fee": 0.91,
"total_price": 5.11,
"brand": "Zara",
"size": "M",
"condition": "Muy bueno",
"favourite_count": 0,
"is_promoted": false,
"image": "https://images1.vinted.net/t/05_020c0_vRmg4no7H6ZcJXVT89St3SF6/f800/5f7f086f.webp?s=c6866b237bdc5b6b43ec1c7868d98374dfd83dda",
"thumbnail": "https://images1.vinted.net/t/05_020c0_vRmg4no7H6ZcJXVT89St3SF6/310x430/5f7f086f.webp?s=376be0f70d001d80f119ee2a3af07c3047c0dfcf",
"photos": ["https://images1.vinted.net/t/05_020c0_vRmg4no7H6ZcJXVT89St3SF6/f800/5f7f086f.webp?s=c6866b237bdc5b6b43ec1c7868d98374dfd83dda"],
"seller": { "is_business": false }
},
{
"id": 10732601413,
"title": "Vestido blanco",
"url": "https://www.vinted.es/items/10732601413-vestido-blanco",
"price": 7,
"currency": "EUR",
"price_with_discount": null,
"service_fee": 1.05,
"total_price": 8.05,
"brand": "Zara",
"size": "M",
"condition": "Muy bueno",
"favourite_count": 0,
"is_promoted": false,
"image": "https://images1.vinted.net/t/01_01887_oVz56LgDTiF6PPfLVwXwgPNC/f800/bb16c001.webp?s=5dadc1a89d846bd6e9c5a5ef9ea58514a2376361",
"thumbnail": "https://images1.vinted.net/t/01_01887_oVz56LgDTiF6PPfLVwXwgPNC/310x430/bb16c001.webp?s=5d873f9a06fbd6ae2e75af36c7e78ed3a4e68144",
"photos": ["https://images1.vinted.net/t/01_01887_oVz56LgDTiF6PPfLVwXwgPNC/f800/bb16c001.webp?s=5dadc1a89d846bd6e9c5a5ef9ea58514a2376361"],
"seller": { "is_business": false }
}
]
}Una fila se lee así: el vendedor pide 7,00 €, la tarifa de Vinted (service_fee) es 1,05 € y el comprador paga 8,05 € antes del envío. En los 480 anuncios de vestidos de Zara que consultamos ese día, la tarifa fue siempre 0,70 € más el 5% del precio; el envío no se devuelve. El bloque filters es lo que Vinted aplicó: están todos los ids enviados, así que los 96 anuncios son de verdad talla M, muy bueno y como mucho 15 €. listed_results: 960 con total_is_capped: true significa al menos 960, no exactamente 960: Vinted sirve 10 páginas de 96 y no más.
El primer anuncio se titula en francés. No es un error: los sitios de Vinted de la UE comparten un mismo fondo de anuncios, y de los 12 más recientes de esta búsqueda, 5 tenían el título en francés, neerlandés o italiano ("Jurk Zara", "Vestito midi floreale"). Todos llegan en euros y con las etiquetas de vinted.es. Si solo quieres anuncios escritos en español, filtra por el título en tu código. Para estudiar precios, una búsqueda por estado te da la horquilla; en vestidos de Zara la mediana fue de 15,00 € con etiquetas a 4,00 € en estado satisfactorio:
Paso 4: abre un anuncio
curl -s https://api.scavio.dev/api/v1/vinted/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es", "item_id": 10732589555}'data capturado (la descripción y 5 de 6 fotos recortadas; sin el usuario, el id y el perfil del vendedor particular):
{
"country": "es",
"id": 10732589555,
"url": "https://www.vinted.es/items/10732589555-vestido-cuadros-vichy-negro-zara",
"title": "Vestido cuadros Vichy negro Zara",
"description_translated": false,
"price": 12,
"currency": "EUR",
"brand": { "id": 12, "name": "Zara" },
"size": null,
"condition": "Muy bueno",
"color": "Negro, Blanco",
"material": null,
"uploaded_relative": "hace 11 minutos",
"category": {
"id": 1065,
"name": "Vestidos de verano",
"path": [
{ "id": 1904, "title": "Mujer", "url": "https://www.vinted.es/catalog/1904-women" },
{ "id": 4, "title": "Ropa", "url": "https://www.vinted.es/catalog/4-clothing" },
{ "id": 10, "title": "Vestidos", "url": "https://www.vinted.es/catalog/10-dresses" },
{ "id": 1065, "title": "Vestidos de verano", "url": "https://www.vinted.es/catalog/1065-summer-dresses" }
]
},
"photos": ["https://images1.vinted.net/t/02_01489_iKGaryP5BRZ2s1HDeUimUU8g/f800/766790a7.webp?s=6e3e997dc8aeabea2b28127e8a0c19890c86e3d6"],
"favourite_count": 0,
"is_reserved": false,
"is_sold": false,
"status_label": null,
"can_buy": true,
"instant_buy": true,
"is_hidden": false,
"seller": { "is_business": false, "feedback_count": 9, "feedback_reputation": 1, "badges": ["ACTIVE_LISTER"] }
}Este anuncio salió en la búsqueda del paso 3 a 12 € con talla M, y la ficha devolvió el mismo precio. La ficha da el precio en la moneda del vendedor, que no tiene por qué ser la del sitio, mientras que la búsqueda lo da siempre en la moneda del sitio: compara precios de búsqueda con precios de búsqueda. La ficha no trae la tarifa; tómala de service_fee en la búsqueda. uploaded_relative es el texto de Vinted ("hace 11 minutos"), no una fecha exacta. Y la razón de llamar a /product en un bot: cuando un anuncio se reserva o se vende, is_reserved o is_sold pasan a true y can_buy a false, y es el momento de quitarlo de tu lista. La búsqueda nunca devuelve vendidos, así que es anuncio a anuncio, no un historial de ventas.
Paso 5: revisa al vendedor
El seller.id de una fila de búsqueda o de una ficha alimenta tres endpoints. El ejemplo es una tienda profesional, un-jeu-d-enfant (59847932), que tenía un vestido de Zara entre los resultados de vinted.es:
curl -s https://api.scavio.dev/api/v1/vinted/seller \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es", "user_id": 59847932}'data capturado en 2,6 segundos (la ciudad recortada):
{
"country": "es",
"id": 59847932,
"login": "un-jeu-d-enfant",
"profile_url": "https://www.vinted.es/member/59847932-un-jeu-d-enfant",
"is_business": true,
"feedback_count": 5918,
"feedback_reputation": 0.9800000000000001,
"positive_feedback_count": 5830,
"neutral_feedback_count": 37,
"negative_feedback_count": 51,
"item_count": 1627,
"country_code": "FR",
"country_name": "Francia",
"verification": { "email": true, "facebook": true, "google": true },
"avg_response_time": null,
"is_on_holiday": false,
"last_seen_date": "2026-11-09"
}country_name llega en español, "Francia", porque se consultó en vinted.es: la tienda es francesa y vende en el fondo común. feedback_reputation es una nota de 0 a 1; con 51 opiniones negativas de 5.918, mira los recuentos y no solo la nota. Después, las opiniones, hasta 50 por página:
curl -s https://api.scavio.dev/api/v1/vinted/seller-feedback \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es", "user_id": 59847932, "limit": 50}'data capturado (48 de 50 filas recortadas):
{
"country": "es",
"user_id": 59847932,
"page": 1,
"per_page": 50,
"total_results": 5918,
"total_pages": 119,
"count": 50,
"has_more": true,
"feedback": [
{"id": 4711691044, "rating": 5, "text": "Évaluation automatique : vente réalisée avec succès", "created_at": "2026-11-09T10:27:38.000Z", "is_automatic": true, "seller_reply": null},
{"id": 4703999026, "rating": 5, "text": "top", "created_at": "2026-11-07T18:32:12.000Z", "is_automatic": false, "seller_reply": null}
]
}32 de las 50 filas eran opiniones automáticas de Vinted, así que filtra por is_automatic antes de resumir lo que dicen los compradores; las otras 18, del 2 al 9 de noviembre, eran todas de 5 estrellas. Las filas no traen quién opina ni qué compró, a propósito. /seller-products con el mismo user_id y "limit": 20 devolvió la primera de 82 páginas de su armario (1.627 artículos), con precios de 5,90 € a 59,90 €, cada uno con tarifa, total y los indicadores is_sold e is_reserved.
Paso 6: convierte la búsqueda en una alerta de anuncios nuevos
import time
import requests
KEY = "sk_live_your_key" # desde el panel de Scavio
BODY = {"country": "es", "query": "vestido zara", "brand_ids": [12], "category_id": 10,
"size_ids": [4], "status_ids": [2], "price_to": 15, "sort": "newest_first"}
vistos = set()
while True:
r = requests.post("https://api.scavio.dev/api/v1/vinted/search", json=BODY,
headers={"Authorization": f"Bearer {KEY}"}, timeout=60)
for item in r.json()["data"]["items"]:
if item["id"] not in vistos:
vistos.add(item["id"])
print(item["total_price"], item["currency"], item["title"], item["url"])
time.sleep(300) # una comprobación cada 5 minutos: 288 créditos al díaLa primera vuelta llena vistos con los 96 actuales; desde ahí solo se imprimen los anuncios nuevos. Envíalos a Telegram, Discord o Slack en lugar de imprimirlos. La API solo devuelve datos: no compra, no hace ofertas y no escribe a los vendedores.
Los 9 endpoints
| Endpoint | Qué devuelve | Créditos |
|---|---|---|
/api/v1/vinted/search | 96 anuncios por página, páginas 1-10, con precio, tarifa de Vinted, total, talla, estado, fotos e id del vendedor, más los filtros aplicados | 1 |
/api/v1/vinted/product | Un anuncio por id o URL: descripción, todas las fotos, ruta de categorías, si está reservado o vendido, valoración del vendedor | 1 |
/api/v1/vinted/seller | El perfil público de un miembro: valoración, opiniones positivas, neutras y negativas, artículos publicados, verificaciones | 1 |
/api/v1/vinted/seller-products | Los artículos de un miembro, hasta 96 por página, con tarifa, total e indicadores de vendido y reservado | 1 |
/api/v1/vinted/seller-feedback | Opiniones, hasta 50 por página, primero las más recientes, con la marca de automática y la respuesta del vendedor | 1 |
/api/v1/vinted/brands | Ids de marca con su número de anuncios y las marcas de lujo y verificación de autenticidad | 1 |
/api/v1/vinted/suggestions | Hasta 10 sugerencias del buscador en el idioma del sitio | 1 |
/api/v1/vinted/filters | Ids de talla, estado, color o material con recuentos en vivo | 1 |
/api/v1/vinted/categories | El árbol de categorías en el idioma del sitio, o una sola rama | 1 |
Los errores no se cobran: un artículo, miembro o categoría que no existe es un 404, y un fallo temporal un 502. Todos los endpoints aceptan country: es para vinted.es, fr (el valor por defecto) y los demás sitios de la UE, uk, us o au. No hay búsqueda de vendidos, ni precio de envío, ni artículos similares. Para comparar todas las opciones, mira las mejores APIs de Vinted.
Primeros pasos
- Regístrate en dashboard.scavio.dev/sign-up: 50 créditos gratis, sin tarjeta, suficientes para 50 llamadas a Vinted.
- Copia tu API key del panel.
- Envía un POST a
/api/v1/vinted/searchcon{"country": "es", "query": "vestido zara"}y tu key en la cabeceraAuthorization.
Prueba gratis la API de Vinted en el playground, usa el SDK de Python o llámala desde Claude y otros agentes con el servidor MCP.
Referencias: API de Vinted España · búsqueda · ficha del artículo · vendedor · artículos del vendedor · opiniones del vendedor · marcas · filtros · categorías · sugerencias
Frequently asked questions
¿Necesito ser Vinted Pro para usar una API de Vinted?
Para la API oficial, sí: Vinted Pro Integrations solo admite a algunos negocios de Vinted Pro y sirve para gestionar sus propios artículos y pedidos. Para leer el marketplace (anuncios, precios, vendedores y opiniones públicas) no hace falta: la API de Vinted de Scavio funciona con una key que recibes al registrarte, sin cuenta de Vinted.
¿Cómo encuentro el id de una marca o de una talla en Vinted?
Llama a /api/v1/vinted/brands con el nombre: "zara" devolvió Zara con el id 12 y 126.656.153 anuncios el 9 de noviembre de 2026. /api/v1/vinted/filters devuelve los ids de talla, estado, color y material con su recuento (la talla "M / 38 / 10" de Mujer es el id 4) y /api/v1/vinted/categories el árbol de categorías (Vestidos es el 10). Los ids son los mismos en los 27 sitios.
¿Cuánto cobra Vinted al comprador encima del precio?
En las búsquedas de vinted.es del 9 de noviembre de 2026, la tarifa de Vinted (service_fee) fue siempre 0,70 € más el 5% del precio en los 480 anuncios del estudio: un vestido de 20 € pagaba 1,70 € de tarifa y 21,70 € en total. El envío va aparte y la API no lo devuelve.
¿Cuántos resultados devuelve una búsqueda en Vinted?
96 por página y como máximo 10 páginas, 960 en total. Si total_is_capped es true hay más coincidencias; estrecha la búsqueda con categoría, marca, talla, estado o un rango de precio.
¿Cuánto cuesta obtener datos de Vinted con Scavio?
Cada endpoint de Vinted cuesta 1 crédito por llamada, 1 dólar por cada 1.000 llamadas con la tarifa Growth. Una búsqueda trae 96 anuncios por ese crédito. Los errores, como un artículo inexistente (404), no se cobran, y las cuentas nuevas reciben 50 créditos gratis sin tarjeta.