Em 7 de outubro de 2026, a Shifter tem o maior pool de IPs dos EUA ativos, mais do que a Oxylabs e a Bright Data, por uma fração do custo.A Shifter agora tem o maior pool de IPs ativos dos EUA

Ver benchmarks

Monitoramento de preços de supermercado: apps de delivery e sites de varejistas por cidade

Como monitorar preços de supermercado em várias cidades: por que o mesmo produto custa mais em uma loja do que em outra, como os apps de delivery escolhem a loja e uma coleta cidade por cidade com proxies residenciais.

Soluções para o Setor · Atualizado em 30 de outubro de 2026 · 7 min de leitura
cidadespreço da cesta
Uma cesta, com preço loja por loja em cinco cidades. Os pontos âmbar são a mesma cesta em um app de delivery.
Conhecimento
Nesta página
  1. Onde os preços de supermercado variam
  2. Como apps de delivery e sites de supermercado escolhem a loja
  3. Montando a cesta
  4. Coletando cidade por cidade
  5. Lendo apps de delivery
  6. Mantendo os dados limpos
  7. Resumindo

Preço de supermercado é local. Uma caixa de ovos pode ter um preço em uma loja de bairro, outro no centro da cidade e um terceiro em um app de delivery que soma a própria margem à mesma gôndola. Se você precifica contra concorrentes locais, confere as promoções de uma marca ou acompanha a inflação de alimentos por região, precisa dos preços de cada cidade que importa para você, não de uma média nacional. Esse é um trabalho central de inteligência de preços, e ele é mais difícil para supermercados do que para a maior parte do varejo.

Este guia explica onde os preços de supermercado variam, como os apps de delivery decidem qual loja você vê e como montar uma coleta que lê cada cidade do jeito que um cliente local lê.

Onde os preços de supermercado variam

Supermercados raramente trabalham com uma única tabela de preços. As camadas mais comuns são:

  • Zonas de preço. As redes agrupam as lojas em zonas conforme a concorrência e os custos locais. Duas lojas da mesma rede, a poucos quilômetros uma da outra, podem estar em zonas diferentes.
  • Promoções por loja. Encartes semanais e ofertas de fidelidade costumam mudar por região, e algumas ofertas valem só em lojas selecionadas.
  • Margens dos apps de delivery. Apps de terceiros podem mostrar preços acima do preço de gôndola da loja, mais taxas de serviço e de entrega que mudam conforme a área e o horário.
  • Disponibilidade. Um item pode estar em estoque em uma loja e em falta em outra, o que muda quanto uma cesta realmente custa.
  • Tamanhos de embalagem e marcas próprias. A mesma linha de produtos pode vir em tamanhos diferentes por região, o que esconde mudanças de preço se você não comparar o preço por unidade.

Uma única coleta nacional mistura tudo isso em um número enganoso. Você precisa da loja, da cidade e do canal associados a cada preço que registra.

Como apps de delivery e sites de supermercado escolhem a loja

A maioria dos sites de supermercado não mostra o catálogo completo enquanto não sabe onde você está. Eles decidem mais ou menos nesta ordem:

  1. Uma loja ou endereço salvo, a partir de um cookie ou da conta.
  2. O endereço ou CEP que você digita no seletor de loja ou na consulta de entrega.
  3. A localização do seu IP, como primeiro palpite antes de você escolher qualquer coisa.

Isso tem uma consequência prática. O IP leva você à cidade certa e faz o primeiro palpite cair perto da loja que você quer. A loja exata, até o nível do CEP, é definida pelo endereço que você informa ao site. Então uma configuração confiável faz as duas coisas: um IP residencial na cidade de destino e a loja ou o endereço de entrega informado na mesma sessão, para que os dois nunca entrem em conflito. Nosso artigo sobre quando a segmentação de proxy por cidade importa explica por que uma divergência entre o IP e o local escolhido pode mudar o que um site entrega.

Montando a cesta

Antes de coletar qualquer coisa, defina o que você vai comparar:

  • Uma cesta fixa de 50 a 300 produtos: itens básicos, os seus campeões de venda e os itens que os concorrentes mais promovem.
  • Uma chave de correspondência para cada produto, como o código de barras (GTIN) quando o site o exibe, ou então uma correspondência por marca, nome e tamanho que você confere manualmente uma vez.
  • Preço por unidade (por kg, por litro, por unidade) ao lado do preço de gôndola, para que mudanças de embalagem não pareçam mudanças de preço.
  • Uma lista de lojas por cidade: quais lojas e quais áreas de entrega representam aquela cidade para você.

Mantenha a cesta estável. Mudá-la toda semana torna as tendências impossíveis de ler.

Coletando cidade por cidade

Para cada cidade, abra uma sessão por meio de proxies residenciais segmentados para aquela cidade, defina a loja no site e depois leia a cesta. Mantenha um único IP durante toda a sessão com um ID de sessão fixa, para que o site não veja o cliente pular de um lugar para outro no meio do caminho.

customer-USERNAME-country-us-city-chicago-sid-chi-store-118-ttl-900:PASSWORD

O ID de sessão (sid) mantém a mesma saída por até o ttl em segundos. Use um ID por loja, para que cada visita a uma loja pareça um único cliente. Em um mercado grande, distribua o trabalho entre as principais cidades, por exemplo Chicago, Dallas e Atlanta nas páginas dos Estados Unidos, em vez de ler o país inteiro a partir de um só lugar.

Um loop mínimo em Python fica assim:

import requests

GATEWAY = "p.shifter.io:443"
USER, PASS = "USERNAME", "PASSWORD"

def session_for(city, store_id):
    s = requests.Session()
    proxy = f"http://customer-{USER}-country-us-city-{city}-sid-{city}-{store_id}-ttl-900:{PASS}@{GATEWAY}"
    s.proxies = {"http": proxy, "https": proxy}
    return s

def read_basket(city, store_id, products):
    s = session_for(city, store_id)
    # 1. Set the store the way the site expects (store picker or address check).
    s.post("https://grocer.example/api/store/select", json={"storeId": store_id}, timeout=30)
    rows = []
    for p in products:
        r = s.get(f"https://grocer.example/api/product/{p['sku']}", timeout=30)
        if r.status_code != 200:
            rows.append({**p, "city": city, "store": store_id, "error": r.status_code})
            continue
        d = r.json()
        rows.append({**p, "city": city, "store": store_id,
                     "price": d.get("price"), "unit_price": d.get("unitPrice"),
                     "promo": d.get("promotion"), "in_stock": d.get("available")})
    return rows

Os endpoints aqui são exemplos. Muitos sites de supermercado carregam os preços a partir de um endpoint JSON depois que a loja é definida; ler esse endpoint é mais leve e mais estável do que fazer o parsing da página.

Lendo apps de delivery

Os apps de delivery acrescentam duas coisas que você precisa registrar separadamente: o preço do item no app e as taxas. Registre:

  • O preço do item no app ao lado do preço de gôndola no site do próprio supermercado, para medir a margem.
  • As taxas de serviço e de entrega para um valor de cesta fixo, já que as taxas costumam depender do total do pedido.
  • O horário da coleta, porque taxas e disponibilidade mudam ao longo do dia.

Compare coisas equivalentes: mesma loja, mesma cesta, mesmo horário.

Mantendo os dados limpos

  • Guarde cada preço com cidade, loja, canal, horário e preço por unidade. Sem a loja, você não consegue explicar uma mudança.
  • Marque as promoções em vez de incluí-las na média. Uma oferta de duas semanas não é uma redução de preço.
  • Fique de olho nos itens ausentes. Um preço vazio muitas vezes é um item em falta, o que já é um sinal por si só.
  • Verifique preços personalizados. Preços de fidelidade com login podem ser diferentes dos preços para visitantes. Colete como visitante, a menos que o preço de fidelidade seja o que você estuda. Nosso guia para detectar preços geopersonalizados e dinâmicos mostra como separar os dois.
  • Colete apenas preços públicos, em um ritmo educado, e respeite os termos de cada site.

Resumindo

Um preço de supermercado só significa algo com a cidade, a loja e o canal associados. Defina uma cesta, decida quais lojas representam cada cidade, entre em cada cidade por um IP residencial localizado lá, defina a loja dentro do site na mesma sessão e registre preços por unidade, promoções e taxas separadamente. Rode a coleta toda semana para os itens básicos e todo dia para os itens em que você compete, e você vai ver os movimentos de preço locais enquanto acontecem, em vez de um número nacional borrado.

Perguntas frequentes

O que é monitoramento de preços de supermercado?

É a coleta regular dos preços de gôndola e de delivery de uma cesta fixa de produtos de supermercado, loja por loja e cidade por cidade. Varejistas usam isso para precificar contra concorrentes locais, marcas usam para conferir promoções e políticas de preço, e analistas usam para acompanhar a inflação de alimentos por região.

Por que os preços de supermercado variam entre cidades?

Os supermercados definem preços por loja ou por zona de preço, com base na concorrência local, no aluguel, nos custos de entrega e na demanda. Os apps de delivery somam as próprias margens e taxas ao preço da loja. Por isso, o mesmo item pode aparecer com vários preços no mesmo dia, dependendo de onde o cliente está.

Dá para monitorar preços de supermercado por CEP com proxies?

Proxies colocam você em uma cidade, não em um CEP. Na maioria dos sites de supermercado, a loja exata é escolhida pelo endereço ou pelo seletor de loja, não pelo IP. A configuração confiável é um IP residencial na cidade certa, mais a loja ou o endereço de entrega definido dentro do site, na mesma sessão.

Com que frequência devo coletar preços de supermercado?

Uma vez por semana basta para a maioria dos itens básicos, já que muitos supermercados mudam preços em um ciclo semanal de promoções. Colete diariamente para hortifrúti, itens em promoção e as categorias em que você mais compete, e logo depois do início de uma promoção conhecida.

Pronto para começar?

Experimente os proxies residenciais da Shifter, mais de 205M IPs, mais de 195 países, a partir de $ 0,75/GB.

Começar