Bot do Afiliado
Blog

API de afiliados do Mercado Livre: como gerar link e pegar dados do produto

O Mercado Livre não tem uma API oficial de afiliados para gerar link nem consultar produto. Veja como fazer isso com a API do Bot do Afiliado (X-API-Key, /convert-links e /product), com exemplos reais.

18 de junho de 2026
API de afiliados do Mercado Livre: gerar link de afiliado e obter dados de produto com a API do Bot do Afiliado

Procurando a API de afiliados do Mercado Livre para gerar link de afiliado ou consultar dados de um produto por código? A resposta curta é: o Mercado Livre não oferece uma API pública oficial de afiliados para isso. O programa de afiliados do ML é operado pelo painel (gerador de links e administrador de etiquetas) — não há um endpoint documentado e suportado que você possa chamar do seu sistema para transformar uma URL na versão com a sua tag, nem para puxar título, preço e imagem de forma confiável.

Se você precisa automatizar — montar ofertas, alimentar um site, um bot ou uma planilha — a saída prática é usar a API do Bot do Afiliado: uma API REST que gera o link de afiliado e retorna os dados do produto do Mercado Livre (e de outras lojas), com a sua atribuição.

Por que o Mercado Livre não resolve isso por API

O programa de afiliados do Mercado Livre é pensado para uso manual, pelo painel:

  • O gerador de links cria um link por vez, no navegador.
  • O administrador de etiquetas mostra a sua tag (etiqueta).
  • Não há uma API pública de afiliados documentada para gerar link programaticamente nem para consultar dados de produto já com a sua atribuição.

Ou seja: para qualquer fluxo automatizado, você precisaria reimplementar o fluxo interno do gerador de links — incluindo manter um cookie de sessão válido. É exatamente esse trabalho que o Bot do Afiliado encapsula para você.

A alternativa: a API do Bot do Afiliado

O Bot do Afiliado expõe uma API REST que usa a mesma engine do bot do Telegram. Depois de configurar o Mercado Livre uma vez (sua tag + cookie — veja o guia do Mercado Livre), você chama dois endpoints:

EndpointMétodoO que faz
/api/v1/convert-linksPOSTGera o link de afiliado (1 ou até 150 de uma vez)
/api/v1/productPOSTRetorna título, preço, imagem e histórico de preços + o link

💡 O endpoint detecta o site automaticamente a partir da URL. Você não envia site nem provider: cole a URL do Mercado Livre e a API usa a rota certa.

Use POST /api/v1/convert-links com a URL do produto. No modo single, envie url:

curl -X POST "https://botdoafiliado.com/api/v1/convert-links" \
  -H "content-type: application/json" \
  -H "X-API-Key: bk_xxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{"url":"https://www.mercadolivre.com.br/produto/p/MLB123456789"}'

Resposta (200):

{
  "success": true,
  "url_original": "https://www.mercadolivre.com.br/produto/p/MLB123456789",
  "url_resolvida": "https://www.mercadolivre.com.br/produto/p/MLB123456789",
  "affiliate_url": "https://mercadolivre.com/sec/...",
  "final_url": "https://encurtado.com/...",
  "site": "mercadolivre",
  "provider": "mercadolivre",
  "tracking_id": "..."
}

Divulgue sempre o final_url — é a versão com a sua atribuição e o encurtamento do bot. A X-API-Key já identifica o bot; você não precisa enviar bot_id.

Para converter uma lista, envie urls (de 1 a 150 por requisição). No modo batch, cada item tem o seu próprio ok — uma URL com erro não derruba a requisição inteira:

curl -X POST "https://botdoafiliado.com/api/v1/convert-links" \
  -H "content-type: application/json" \
  -H "X-API-Key: bk_xxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{"urls":[
        "https://www.mercadolivre.com.br/produto/p/MLB111",
        "https://produto.mercadolivre.com.br/MLB-222...",
        "https://mercadolivre.com.br/..."
      ]}'
{
  "success": true,
  "items": [
    { "ok": true, "url_original": "...", "affiliate_url": "...", "final_url": "...", "site": "mercadolivre", "provider": "mercadolivre" },
    { "ok": false, "url_original": "...", "affiliate_url": null, "final_url": null, "error": "..." }
  ]
}

Faça retry apenas dos itens com ok: false. Detalhes em convert-links.

Pegar dados do produto do Mercado Livre

Para obter título, preço, imagem e histórico de preços — além do link — use POST /api/v1/product:

curl -X POST "https://botdoafiliado.com/api/v1/product" \
  -H "content-type: application/json" \
  -H "X-API-Key: bk_xxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{"url":"https://www.mercadolivre.com.br/produto/p/MLB123456789","history_limit":10}'

Resposta (200):

{
  "success": true,
  "url_original": "https://www.mercadolivre.com.br/produto/p/MLB123456789",
  "url_resolvida": "https://www.mercadolivre.com.br/produto/p/MLB123456789",
  "affiliate_url": "https://mercadolivre.com/sec/...",
  "final_url": "https://encurtado.com/...",
  "tracking_id": "...",
  "site": "mercadolivre",
  "provider": "mercadolivre",
  "product": {
    "title": "Nome do produto",
    "price": "199.90",
    "price_number": 199.9,
    "currency": "BRL",
    "image_url": "https://..."
  },
  "price_history": [
    { "createdAt": "2026-06-01T12:34:56.000Z", "price": "219.90", "priceNumber": 219.9, "currency": "BRL" }
  ]
}

Os campos de product.* podem vir null quando não foi possível extrair, e price_history pode ser []. O parâmetro history_limit aceita de 1 a 50 (padrão 10). Veja product.

Erros mais comuns

  • 401 invalid_api_key — a X-API-Key está ausente, errada, revogada ou o módulo de API não está ativo.
  • 400 conversion_failed — não há rota/conversor elegível para a URL (geralmente o plugin do Mercado Livre não está configurado ou o cookie expirou). Atualize o cookie no guia do Mercado Livre.

Tabela completa em erros e limites.

Resumindo

Não existe uma API oficial de afiliados do Mercado Livre para gerar link ou consultar produto por código. Com a API do Bot do Afiliado você faz os dois — /convert-links para o link de afiliado e /product para os dados do produto — autenticando com X-API-Key, e o mesmo padrão vale para AliExpress, Amazon, Shopee, Magalu e mais.

Próximos passos

Precisa do módulo de API (gera as chaves usadas nas chamadas). Comece no painel.