Mercado Livre
API de perguntas do Mercado Livre
Uma página de perguntas de compradores em um anúncio do Mercado Livre, com as respostas do vendedor e a data de cada resposta. O Mercado Livre não mostra a data das perguntas. Pagine com next_offset. Custa 2 créditos por requisição.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonitem_idstringId do item (anúncio), como a busca ou o endpoint de produto o retornam em item_id. MLM-3571336480 também é aceito. Passe exatamente um entre item_id ou url.
Example: MLM3571336480
urlstringUma URL de página de anúncio ou uma URL de produto (/p/, /up/): as perguntas de um produto são as do anúncio que está no buy box dele.
Example: https://www.mercadolibre.com.mx/apple-iphone-15-128-gb-azul-distribuidor-autorizado/p/MLM1027172667
offsetintegerdefault:0Onde começar: o next_offset da página anterior.
Example: 20
Notes
Data da resposta, sem data da pergunta. Cada pergunta traz a resposta do vendedor e a data em que ela foi respondida (answer.date, YYYY-MM-DD). O Mercado Livre não mostra quando uma pergunta foi feita, então não há data da pergunta. answer é null para uma pergunta sem resposta.
Paginação. A primeira página traz de 20 a 40 perguntas. Passe next_offset de volta como offset para a próxima página; ele é null na última página.
- As perguntas pertencem a um anúncio (
item_id), não a um produto de catálogo. Passe uma URL de produto e a API lê as perguntas do anúncio que está no buy box dele; nesse caso,resolved_fromindica o produto de origem. Umproduct_idsozinho não é aceito: pegue oitem_idna Busca ou em Produto. - Um anúncio sem perguntas públicas retorna 404 e é cobrado. Um produto sem nada no buy box também retorna 404. Falhas temporárias (502/503) nunca são cobradas.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
offset = 0
while offset is not None:
res = client.mercadolibre.questions("MLM3571336480", offset=offset)
data = res["data"]
for q in data["questions"]:
answer = q["answer"]
print(q["text"], "->", answer["text"] if answer else "(unanswered)")
offset = data["next_offset"]Response