Todo dia, sem ninguém apertar botão
A coleta roda automaticamente toda manhã, uma execução por varejista, com isolamento por unidade: uma categoria que falha é contabilizada e as outras seguem — uma categoria quebrada não custa o catálogo inteiro.
O Zé do Precinho é a plataforma de inteligência de preços do varejo brasileiro da LNData. Ela coleta diariamente os preços públicos de supermercados e farmácias — loja por loja, não rede por rede —, normaliza tudo num formato único, guarda o histórico e entrega o resultado por duas portas: uma API REST paga, para quem integra ao próprio BI ou ERP, e uma aplicação web, para quem quer usar na mão.
Preço de varejo é público, mas fragmentado, regional e efêmero. Cada rede publica no próprio site, com nomenclatura e código internos. O mesmo produto da mesma rede custa diferente em cada cidade — está medido: entre Criciúma e Florianópolis, no mesmo dia, até 41,9% dos preços divergem. E o preço de ontem não existe mais em lugar nenhum. Quem precisa desse dado monta um scraper próprio: frágil, caro de manter e que quebra em silêncio quando o site muda.
Construímos o Zé do Precinho, uma plataforma de dados de ponta a ponta: motor de coleta automática diária, regionalização real por CEP, identidade de produto verificável por código de barras, armazém analítico com histórico completo e uma API REST comercial com cobrança acoplada ao consumo. Junto vem uma aplicação web completa — busca, comparação entre lojas, gráfico de histórico, listas de compra com otimização de carrinho e alertas de preço com notificação push.
O dado chega normalizado, histórico e auditável — sem manter scraper nenhum. Hoje o sistema coleta seis redes de seis grupos econômicos distintos, todas as manhãs, responde por 19 cidades e rastreia 66.599 produtos identificados por código de barras. Do primeiro commit à produção com pagamento real: 17 dias.
Três eixos independentes — o segmento de varejo, a plataforma de e-commerce e o varejista — sustentam toda a coleta. Cada adapter emite o mesmo contrato canônico; o resto do sistema nunca conhece a origem. A consequência prática: acrescentar um varejista que roda numa plataforma já suportada custa uma entrada de configuração e zero código.
Um fluxo de ponta a ponta que transforma catálogo público espalhado em dado consultável: coletar → normalizar → identificar → historiar → servir → cobrar.
A coleta roda automaticamente toda manhã, uma execução por varejista, com isolamento por unidade: uma categoria que falha é contabilizada e as outras seguem — uma categoria quebrada não custa o catálogo inteiro.
O sistema distingue a praça coletada da praça atendida — aquela em que o próprio varejista declara que entrega a partir de uma loja já coberta. Não é aproximação pelo vizinho: é o mesmo seller e a mesma região, e a resposta da API diz por qual praça cada linha responde.
A comparação só agrupa ofertas por códigos comprovadamente globais — código de barras com checksum válido, ou código de fabricante quando é forte o bastante. Sem isso, o comparador mostraria diferença de preço entre produtos diferentes.
Cada coleta insere linhas novas e nunca atualiza as antigas. Re-executar uma coleta é seguro por construção, e a série temporal completa fica disponível por consulta — é o que ninguém mais guardou.
Comparação entre lojas, preço atual, série histórica e busca textual, com filtros de escopo multi-valor por estado, cidade, varejista e loja. O vocabulário da descoberta é exatamente o que os filtros aceitam, sem tradução no meio.
Busca, comparação loja a loja com gráfico de histórico, listas de compra com otimização de carrinho, alertas de preço com notificação push, compra de créditos e documentação interativa da API sob login.
O que distingue tecnicamente o projeto não é raspar sites — é tudo o que existe em volta do dado. Cada decisão relevante foi tomada com medição, não com intuição.
A API de catálogo das plataformas tem teto de paginação, e acima dele o resto do catálogo fica inalcançável. A solução é uma descida adaptativa na árvore de categorias, com fatiamento por faixa de preço nas folhas grandes — a cobertura subiu de 86,6% para 98,7%, recuperando 11.591 produtos.
Num teste sobre 10.158 códigos de barras compartilhados entre três redes, nenhum campo de "referência" da plataforma coincidiu — é código interno da loja. E 42,2% das chaves de marca e modelo fundiam produtos distintos. Usá-los produziria comparação errada, que é pior que comparação nenhuma porque parece certa.
Cada execução passa por checagens automáticas comparadas com a mediana dos últimos sete dias daquele varejista — porque cada fonte tem o seu normal, e limiar fixo alertaria sempre numa e nunca na outra. O veredito tem três estados: a coleta que termina 30% menor não é sucesso nem falha.
Uma API comercial não termina no endpoint: precisa cobrar com consistência transacional, se defender de abuso e avisar sozinha quando o dado do dia não chegou.
Os créditos vivem em lotes com vencimento e o consumo debita do lote que vence primeiro, atravessando lotes quando preciso — antes disso, um cliente com saldo distribuído ouvia "sem créditos" numa operação que o saldo cobria.
Um controle de cadência atômico protege a origem e o custo, e repetir a mesma consulta dentro da janela de cache devolve o resultado sem debitar. A reposição é igual na chave de API e na sessão do site, de propósito: teto maior na interface seria a porta dos fundos.
Em 82.582 pares de observações consecutivas, 86,3% dos preços não mudam — e quando caem, a queda tem mediana de 19,3%. O sinal é raro e grande, então os limiares são fechados: percentual livre daria precisão falsa. E o aviso carrega a data da referência, porque "caiu 30%" sem dizer desde quando é afirmação sem tamanho.
Um resumo diário por e-mail diz, em três estados, se o dia foi bom. Ele existe porque três falhas eram indistinguíveis: o coletor rodou e achou zero, a execução morreu antes de gravar, ou nem começou — nenhuma deixa rastro no dado, justamente porque o defeito é a ausência de dado.
Quem precisa de preço de gôndola deixa de manter scraper próprio: o dado chega normalizado, com histórico e com identidade de produto verificável.
A regionalização é real e está medida — 18% a 42% dos preços divergem entre cidades da mesma rede, diferença que um comparador por rede simplesmente não enxerga.
A cobrança é acoplada ao consumo com consistência transacional, em produção com pagamento real via Pix, boleto e cartão.
A curadoria de fontes reprova candidatas com número na mão — uma farmácia foi recusada por ser a mesma empresa de outra já coletada, e outra por trazer um único produto comparável.
Se a sua empresa acompanha preço de gôndola, monta índice de preço ou alimenta um produto com dado de varejo, o Zé do Precinho entrega isso por API. Conheça a plataforma ou fale com a LNData.