API

Magalu API: produtos, preços e frete em JSON

O Magalu tem programas próprios para vendedores e afiliados, e eles resolvem outra coisa: o seu catálogo e as suas comissões. Esta API responde à pergunta do mercado: qual é o preço praticado, quanto fica no PIX e quanto custa entregar em determinado CEP. Não é preciso conta de vendedor e a resposta vem em JSON.

Endpoints

endpointO que retornaObrigatórios
searchBusca por palavra-chave. Cada produto vem com o preço no cartão e, separadamente, o preço no PIX com o respectivo desconto.query
product/detailO registro completo por id ou URL: título, marca, EAN, referência, preço no cartão, preço PIX, imagens e descrição.product_id
categoryTodos os produtos de uma categoria ou subcategoria, pelo id (por exemplo TE ou IP17) ou pela URL da categoria.category
product/reviewsAvaliações de clientes, paginadas e ordenáveis: mais relevantes, mais recentes, positivas ou negativas.product_id
product/shippingAs opções e os preços de entrega para um CEP brasileiro, exatamente como o Magalu os calcula na página.product_id, zipcode
search/suggestAs sugestões da própria caixa de busca do Magalu para o que o cliente está digitando.query

Cada chamada é cobrada em créditos. Chamadas com erro ou bloqueadas são gratuitas.

Exemplo que funciona

Comparar preços do Magalu usando só o preço do cartão leva a conclusões erradas: o preço no PIX costuma ser bem menor e é ele que aparece em destaque para o cliente. Os dois vêm em campos separados justamente por isso.

Requisição
curl -X POST https://api.reefapi.com/magalu/v1/search \
  -H "x-api-key: SUA_CHAVE" \
  -H "content-type: application/json" \
  -d '{"query": "notebook", "page": 1}'
Resposta (resumida)
{
  "ok": true,
  "data": {
    "results": [
      {
        "product_id": "...",
        "title": "...",
        "brand": "...",
        "price": 3499.0,
        "pix_price": 3149.1,
        "pix_discount_percent": 10
      }
    ]
  },
  "meta": { "record_count": 24, "cache_hit": false, "mode": "live" }
}

Em vez de escrever seu próprio scraper do Magalu

Escrever um scraper do Magalu funciona no primeiro dia. O problema aparece depois: quando a estrutura da vitrine muda, o parser devolve lista vazia em vez de erro, e quando a proteção contra bots entra, a execução para no meio. As duas coisas se parecem com 'não encontrei produtos'.

Há ainda uma armadilha específica: preço no cartão e preço no PIX são valores diferentes na mesma página. Um scraper que pega 'o preço' sem distinguir os dois produz uma base que parece certa e não é.

Para uma extração única, o seu script sai mais barato, e dizemos isso sem rodeios. Para um monitoramento diário, o custo não está no código e sim nas falhas que ninguém percebe.

Limites e observações honestas

  • Não é a API oficial do Magalu e não temos parceria com o Magazine Luiza.
  • O frete depende do CEP; sem CEP você não recebe um frete 'médio', apenas não recebe frete.
  • Preço no cartão e preço no PIX são campos separados. Quando o produto não tem desconto PIX, o campo vem null.
  • Sem cache: cada chamada reflete o momento da consulta.