A fecha de 7 de octubre de 2026, Shifter cuenta con el mayor pool de IPs estadounidenses activas, más que Oxylabs y Bright Data, a una fracción del coste.Shifter ahora tiene el mayor conjunto de IPs de EE. UU. activas

Ver comparativas

Monitorización de precios de supermercado: apps de reparto y webs de retailers por ciudad

Cómo monitorizar los precios del supermercado en varias ciudades: por qué el mismo producto cuesta más en una tienda que en otra, cómo eligen tienda las apps de reparto y una recogida ciudad por ciudad con proxies residenciales.

Soluciones para la Industria · Actualizado el 30 de octubre de 2026 · 7 min de lectura
ciudadesprecio cesta
Una cesta, con precios tienda por tienda en cinco ciudades. Los puntos ámbar son la misma cesta en una app de reparto.
Conocimiento
En esta página
  1. Dónde varían los precios del supermercado
  2. Cómo eligen tienda las apps de reparto y las webs de supermercado
  3. Cómo definir la cesta
  4. Recogida ciudad por ciudad
  5. Cómo leer las apps de reparto
  6. Cómo mantener los datos limpios
  7. Conclusión

Los precios del supermercado son locales. Una docena de huevos puede tener un precio en una tienda de las afueras, otro en el centro de la ciudad y un tercero en una app de reparto que añade su propio recargo sobre el mismo lineal. Si fijas precios frente a rivales locales, revisas las promociones de una marca o sigues la inflación de los alimentos por región, necesitas precios de cada ciudad que te interesa, no una media nacional. Es una tarea central de la inteligencia de precios, y en alimentación es más difícil que en casi cualquier otro retail.

Esta guía explica dónde varían los precios del supermercado, cómo deciden las apps de reparto qué tienda ves y cómo montar una recogida que lea cada ciudad como lo haría un comprador local.

Dónde varían los precios del supermercado

Los supermercados rara vez tienen una única lista de precios. Las capas habituales son:

  • Zonas de precios. Las cadenas agrupan sus tiendas en zonas según la competencia y los costes locales. Dos tiendas de la misma cadena, a pocos kilómetros, pueden estar en zonas distintas.
  • Promociones por tienda. Los folletos semanales y las ofertas de fidelización suelen cambiar por región, y algunas ofertas solo valen en tiendas concretas.
  • Recargos de las apps de reparto. Las apps de terceros pueden mostrar precios por encima del precio en tienda, además de tarifas de servicio y de envío que cambian según la zona y la hora del día.
  • Disponibilidad. Un artículo puede estar en stock en una tienda y faltar en otra, lo que cambia lo que cuesta de verdad una cesta.
  • Formatos y marcas propias. Una misma línea de producto puede venderse en tamaños distintos según la región, lo que oculta cambios de precio si no comparas precios por unidad.

Un único scraping nacional mezcla todo esto en una cifra engañosa. Necesitas la tienda, la ciudad y el canal asociados a cada precio que registras.

Cómo eligen tienda las apps de reparto y las webs de supermercado

La mayoría de las webs de supermercado no muestran el catálogo completo hasta saber dónde estás. Lo deciden más o menos en este orden:

  1. Una tienda o dirección guardada, en una cookie o en la cuenta.
  2. La dirección o el código postal que escribes en el selector de tienda o en la comprobación de reparto.
  3. La ubicación de tu IP, como primera suposición antes de que elijas nada.

Eso tiene una consecuencia práctica. La IP te lleva a la ciudad correcta y hace que la primera suposición caiga cerca de la tienda que buscas. La tienda exacta, hasta el código postal, la fija la dirección que le das a la web. Así que una configuración fiable hace las dos cosas: una IP residencial en la ciudad de destino y la tienda o dirección de entrega indicada en la misma sesión, para que nunca se contradigan. Nuestro artículo sobre cuándo importa la segmentación de proxies por ciudad explica por qué un desajuste entre la IP y la ubicación elegida puede cambiar lo que sirve una web.

Cómo definir la cesta

Antes de recoger nada, fija qué vas a comparar:

  • Una cesta fija de 50 a 300 productos: básicos, tus productos más vendidos y los artículos que más promocionan tus rivales.
  • Una clave de correspondencia para cada producto, como el código de barras (GTIN) cuando la web lo muestra; si no, una coincidencia de marca, nombre y tamaño que revisas a mano una vez.
  • Precio por unidad (por kg, por litro, por unidad) junto al precio en lineal, para que los cambios de formato no parezcan cambios de precio.
  • Una lista de tiendas por ciudad: qué tiendas y qué zonas de reparto representan esa ciudad para ti.

Mantén la cesta estable. Si la cambias cada semana, las tendencias se vuelven imposibles de leer.

Recogida ciudad por ciudad

Para cada ciudad, abre una sesión a través de proxies residenciales segmentados en esa ciudad, fija la tienda en la web y después lee la cesta. Mantén una sola IP durante toda la sesión con un ID de sesión sticky, para que la web no vea al comprador saltar de una ubicación a otra a mitad de camino.

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

El ID de sesión (sid) mantiene la misma salida durante el ttl en segundos. Usa un ID por tienda, para que cada visita a una tienda parezca un solo comprador. En un mercado grande, reparte el trabajo entre sus ciudades principales, por ejemplo Chicago, Dallas y Atlanta en las páginas de Estados Unidos, en lugar de leer todo el país desde un solo lugar.

Un bucle mínimo en Python tiene este aspecto:

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

Los endpoints son de ejemplo. Muchas webs de supermercado cargan los precios desde un endpoint JSON una vez fijada la tienda; leer ese endpoint es más ligero y más estable que analizar la página.

Cómo leer las apps de reparto

Las apps de reparto añaden dos cosas que debes registrar por separado: el precio del artículo en la app y las tarifas. Recoge:

  • El precio del artículo en la app junto al precio en lineal de la web del propio supermercado, para medir el recargo.
  • Las tarifas de servicio y de envío para un importe de cesta fijo, ya que las tarifas suelen depender del total del pedido.
  • La hora de la recogida, porque las tarifas y la disponibilidad cambian a lo largo del día.

Compara lo comparable: misma tienda, misma cesta, misma hora.

Cómo mantener los datos limpios

  • Guarda cada precio con ciudad, tienda, canal, hora y precio por unidad. Sin la tienda, no puedes explicar un cambio.
  • Marca las promociones en lugar de incluirlas en la media. Una oferta de dos semanas no es una bajada de precio.
  • Vigila los artículos que faltan. Un precio vacío suele ser una rotura de stock, que ya es una señal en sí misma.
  • Comprueba los precios personalizados. Los precios de fidelización con sesión iniciada pueden diferir de los precios para invitados. Recoge como invitado salvo que lo que estudies sean los precios de fidelización. Nuestra guía para detectar precios geopersonalizados y dinámicos muestra cómo separar ambos.
  • Recoge solo precios públicos, a un ritmo moderado, y respeta las condiciones de cada web.

Conclusión

Un precio de supermercado solo tiene sentido con su ciudad, su tienda y su canal. Fija una cesta, decide qué tiendas representan cada ciudad, entra en cada ciudad con una IP residencial situada allí, fija la tienda dentro de la web en la misma sesión y registra por separado los precios por unidad, las promociones y las tarifas. Hazlo cada semana para los básicos y cada día para los artículos en los que compites, y verás los movimientos de precios locales en cuanto ocurren, en lugar de una cifra nacional borrosa.

Preguntas frecuentes

¿Qué es la monitorización de precios de supermercado?

Es la recogida periódica de los precios en lineal y en reparto de una cesta fija de productos de alimentación, tienda por tienda y ciudad por ciudad. Los retailers la usan para fijar precios frente a sus rivales locales, las marcas para revisar promociones y reglas de precio, y los analistas para seguir la inflación de los alimentos por región.

¿Por qué varían los precios del supermercado entre ciudades?

Los supermercados fijan precios por tienda o por zona de precios, según la competencia local, el alquiler, los costes de reparto y la demanda. Las apps de reparto añaden sus propios recargos y tarifas sobre el precio de la tienda. Por eso un mismo artículo puede mostrar varios precios el mismo día, según dónde esté el comprador.

¿Puedo monitorizar precios de supermercado por código postal con proxies?

Los proxies te sitúan en una ciudad, no en un código postal. En la mayoría de las webs de supermercado, la tienda exacta la decide la dirección o el selector de tienda, no la IP. La configuración fiable es una IP residencial en la ciudad correcta, más la tienda o la dirección de entrega indicada dentro de la web, en la misma sesión.

¿Con qué frecuencia conviene recoger los precios del supermercado?

Una vez por semana basta para la mayoría de los productos básicos, ya que muchos supermercados cambian precios con un ciclo semanal de promociones. Recoge a diario los productos frescos, los artículos en promoción y las categorías en las que más compites, y justo después de que empiece una promoción conocida.

¿Listo para empezar?

Prueba los proxies residenciales de Shifter, más de 205M IPs, más de 195 países, desde 0,75 $/GB.

Comenzar