Превращение публичного источника данных в фид за 29 евро в месяц

Сетка данных на ноутбуке и аннотированные таблицы, представляющие сбор и продажу нишевых данных

Продажа данных по подписке — самый скучный ИИ-сайдхастл, который я когда-либо запускал, и именно он даёт самую чистую маржу. Продукт — не эффектный чат-бот, а таблица, которая обновляется по расписанию и приходит покупателю в почту или через API. Краулер небольшой, юридический фильтр строгий, список клиентов короткий и лояльный. Я собрал всё за четыре выходных, и с тех пор пять месяцев оно работает почти без вмешательства. Рассказываю, как выбираю нишу, как соблюдаю законность и как нахожу первых платных клиентов.

Тест ниши — до написания кода

Продаваемый фид данных обладает тремя свойствами: источник публичен, данные меняются достаточно часто, чтобы оправдать подписку, и покупатели уже платят кому-то за более некрасивую версию этого же. Я отсеиваю всё, что не проходит хотя бы один из критериев. Кандидатов нахожу, публикуя двухстрочный питч на отраслевых форумах и в небольших суббредитах — тот же фильтр, что я использую для подписки на ИИ-чат-бот. Если за 72 часа не приходит минимум четыре серьёзных ответа, ниша умирает на месте. Строить фид, который никто не просил, — именно та ошибка, которую я отказываюсь повторять.

Юридический чек-лист, который я не нарушаю

Этот шаг убивает большинство проектов — и правильно делает. Прежде чем написать хоть строчку кода краулера, я отвечаю на пять вопросов об источнике. Данные за логином? Запрещает ли пользовательское соглашение автоматический доступ? Исключает ли robots.txt нужные мне пути? Превышает ли частота моих запросов то, что делал бы вежливый пользователь? Обнажает ли вывод персональные данные так, как исходный публикатор не предполагал? Если хоть один ответ вызывает сомнение — перехожу к следующему кандидату. Я веду письменный учёт по каждому источнику с датой, чтобы при любом споре можно было доказать проверку. Юридическая гигиена здесь перекликается с документами, которые я веду при флиппинге доменов: скучная документация спасает позже.

Стек — намеренно небольшой

Один небольшой VPS за 6 евро в месяц, Python с requests и selectolax для парсинга, SQLite для хранения состояния, пул ротируемых резидентных прокси за 15 евро в месяц, один cron-job каждые 60 минут. Никакого Kafka, очередей, микросервисов. Общая стоимость инфраструктуры — 21 евро в месяц. ИИ используется ровно в двух местах: первое — составление селекторов извлечения по образцу страницы, что экономит примерно три часа; второе — нормализация «грязных» текстовых полей вроде названий компаний и адресов. Сам краулер — 380 строк детерминированного Python. Скучный код, который легко отлаживать в 23:00, когда что-то ломается.

  1. Получить страницу списка, сравнить с последним снимком, извлечь URL новых элементов.
  2. Загрузить каждый новый элемент, разобрать поля, проверить типы.
  3. Нормализовать свободный текст дешёвым LLM-вызовом, ограничить стоимость 0,002 евро за строку.
  4. Дедуплицировать через SQLite по хешу нормализованной записи.
  5. Добавить в дневной CSV, разослать подписчикам по email плюс через небольшой JSON-эндпоинт.

Цены, упаковка и первые 14 покупателей

С первого дня я поставил цену 29 евро в месяц без бесплатного пробного периода. Пробный период привлёк бы зевак, а этот продукт живёт за счёт покупателей, которые уже знают боль. Первые три подписчика пришли с того же форума, где я тестировал питч. Следующие восемь — из одной партии холодных писем, отправленных 40 небольшим агентствам, которые явно делали ту же работу вручную. Процент ответов — 28%, конверсия из ответа в покупку — 25%. Остальные трое нашли меня через поиск после двух коротких публикаций. Доход на пятом месяце: 406 евро ежемесячно, расходы — 21 евро инфраструктуры плюс примерно 85 евро токенов и прокси в самый насыщенный месяц, чистая маржа около 300 евро. Это 74% маржи на продукте, который занимает у меня примерно 90 минут обслуживания в неделю. Юнит-экономика ближе к моей платной рассылке, чем к большинству ИИ-обёрток.

Поддержка — то, что никто не показывает на лендинге

Каждый вторник вечером я открываю дашборд, просматриваю лог ошибок и исправляю всё, что изменилось. За пять месяцев я трогал селекторы четыре раза. Два раза — из-за незначительных правок вёрстки на источнике, один раз — из-за тихого 403, потребовавшего новой ротации user-agent, один раз — из-за принципиального изменения схемы, которое стоило мне целого вечера. Я закладываю 90 минут в неделю и трачу в среднем около 60. Без этого фиксированного слота фид сгнил бы за квартал — именно об этой ошибке я предупреждаю на хабе ИИ-сайдхастлов.

Редкий совет Джона

Продавайте схему, а не парсинг

Покупателям неважно, что вы парсите. Им важно, что на выходе — чистая, стабильная схема, которую можно сразу подключить к своим инструментам без переименования столбцов. Я публикую схему на странице продаж с примером CSV и небольшим JSON Schema-файлом. Эта одна деталь закрыла минимум три из первых десяти подписок у людей, которых ранее обжёг предыдущий фид, менявший столбцы без предупреждения. Одностраничный документ схемы стоит больше, чем любой текст лендинга, который я мог бы написать.

Чего я бы избегал

Не парсите ничего, что требует авторизации, даже если это кажется простым. Единственный раз, когда я нарушил это правило — на источнике с очень тонкой стеной входа — я потерял неделю в споре с издателем и был вынужден вернуть деньги двум подписчикам. Узкий публичный источник с умеренным объёмом всегда лучше богатого закрытого источника с правовыми рисками. Если единственный способ собрать фид — за логином, стройте другой фид.

Часто задаваемые вопросы

Законен ли парсинг публичных данных?

Публичные данные без авторизации и без кликрэп-соглашений, запрещающих автоматический доступ, — безопасная зона в большинстве юрисдикций, включая Россию. Парсинг за логином, обход ограничений частоты запросов или игнорирование запретов robots.txt выводят вас из этой зоны. Я веду одностраничный юридический чек-лист по каждому источнику и отказываюсь от фидов, которые не дают «да» на каждый пункт. В России также следует учитывать требования 152-ФЗ: персональные данные россиян не должны попадать в фид без соответствующего основания.

Сколько реально можно брать за нишевый фид?

Мой фид стоит 29 евро в месяц при 14 платных подписчиках — 406 евро регулярного дохода. Общий фид новостей по такой цене не выживет; узкоотраслевой фид с обновлением раз в 60 минут и чистой схемой — вполне. Покупатели — почти всегда небольшие агентства или исследователи-одиночки, которые ценят сэкономленное время, а не сырые данные.

Может ли ИИ заменить весь пайплайн парсинга?

ИИ пишет промпты для извлечения и нормализует «грязные» поля, но «сантехника» (планировщик, повторные попытки, дедупликация, обнаружение изменений) — всё равно скучный детерминированный код. Я пробовал запустить весь пайплайн через LLM-агент: работало выходные, потом тихо поплыло. Используйте ИИ для нечётких частей, оставляйте детерминированное — детерминированным.