Заказы по карточке падают в среду, а причину селлер находит в пятницу: конкурент опустил цену и забрал показы. Ручная проверка десяти соседних карточек занимает утро и устаревает к вечеру. Ниже — схема, где цены, остатки и позиции конкурентов приходят в таблицу и в Telegram сами, без строчки кода на Python. Разберём параметры поиска Wildberries, шаги сценария в n8n, варианты хостинга, расчёт окупаемости и границы законного сбора данных.
Зачем селлеру ежедневные цены и остатки конкурентов
Выбор ниши упирается в один вопрос: сколько денег забирают соседние карточки и по какой цене. Скриншот выдачи отвечает на него один раз, а решение о закупке требует динамики за две-три недели. Парсер даёт вам эту динамику без ручного труда, и вы перестаёте угадывать спрос по ощущениям.
Трендовый товар виден в тех же данных, только по другому признаку. Если у трёх карточек ниши остаток падает быстрее, чем у остальных, а цена не снижается — спрос догоняет предложение. Такую позицию стоит проверить в закупке. Ежедневный срез выдачи показывает и новые бренды, которые заходят в топ: они появляются в вашей таблице раньше, чем в обзорах категорий.
Первый сценарий — защита маржи. Вы держите цену, конкурент опускает свою и поднимается в выдаче. Если вы видите это в тот же час, вы осознанно выбираете между скидкой и ставкой в рекламе. Иначе решение придёт после недельного отчёта, когда показы уже ушли к соседу.
Второй сценарий — оценка ёмкости ниши. Пример расчёта на условных числах: остаток по карточке вчера 340 штук, сегодня 295, значит за сутки ушло около 45 единиц. Если сложить такие же срезы по двадцати карточкам за две недели, вы получите порядок продаж категории. Точность зависит от поставок конкурента, поэтому читайте результат как порядок величины, а не как замер.
Третий сценарий — контроль своей карточки. Парсер видит её так же, как покупатель: цена после скидки, наличие размеров, позиция по ключевому запросу. Пропавший размер в сезон вы заметите на ближайшем запуске сценария, а не в отчёте продаж через неделю.
Четвёртый сценарий — разговор с поставщиком. История цен по десяти конкурентам за месяц превращается в аргумент: рынок идёт вниз, закупка должна идти за ним. Цифра из вашей таблицы весит больше общих слов о конкуренции.
Структура URL поиска Wildberries и параметры для сбора данных
Сначала разберитесь, откуда берутся данные. Откройте поиск Wildberries в браузере, нажмите F12 и перейдите на вкладку Network — там браузер показывает все запросы, которые страница отправляет на сервер. Введите запрос и найдите ответ в формате JSON — текстовый список товаров. По каждой карточке там лежат id, название, бренд, цена, рейтинг и остатки по складам.
Официального описания этой открытой выдачи нет, поэтому запишите дату своего замера рядом с настройками сценария — структура ответа меняется. Параметры запроса стоит понимать даже без кода: это части адреса после знака вопроса, и они задают, какой срез рынка попадёт в таблицу. Ниже — те, которые селлер меняет чаще всего; значения подставьте из своего браузера.
| Параметр | Что задаёт | Что подставить |
|---|---|---|
| query | Ключевой запрос выдачи | ветровка женская |
| page | Номер страницы выдачи | 1, 2, 3 |
| sort | Порядок сортировки | popular |
| dest | Регион доставки | значение из своего запроса |
Вывод: перебирая query и page, вы снимаете верх ниши, а фиксированный dest держит цены сопоставимыми между запусками. Без него вы сравните московскую цену с новосибирской и примете разницу доставки за скидку конкурента.
Отдельно проверьте единицы измерения. Цена нередко приходит в копейках: если вместо 1 890 в ответе стоит 189 000 (пример на условных числах), добавьте делитель на 100. Остатки лежат списком по складам, поэтому суммируйте их. Иначе в таблицу попадёт наличие одного склада, и вы недооцените конкурента в разы.
Для своих товаров есть штатный путь — API продавца, то есть официальный канал обмена данными; описание лежит в портале разработчика Wildberries. Он отдаёт ваши цены, остатки и заказы, но чужих карточек в нём нет. Рабочая связка складывается так: свои данные из API, рынок — из открытой выдачи.
Пошаговая настройка no-code парсера в сценарии n8n
Теперь соберём поток, который утром приносит срез рынка в таблицу. Все шаги вы делаете мышью на холсте n8n: нода — это блок-шаг с настройками, связь — линия между блоками. Формулы понадобятся в двух полях, и я называю их прямо.
Шаг первый — расписание. Поставьте ноду Schedule Trigger — блок, который запускает поток по часам, — и задайте два запуска, например 08:00 и 20:00. Двух срезов в сутки обычно достаточно, чтобы поймать вечерние скидки и утренние поставки конкурентов; это ориентир, проверьте его по первым дням истории.
Шаг второй — список запросов. Нода Google Sheets читает лист, где в столбце A лежат ключевые фразы, а в столбце B — номер страницы. Вы правите этот лист руками, и сценарий трогать не нужно. Так одна и та же схема обслуживает пять ниш вместо одной.
Шаг третий — запрос данных. Нода HTTP Request получает адрес поиска, куда подставляются значения из листа. В поле URL вы вставляете выражение вида {{ $json.query }} — это единственная «формула» шага. Метод оставьте GET (обычное чтение страницы), а заголовок User-Agent — строку, по которой сервер узнаёт браузер, — скопируйте из своего.
Шаг четвёртый — разбор ответа. Нода Item Lists разворачивает список товаров в отдельные строки, по одной на карточку. Дальше нода Set оставляет нужные поля: id, бренд, название, цена, рейтинг, сумма остатков. Здесь же вы делите цену на 100, если она пришла в копейках.
Шаг пятый — запись истории. Вторая нода Google Sheets добавляет строки в лист «История» и дописывает дату запуска. История важнее текущего среза: без неё вы не увидите, что конкурент снижает цену третий день подряд.
Шаг шестой — сравнение с прошлым запуском. Писать код не нужно: возьмите ноду Compare Datasets, подайте на один вход свежий срез, на другой — прошлый лист. Нода отдаёт изменившиеся строки, и дальше в поток идут только они. На выходе вы получаете не «две тысячи карточек», а десять реальных событий за ночь.
Шаг седьмой — фильтр значимости. Нода IF — это условие «если… то» — пропускает дальше только те карточки, где цена сдвинулась заметно для вашей категории или остаток упал до уровня «кончится за пару дней». Порог вы подбираете сами по первым дням истории: в электронике, по нашей оценке, реагировать стоит на десятки рублей, в носках такой сдвиг — шум.
Шаг восьмой — проверка на живучесть. Добавьте ноду Wait — паузу между шагами — на пару секунд между запросами страниц и включите в HTTP Request повтор при ошибке. Без паузы сценарий отправляет запросы пачкой, ловит блокировку и приносит вам пустую таблицу.
Тот же каркас работает и для Ozon. Меняются адрес запроса и названия полей, а расписание, разбор, сравнение и алерты остаются те же. Логику связки n8n с базой мы разбирали в материале про автоматизацию на n8n и Supabase — оттуда берите схему хранения, когда таблица перестанет вмещать историю.

Визуализация данных, дашборды и Telegram-алерты по ценам
Таблица с историей отвечает на вопросы только после сортировки, а решение по цене нужно принять до обеда. Поэтому поверх листа стоит собрать два слоя: сводку для глаз и алерт для срочного.
Сводку соберите на отдельном листе. Формула QUERY или сводная таблица дают минимальную цену по нише за день, среднее по десяти конкурентам и вашу позицию в этом списке. График цены по дням для трёх главных соперников — второй элемент, который вы смотрите ежедневно.
Алерты живут в Telegram. Создайте бота через BotFather, скопируйте токен в ноду Telegram в n8n, узнайте chat_id своей группы — это номер чата, куда бот пишет. После ноды IF сообщение уходит в чат: бренд, название, старая цена, новая цена, остаток, ссылка на карточку. Формат описан в документации Telegram Bot API.
Одно правило избавит вас от игнорирования бота: разные каналы для разных событий. Смена цены у трёх ключевых конкурентов идёт в личный чат, всё остальное — в групповой канал, который вы смотрите раз в день. Если весь поток валится в одно место, через неделю вы перестанете читать сообщения.
Второй полезный слой — утренний дайджест. Отдельный сценарий в 09:00 забирает изменения за сутки и присылает одно сообщение. В нём список: снижения цены, карточки без остатка, новые бренды в топе. Так вы начинаете день с картины рынка, а не с двадцати уведомлений.
Когда данных станет много, лист Sheets начнёт открываться медленно и формулы будут пересчитываться с задержкой. Следите за размером листа истории: как только сводка перестанет считаться за секунды, переносите историю в базу, а в таблице держите последний срез.
Деплой, хостинг и окупаемость решения для селлера
Сценарий по расписанию требует, чтобы среда работала круглосуточно. Ноутбук, который вы закрываете вечером, пропустит ночные изменения цен. Отсюда три реальных варианта, и выбирают их по тому, кто готов обслуживать сервер.
| Вариант | Что нужно от вас | Ограничение |
|---|---|---|
| Облако n8n | Только настройка сценария | Тарифы и лимиты смотрите в прайсе n8n |
| VPS с n8n | Установка, домен, обновления | Нужен человек, который следит за сервером |
| Локально на ПК | Установка через Desktop-версию | Сценарий стоит, пока компьютер выключен |
Вывод: селлеру без техотдела ближе облако. VPS выигрывает, когда сценариев уже десяток и в них лежат токены от CRM.
Теперь про деньги. Считайте от своего ручного труда: включите таймер и замерьте, сколько минут уходит на обход десяти карточек. Умножьте замер на число рабочих дней в месяце, а затем на стоимость своего часа. Так вы получите месячную сумму, с которой сравнивают затраты на сборку.
Сценарий в n8n забирает у вас время один раз — на сборку и проверку полей. Дальше остаётся чтение дайджеста и правка списка запросов. Ниже — сравнение двух режимов по одному и тому же набору карточек.
| Показатель | Вручную | Сценарий в n8n |
|---|---|---|
| Срезов в сутки | 1 | 2 |
| Кто снимает данные | вы | расписание |
| Где лежит история | скриншоты | лист с датой |
| Когда видно снижение цены | при следующем обходе | на ближайшем запуске |
Вывод: главный выигрыш не в часах, а в задержке. Решение по цене вы принимаете в тот же день, а не после недельного отчёта.
Чтобы посчитать окупаемость честно, оцените свой ручной труд в деньгах до старта. Методику подсчёта часов мы разбирали в материале про расчёт часов ручной обработки заказов — те же шаги применимы к мониторингу конкурентов. Дальше срок возврата считается делением: затраты на сборку делите на месячную экономию.
Юридические риски парсинга и типичные ошибки настройки
Главный страх селлера звучит так: «придёт письмо от юристов маркетплейса». Риск снижается, если вы держитесь трёх границ. Собирайте только те данные, которые видит любой покупатель без входа в аккаунт. Не трогайте персональные данные и не создавайте нагрузку, похожую на атаку.
Сама цена товара в открытой витрине — не охраняемый объект. Охраняются база данных как целое и персональные данные покупателей: права изготовителя базы описаны в четвёртой части ГК РФ. Копирование существенной части базы и извлечение отдельных цен — разные действия. Поэтому не тяните категорию целиком, берите топ по своим запросам.
Вторая граница — техническая. Пауза между запросами, ограничение числа страниц и один запуск в несколько часов удерживают вас в поведении обычного пользователя. Без паузы сценарий выгребает сто страниц за минуту, создаёт нагрузку и получает блокировку по IP.
Третья граница — использование данных. Собранные цены нужны вам для своих решений о закупке и скидках. Перепродажа выгрузки или публикация чужой базы под своим именем — другая история и другой уровень риска.
Теперь ошибки, которые ломают сбор чаще всего. Смотрите список и проверьте по нему свой сценарий:
- Забыли зафиксировать
dest— цены прыгают между регионами, динамика превращается в шум. - Взяли цену до скидки — на условных числах таблица показывает 4 200 там, где покупатель видит 2 990.
- Считали остаток по одному складу — конкурент выглядит пустым, хотя товар лежит в трёх городах.
- Не сохраняли историю — увидели текущий срез и не увидели тренд, ради которого всё делалось.
- Слили все алерты в один чат — через неделю бот попал в беззвучный режим.
- Не заложили проверку структуры ответа — поле переименовали, сценарий записал пустые строки.
Последняя ошибка чинится одной нодой IF: если цена пустая, бот присылает вам сообщение о поломке. Разница между рабочим и мёртвым парсером в том, что о поломке вы узнаёте в день поломки. Почему такие задачи быстрее закрываются сценарием, а не своим кодом, мы разбирали в материале про no-code для запуска первой версии продукта.
Частые вопросы
Законно ли парсить цены конкурентов на Wildberries
Сбор открытых данных витрины сам по себе не запрещён. Риск возникает в двух местах. Первое — извлечение существенной части базы данных, права на неё описаны в четвёртой части ГК РФ. Второе — нагрузка на сервис, похожая на атаку. Держите паузу между запросами и берите топ выдачи по своим запросам, а не категорию целиком. Персональные данные покупателей не собирайте вовсе.
Можно ли собирать данные с Wildberries без API и без кода
Да. Ваши цены, остатки и заказы отдаёт API продавца, а карточки конкурентов вы читаете из открытой выдачи поиска. Ноды HTTP Request, Item Lists и Set в n8n делают запрос и разбор ответа мышью, без скриптов. Выражения нужны в двух полях: подстановка запроса в адрес и делитель цены. Такой сценарий собирается за вечер, если структуру ответа вы разобрали заранее через вкладку Network.
Как часто нужно обновлять данные о ценах и остатках конкурентов
Для выбора ниши хватает одного среза в сутки: вы смотрите тренд за две-три недели, и часы внутри дня роли не играют. Для защиты маржи по активным карточкам ставьте, по нашей оценке, два-четыре запуска — утро, обед, вечер. Каждые пятнадцать минут смысла нет: вы получите нагрузку, риск блокировки и поток алертов, который перестанете читать. Начните с двух запусков и добавьте третий, если увидите, что события проходят мимо.
Подходит ли такой парсер одновременно для Wildberries и Ozon
Да, каркас общий. Расписание, разбор списка товаров, сравнение с прошлым срезом, фильтр и Telegram-алерт работают без изменений. Различия — в двух местах: адрес и параметры запроса, а также названия полей в ответе. Практично держать два сценария и один общий лист истории с колонкой «маркетплейс»: тогда сводка показывает цену по одной модели сразу на двух площадках.
Сколько стоит настройка no-code парсера под ключ
Сумма зависит от трёх вещей. Первое — сколько ниш и запросов вы отслеживаете. Второе — где живёт история: в таблице или в базе. Третье — нужны ли алерты помимо Telegram. Считать выгоду удобнее от своей стороны: замерьте часы ручного мониторинга за месяц и умножьте на стоимость своего часа. Полученная сумма — планка, выше которой внедрение не окупается.
Что делать дальше
Начните с одного запроса. Откройте вкладку Network и найдите JSON-ответ поиска. Выпишите названия полей с ценой и остатками.
Дальше соберите поток из шести нод и запустите его вручную. Через три дня истории вы увидите, какие пороги алертов вам подходят.
Нет времени на разбор полей? Мы соберём сбор цен и остатков конкурентов в n8n с выгрузкой в таблицу и алертами в Telegram. Оставьте задачу через страницу автоматизации процессов интернет-магазина. Объём работ зависит от числа ниш и структуры вашей выдачи.

