ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Vinted9 min de leituraNov 9, 2026

Como criar um bot da Vinted com uma API: alertas de novos anúncios da vinted.pt, passo a passo

Crie um bot de alertas da Vinted com a API do Scavio: pesquisa na vinted.pt com filtros, preço com a taxa Vinted, ficha do artigo e avaliações do vendedor.

Scavio Team

Nov 9, 2026

Experimente a API da Vinted grátis
scavio
Portugal / Price monitoring
Vinted

Para criar um bot da Vinted que o avisa de anúncios novos, use a API da Vinted do Scavio. POST /api/v1/vinted/search com "country": "pt", uma pesquisa e "sort": "newest_first" devolve os 96 anúncios mais recentes da vinted.pt, cada um com preço, taxa Vinted, total antes dos portes, tamanho, estado, fotos e id do vendedor. Converta antes marcas, categorias e estados em ids com /brands, /categories e /filters, abra um anúncio com /product (descrição, fotos, vendido ou reservado) e verifique o vendedor com /seller e /seller-feedback. Cada pedido custa 1 crédito.

A API oficial da Vinted, a Vinted Pro Integrations, está disponível apenas para empresas Vinted Pro autorizadas e gere os artigos e as encomendas delas, sem pesquisa no marketplace. Os passos abaixo leem o marketplace em JSON com uma chave do Scavio. Todas as respostas foram capturadas a 9 de novembro de 2026 na vinted.pt, e o exemplo é um alerta para casacos de malha de mulher em tamanho M. O bot avisa; não compra, não faz ofertas e não envia mensagens.

Passo 1: transforme nomes em ids

Os filtros da pesquisa recebem ids, não nomes. Comece pelo que os compradores escrevem:

Bash
curl -s https://api.scavio.dev/api/v1/vinted/suggestions \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "pt", "query": "casaco de m"}'

data capturado (6 das 10 sugestões cortadas):

JSON
{
  "country": "pt",
  "query": "casaco de m",
  "count": 10,
  "suggestions": [
    { "text": "casaco de malha", "type": "popular_search" },
    { "text": "casaco de malha mulher", "type": "popular_search" },
    { "text": "casaco de malha homem", "type": "popular_search" },
    { "text": "casaco de malha polar columbia", "type": "non_parent_cat+brand" }
  ]
}

A categoria vem de /categories. {"country": "pt", "parent_id": 1904} devolveu a árvore de Mulher, 273 categorias em português, e nela Mulher > Roupa > Camisolas e sweaters > Sweaters > Casacos de malha é o id 529. Para filtrar por marca, /brands dá o id:

Bash
curl -s https://api.scavio.dev/api/v1/vinted/brands \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "pt", "query": "salsa"}'

data capturado (8 das 10 marcas cortadas):

JSON
{
  "country": "pt",
  "query": "salsa",
  "count": 10,
  "brands": [
    { "id": 260, "title": "Salsa", "slug": "salsa", "url": "https://www.vinted.pt/brand/260-salsa", "item_count": 396654, "is_luxury": false, "requires_authenticity_check": false },
    { "id": 1411, "title": "Salsa Jeans", "slug": "salsa-jeans", "url": "https://www.vinted.pt/brand/1411-salsa-jeans", "item_count": 46971, "is_luxury": false, "requires_authenticity_check": false }
  ]
}

A correspondência é aproximada: a mesma resposta traz Resalsa, Salvatore Ferragamo e Salamander. Escolha o title exato. item_count é o número de anúncios da marca, o que faz de /brands uma forma rápida de dimensionar uma marca.

Passo 2: obtenha os ids de estado e tamanho, com contagens

Bash
curl -s https://api.scavio.dev/api/v1/vinted/filters \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "pt", "filter": "status", "query": "casaco de malha", "category_id": 529}'

data capturado em 2,1 segundos (descrições cortadas):

JSON
{
  "country": "pt",
  "filter": "status",
  "search_param": "status_ids",
  "query": "casaco de malha",
  "category_id": 529,
  "count": 5,
  "options": [
    { "id": 6, "title": "Novo com etiquetas", "item_count": 14344 },
    { "id": 1, "title": "Novo sem etiquetas", "item_count": 52551 },
    { "id": 2, "title": "Muito bom", "item_count": 193287 },
    { "id": 3, "title": "Bom", "item_count": 65285 },
    { "id": 4, "title": "Satisfatório", "item_count": 9651 }
  ]
}

search_param diz em que parâmetro da pesquisa entram os ids. As contagens são em tempo real e cobrem os anúncios de todos os países europeus da Vinted, não só os portugueses. O mesmo pedido com "filter": "size" devolveu 146 opções de tamanho; no grupo "Mulher > Artigos de mulher", M é o id 4, com 81.594 anúncios para esta pesquisa:

JSON
[
  { "id": 3, "title": "S / 36 / 8", "item_count": 99461, "group": "Mulher > Artigos de mulher" },
  { "id": 4, "title": "M / 38 / 10", "item_count": 81594, "group": "Mulher > Artigos de mulher" },
  { "id": 5, "title": "L / 40 / 12", "item_count": 30419, "group": "Mulher > Artigos de mulher" }
]

Envie também a query quando pedir tamanhos: sem ela, as contagens são as da categoria inteira, não as da sua pesquisa.

Passo 3: pesquise com os filtros, os mais recentes primeiro

Bash
curl -s https://api.scavio.dev/api/v1/vinted/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "pt", "query": "casaco de malha", "category_id": 529, "size_ids": [4], "status_ids": [2], "price_to": 10, "sort": "newest_first"}'

data capturado em 8,5 segundos (94 dos 96 anúncios cortados, e os ids dos vendedores particulares removidos):

JSON
{
  "country": "pt",
  "currency": "EUR",
  "query": "casaco de malha",
  "page": 1,
  "per_page": 96,
  "count": 96,
  "listed_results": 960,
  "total_is_capped": true,
  "total_pages": 10,
  "has_more": true,
  "filters": {
    "query": "casaco de malha",
    "category_ids": [529],
    "brand_ids": [],
    "status_ids": [2],
    "size_ids": [4],
    "color_ids": [],
    "material_ids": [],
    "price_from": null,
    "price_to": 10,
    "currency": "EUR",
    "sort": "newest_first"
  },
  "items": [
    {
      "id": 10732521356,
      "title": "Malha zara",
      "url": "https://www.vinted.pt/items/10732521356-malha-zara",
      "price": 7,
      "currency": "EUR",
      "price_with_discount": null,
      "service_fee": 1.05,
      "total_price": 8.05,
      "brand": "Zara Man",
      "size": "M",
      "condition": "Muito bom",
      "favourite_count": 0,
      "is_promoted": false,
      "image": "https://images1.vinted.net/t/05_003d4_YJnueQsYFpjHticmC2mktMEz/f800/337797f2.webp?s=011a886d0abad19f6eddc42127f388195f5fda1a",
      "thumbnail": "https://images1.vinted.net/t/05_003d4_YJnueQsYFpjHticmC2mktMEz/310x430/337797f2.webp?s=51c7d8f5b243c3cef75bfe857cc92c409006e945",
      "photos": ["https://images1.vinted.net/t/05_003d4_YJnueQsYFpjHticmC2mktMEz/f800/337797f2.webp?s=011a886d0abad19f6eddc42127f388195f5fda1a"],
      "seller": { "is_business": false }
    },
    {
      "id": 10732511414,
      "title": "Camisola de malha com pérolas",
      "url": "https://www.vinted.pt/items/10732511414-camisola-de-malha-com-perolas",
      "price": 5,
      "currency": "EUR",
      "price_with_discount": null,
      "service_fee": 0.95,
      "total_price": 5.95,
      "brand": "Zara",
      "size": "M",
      "condition": "Muito bom",
      "favourite_count": 1,
      "is_promoted": false,
      "image": "https://images1.vinted.net/t/05_02394_voVbyGzHbqdFuNdfVt1B778j/f800/7795a50f.webp?s=9904c0f760fa7a1f17c238a46f59b16b0e074ad8",
      "thumbnail": "https://images1.vinted.net/t/05_02394_voVbyGzHbqdFuNdfVt1B778j/310x430/7795a50f.webp?s=d052e6661cdfe8671ddfd10f93f327c1b4563a18",
      "photos": ["https://images1.vinted.net/t/05_02394_voVbyGzHbqdFuNdfVt1B778j/f800/7795a50f.webp?s=9904c0f760fa7a1f17c238a46f59b16b0e074ad8"],
      "seller": { "is_business": false }
    }
  ]
}

Leia uma linha assim: o vendedor pede 7,00 €, a taxa Vinted (service_fee) é 1,05 €, e o comprador paga 8,05 € antes dos portes. Em 480 anúncios de casacos de malha que pesquisámos nesse dia, a taxa foi sempre 0,70 € mais 5% do preço; os portes não são devolvidos. O bloco filters é o que a Vinted aplicou: estão lá todos os ids enviados, por isso as 96 linhas são mesmo tamanho M, muito bom e até 10 €. listed_results: 960 com total_is_capped: true quer dizer pelo menos 960, não exatamente 960. Para estudar preços, uma pesquisa por estado dá a distribuição; nesta pesquisa sem filtro de tamanho, o preço mediano foi de 11,45 € em novo com etiquetas a 3,00 € em satisfatório:

Casacos de malha de mulher na vinted.pt, 9 de novembro de 2026: preço mediano 11,45 euros novo com etiquetas, 6,00 novo sem etiquetas, 5,00 muito bom, 4,00 bom e 3,00 satisfatório, com 96 anúncios por estado em cinco pesquisas do Scavio

Passo 4: abra um anúncio e veja se ainda está à venda

Bash
curl -s https://api.scavio.dev/api/v1/vinted/product \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "pt", "item_id": 10732511414}'

data capturado em 2,0 segundos (2 das 3 fotos cortadas; o login, o id e o URL de perfil da vendedora removidos):

JSON
{
  "country": "pt",
  "id": 10732511414,
  "url": "https://www.vinted.pt/items/10732511414-camisola-de-malha-com-perolas",
  "title": "Camisola de malha com pérolas",
  "description": "Camisola de malha cinza com pérolas",
  "description_translated": false,
  "price": 5,
  "currency": "EUR",
  "brand": { "id": 12, "name": "Zara" },
  "size": null,
  "condition": "Muito bom",
  "color": "Cinzento",
  "material": null,
  "uploaded_relative": "há 8 minutos",
  "category": {
    "id": 529,
    "name": "Casacos de malha",
    "path": [
      { "id": 1904, "title": "Mulher", "url": "https://www.vinted.pt/catalog/1904-women" },
      { "id": 4, "title": "Roupa", "url": "https://www.vinted.pt/catalog/4-clothing" },
      { "id": 13, "title": "Camisolas e sweaters", "url": "https://www.vinted.pt/catalog/13-jumpers-and-sweaters" },
      { "id": 1917, "title": "Sweaters", "url": "https://www.vinted.pt/catalog/1917-jumpers" },
      { "id": 529, "title": "Casacos de malha", "url": "https://www.vinted.pt/catalog/529-knitted-jumpers" }
    ]
  },
  "photos": ["https://images1.vinted.net/t/05_02394_voVbyGzHbqdFuNdfVt1B778j/f800/7795a50f.webp?s=9904c0f760fa7a1f17c238a46f59b16b0e074ad8"],
  "favourite_count": 1,
  "is_reserved": false,
  "is_sold": false,
  "status_label": null,
  "can_buy": true,
  "instant_buy": true,
  "is_hidden": false,
  "seller": { "is_business": false, "feedback_count": 17, "feedback_reputation": 0.96, "badges": ["ACTIVE_LISTER"] }
}

O preço da ficha é o do vendedor, na moeda dele; aqui coincide com a pesquisa porque a vendedora vende em euros. Os sites europeus da Vinted partilham anúncios entre países, por isso o anúncio de um vendedor de outro país aparece convertido para a moeda do site e a ficha mostra-o na moeda do vendedor: no mesmo dia, na vinted.se, um fato de neve polaco a 165,08 coroas na pesquisa voltou da ficha a 65 PLN. Compare preços de pesquisa com preços de pesquisa. uploaded_relative é o texto da própria Vinted, não uma data, e a ficha não traz a taxa; tire service_fee da pesquisa.

Quando um artigo é vendido ou reservado, is_sold ou is_reserved passam a true e can_buy a false. É assim que o bot sabe que pode esquecê-lo: volte a pedir a ficha e retire-o da lista. A pesquisa nunca devolve anúncios vendidos, por isso isto funciona um artigo de cada vez, não como histórico de vendas.

Passo 5: verifique o vendedor

O seller.id de uma linha de pesquisa ou de uma ficha serve para três endpoints. O exemplo é a loja profissional style.lovely (50115221):

Bash
curl -s https://api.scavio.dev/api/v1/vinted/seller \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "pt", "user_id": 50115221}'

data capturado em 3,0 segundos:

JSON
{
  "country": "pt",
  "id": 50115221,
  "login": "style.lovely",
  "profile_url": "https://www.vinted.pt/member/50115221-stylelovely",
  "is_business": true,
  "feedback_count": 1991,
  "feedback_reputation": 0.96,
  "positive_feedback_count": 1911,
  "neutral_feedback_count": 28,
  "negative_feedback_count": 52,
  "item_count": 293,
  "country_code": "ES",
  "country_name": "Espanha",
  "city": null,
  "verification": { "email": true, "facebook": false, "google": true },
  "avg_response_time": null,
  "is_on_holiday": false,
  "last_seen_date": "2026-11-09"
}

É uma loja espanhola, e a vinted.pt mostra-a porque o conjunto de anúncios é europeu. Depois, as avaliações, até 50 por página:

Bash
curl -s https://api.scavio.dev/api/v1/vinted/seller-feedback \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "pt", "user_id": 50115221, "limit": 50}'

data capturado (49 de 50 linhas cortadas):

JSON
{
  "country": "pt",
  "user_id": 50115221,
  "page": 1,
  "per_page": 50,
  "total_results": 1991,
  "total_pages": 40,
  "count": 50,
  "has_more": true,
  "feedback": [
    { "id": 4699116537, "rating": 5, "text": "O vestido está ótimo, tal como descrito no anúncio.", "created_at": "2026-11-06T22:12:44.000Z", "is_automatic": false, "seller_reply": null }
  ]
}

25 das 50 linhas eram avaliações automáticas da Vinted ("Valoración automática: Venta completada con éxito"), por isso filtre por is_automatic antes de resumir o que dizem os compradores; das outras 25, de 28 de setembro a 7 de novembro, 22 tinham 5 estrelas, 2 tinham 4 e 1 tinha 2. As linhas não identificam quem avaliou nem o artigo, de propósito. /seller-products com o mesmo user_id e "limit": 96 devolveu 96 dos 293 artigos da loja, de 1 € a 32 €, cada um com taxa, total e os indicadores is_sold e is_reserved.

Passo 6: transforme a pesquisa num bot de alertas

Python
import time
import requests

KEY = "sk_live_your_key"  # do painel do Scavio
BODY = {"country": "pt", "query": "casaco de malha", "category_id": 529,
        "size_ids": [4], "status_ids": [2], "price_to": 10, "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)  # uma verificação a cada 5 minutos: 288 créditos por dia

A primeira execução enche vistos com os 96 anúncios atuais; a partir daí só aparecem os novos. Em vez de print, envie-os para o Discord, o Telegram ou o Slack. Instale a dependência com pip install requests==2.32.3.

Os 9 endpoints

EndpointO que devolveCréditos
/api/v1/vinted/search96 anúncios por página, páginas 1 a 10, com preço, taxa Vinted, total, tamanho, estado, fotos e id do vendedor, mais os filtros aplicados1
/api/v1/vinted/productUm anúncio por id ou URL: descrição, todas as fotos, caminho da categoria, estado de vendido e reservado, classificação do vendedor1
/api/v1/vinted/sellerO perfil público de um membro: classificação, avaliações positivas, neutras e negativas, artigos à venda, verificações1
/api/v1/vinted/seller-productsOs artigos de um membro, até 96 por página, com taxa, total e indicadores de vendido e reservado1
/api/v1/vinted/seller-feedbackAvaliações, até 50 por página, das mais recentes, com o indicador de automática e a resposta do vendedor1
/api/v1/vinted/brandsIds de marcas com número de anúncios e os indicadores de luxo e de verificação de autenticidade1
/api/v1/vinted/suggestionsAté 10 sugestões da caixa de pesquisa, na língua do site1
/api/v1/vinted/filtersIds de tamanho, estado, cor ou material com contagens em tempo real1
/api/v1/vinted/categoriesA árvore de categorias na língua do site, ou uma subárvore1

Os erros não são cobrados: um artigo, membro ou categoria desconhecido devolve 404, e uma falha temporária 502. Todos os endpoints recebem country: pt para Portugal, fr (o valor por omissão) e os outros sites europeus, uk, us ou au. Não há pesquisa de vendidos, preço de portes nem artigos semelhantes. Para comparar todas as opções, veja as melhores APIs da Vinted em 2026.

Primeiros passos

  1. Registe-se em dashboard.scavio.dev/sign-up: 50 créditos grátis, sem cartão, o suficiente para 50 pedidos à Vinted.
  2. Copie a sua chave de API no painel.
  3. Envie um POST para /api/v1/vinted/search com {"country": "pt", "query": "casaco de malha"} e a chave no cabeçalho Authorization.

Experimente a API da Vinted grátis no playground, use o SDK de Python ou chame-a a partir do Claude e de outros agentes pelo servidor MCP.

Referência: API da Vinted Portugal · pesquisa · ficha do artigo · vendedor · artigos do vendedor · avaliações · marcas · filtros · categorias · sugestões

Frequently asked questions

Como encontro o id de uma marca ou categoria da Vinted?

Chame /api/v1/vinted/brands com um nome: "salsa" devolveu a Salsa com o id 260 e 396.654 anúncios na vinted.pt a 9 de novembro de 2026. /api/v1/vinted/categories devolve a árvore com ids (Mulher > Casacos de malha é 529), e /api/v1/vinted/filters devolve os ids de estado, tamanho, cor e material com contagens em tempo real. Os ids são os mesmos nos 27 sites.

Quantos resultados devolve uma pesquisa da Vinted?

96 por página e 10 páginas, 960 no máximo. Quando total_is_capped é true há mais correspondências do que isso; estreite a pesquisa com categoria, marca, tamanho, estado ou preço e faça cada fatia em separado.

Como sei se um artigo da Vinted já foi vendido?

Um de cada vez. O /api/v1/vinted/product do Scavio devolve is_sold, is_reserved e can_buy para cada anúncio. A pesquisa só devolve anúncios ainda à venda, por isso não há uma lista de vendidos para percorrer.

O bot pode comprar ou fazer ofertas sozinho?

Não. A API devolve dados: anúncios, preços, fichas e avaliações. Não compra, não faz ofertas e não envia mensagens a vendedores. Um bot feito com ela avisa-o de anúncios novos que correspondem à sua pesquisa, e a decisão de comprar continua a ser sua, na Vinted.

Quanto custa um bot da Vinted com o Scavio?

Cada pedido custa 1 crédito, 1 dólar por 1.000 pedidos à tarifa do plano Growth de 1 dólar por 1.000 créditos. Uma pesquisa verificada a cada 5 minutos são 288 créditos por dia. Os erros, como um artigo que já não existe (404), não são cobrados, e as contas novas recebem 50 créditos grátis, sem cartão.

Dados da vinted.pt em JSON

  • Pesquisa por marca, tamanho, estado e preço
  • Estado de vendido e reservado em qualquer anúncio
  • Avaliações do vendedor, 1 crédito por pedido
Experimente a API da Vinted grátis

50 free credits, no credit card

On this page

  1. Passo 1: transforme nomes em ids
  2. Passo 2: obtenha os ids de estado e tamanho, com contagens
  3. Passo 3: pesquise com os filtros, os mais recentes primeiro
  4. Passo 4: abra um anúncio e veja se ainda está à venda

Related articles

View all
  • scavio
    Portugal / Comparison
    Vinted
    4 melhores APIs da Vinted em 2026: o Scavio devolve 96 anúncios da vinted.pt por pedido, já com a taxa Vinted
  • scavio
    Portugal / Price monitoring
    Decathlon
    Como obter preços da Decathlon Portugal com uma API, passo a passo
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy