Precios reales guardados el 8 de oct, 11:23 a. m. (hora de Colombia) de Jumbo y Olímpica. Pueden haber cambiado: confírmalos en la tienda. Ver fuentes

Fuentes: qué es real y qué es simulado

Ñapa nunca presenta un precio simulado como si fuera real. Cada oferta lleva el distintivo Simulado o En vivo.

Modo API

El servidor de Ñapa (https://napa-api.onrender.com, NestJS en el plan gratuito de Render) consulta las tiendas con fuente permitida y trae precios reales; las demás siguen simuladas y marcadas en cada oferta.

El historial de precios reales vive en la memoria del servidor: se borra cuando el plan gratuito se duerme, así que el veredicto de “descuento real” necesita días de uso continuo.

Tiendas

TiendaAhoraCon el backendAdaptadorPor qué
Mercado LibreSimulada Real con token OAuth API oficial (OAuth) API oficial de Mercado Libre. La búsqueda exige un token OAuth de una aplicación registrada; sin token responde 403, así que sin credenciales queda simulada.
ÉxitoSimulada Bloqueada: robots.txt y anti-bots Catálogo público VTEX Su robots.txt prohíbe /api/ (el catálogo VTEX) y las búsquedas (/s?). Lo único permitido serían las fichas de producto y el sitemap que anuncia, pero su protección anti-bots responde HTTP 429 «rate-limit-reason: bot» a un robot que se identifica, y sus términos limitan el sitio al uso personal. Saltarse eso exigiría disfrazar el robot, así que queda simulada hasta tener permiso o un convenio con Grupo Éxito.
CarullaSimulada Bloqueada: robots.txt y anti-bots Catálogo público VTEX Mismo grupo y plataforma que Éxito: robots.txt prohíbe /api/ y las búsquedas, así que la única vía permitida sería descargar su sitemap completo y leer ficha por ficha, un rastreo masivo que Ñapa no hace. Su anti-bots además responde 429 «bot» de forma intermitente (desde el servidor en Render su sitemap sí respondió el 8 oct. 2026). Queda simulada hasta tener permiso o un convenio con Grupo Éxito.
JumboEn vivo Real (backend) Catálogo público VTEX Catálogo público de VTEX (/api/catalog_system/pub). Su robots.txt no lo prohíbe: el backend lo consulta con caché, límite de ritmo y un User-Agent que se identifica.
OlímpicaEn vivo Real (backend) Catálogo público VTEX Catálogo público de VTEX. Su robots.txt bloquea /busca y cualquier URL con "&" o "%", así que el backend consulta la API de catálogo con una sola palabra (?ft=arroz), sin tildes ni paginación, y filtra el resto de la búsqueda en el backend, con caché y límite de ritmo.
D1Simulada Simulada Sin API pública No ofrece una API pública de catálogo. Ñapa no hace scraping: sus precios son simulados.
AraSimulada Simulada Sin API pública Sin API pública de catálogo. Sus precios son simulados.
AlkostoSimulada Simulada Sin API pública Sin API pública de catálogo para terceros. Sus precios son simulados.
FalabellaSimulada Simulada Sin API pública Su API es solo para vendedores (Seller Center), no para consultar el catálogo. Precios simulados.
SheinSimulada Simulada Sin API pública Sin API pública y sus términos prohíben la extracción automatizada. Precios simulados.
TemuSimulada Simulada Sin API pública Sin API pública y sus términos prohíben la extracción automatizada. Precios simulados.

Reglas que sigue el servidor

  • Revisa el robots.txt de cada tienda antes de pedir nada y respeta su intención. Si no lo puede leer, no consulta.
  • Solo APIs públicas u oficiales. No hace scraping, no se disfraza de navegador, no resuelve captchas y no rota IPs.
  • Solo consulta cuando alguien busca: como mucho una petición cada 2 s por tienda, caché de 1 hora y un User-Agent que se identifica con enlace al repositorio.
  • Para Éxito y Carulla solo pide, como mucho cada 12 h, el sitemap que su propio robots.txt anuncia, para comprobar si aceptan robots identificados. Nunca su /api/.
  • Si una fuente falla o la bloquean, esa tienda vuelve al simulado y la respuesta lo dice.
  • Los precios reales solo se comparan con precios reales.

Qué falta para más tiendas en vivo

  • Mercado Libre: una app registrada en developers.mercadolibre.com.co y su refresh token OAuth (la búsqueda puede seguir restringida por app).
  • Éxito y Carulla: permiso escrito de Grupo Éxito para el robot de Ñapa, o un convenio o feed de datos. Su robots.txt prohíbe /api/ y las búsquedas (solo quedaría rastrear su sitemap completo), su anti-bots rechaza robots identificados y los términos de exito.com son de uso personal.
  • D1, Ara, Alkosto, Falabella, Shein, Temu: un convenio, feed de afiliados o API oficial.
  • Una base de datos para que el historial de precios reales sobreviva a los reinicios (hoy vive en memoria).

Cómo decidimos si un descuento es real

  • Con al menos 21 días de historial, el precio habitual es la mediana de hace 90 a 8 días.
  • Inflado: el precio “antes” nunca se cobró en 90 días (con 5 % de margen) o el precio de hoy no baja del habitual.
  • Dudoso: anuncia 60 % o más y no hay historial para comprobarlo.
  • Puntaje 0–100: ahorro real (35), frente a otras tiendas con envío (25), historial (15), confianza de la tienda (15) y envío (10). Un descuento inflado queda en máximo 30.

Ubicación y mapas

Las sedes cercanas salen de OpenStreetMap vía Overpass API (datos reales, © colaboradores de OpenStreetMap, ODbL). El mapa usa MapLibre con estilos de CARTO, sin llaves. Tu ubicación solo se pide cuando tocas el botón y no se guarda.