Все записи
8 мин

Три «бесплатных» аккаунта Apify сожрали $15 за три дня

АвтоматизацияBuilding in Publicденьги

Если коротко, то я завёл три бесплатных аккаунта Apify под Reddit-мониторинг в своём ORYON, посчитал что $5 на каждом — это $15 на месяц с ротацией токенов и спокойной жизнью, а на деле один из них сожрал $5.63 меньше чем за сутки, и все три ушли в красное за пару дней. Пришлось Reddit Tech отключить целиком, Mass оставить раз в три дня, и вместо потенциальных $45 в месяц система теперь стоит около $4. Вот вам и бесплатный тариф.

Расскажу как было, потому что это та самая история «free tier не бесплатный» в чистом виде, и если вы строите любую автоматизацию на чужих лимитах — а сейчас, со всеми этими ИИ для автоматизации, на чужих лимитах строят примерно всё — то наступите на те же грабли, что и я. Только я уже наступил, так что можете на моих шишках сэкономить.

Что вообще такое ORYON и при чём тут Reddit

ORYON — это мой движок, который мониторит 15+ источников и собирает из них дайджесты: где что зарождается, какие тренды на подходе, что обсуждают в опенсорсе и где у людей болит. Идея у меня была простая и красивая — брать GitHub breakouts, то есть репозитории которые резко набирают звёзды, скрещивать их с болями из Reddit, и на этом стыке ловить продуктовые идеи. Вот люди жалуются на проблему, а вот кто-то уже пилит решение, и ты это видишь раньше остальных.

Проблема в том, что Reddit просто так не отдаёт данные пачками, и я хожу к нему через Apify — это сервис который запускает готовых «акторов»-скраперов. У них есть free tier на $5 в месяц на аккаунт, и я подумал — а почему бы не завести несколько аккаунтов, написать ротацию токенов, и когда один упирается в лимит, переключаться на следующий. Звучит как страховка, да? Три аккаунта, $15 суммарного бюджета, должно хватить с запасом.

Вечер, когда всё встало

Сижу я вечером 4 апреля, докручиваю ту самую идею про продуктовые идеи из опенсорса, иду проверить Reddit-коннектор — а он мне отдаёт MONTHLY_TOTAL_USAGE_HARD_LIMIT_EXCEEDED. Лимит исчерпан. Ладно, думаю, у меня же три ключа, сейчас переключусь. Полез проверять все три — и все три в статусе ACTORS: disabled. Все три.

Тут я честно завис. Блять, все три исчерпаны, три аккаунта по $5 = $15 сожрали за месяц, как это вообще, не могут они быть исчерпанными — вот примерно так звучала моя реакция, и я был уверен что где-то ошибка, потому что не мог месячный бюджет трёх аккаунтов испариться целиком. Попросил Claude Code перепроверить аккуратнее, по каждому аккаунту отдельно, и выяснилось что не всё так мрачно: один сбрасывается сегодня, 4 апреля, второй — 17-го, третий вообще свежий. То есть часть лимитов просто обнулялась по календарю, а не сгорела навсегда.

Выдохнул, тут же попросил настроить нормальную ротацию трёх токенов в коннекторе и в раннере, задеплоил, лёг спать с мыслью что разрулил. Свежий третий ключ включил — пусть пока он работает.

А утром свежий ключ был пустой

Утром следующего дня смотрю — а тот свежий ключ, который мы вечером включили, выжрал весь лимит меньше чем за сутки. Весь лимит, меньше чем за сутки получается, спрашиваю я у своего ИИ-агента, и он мне считает: $5.63 накопилось за сутки на одном аккаунте. То есть даже не пять долларов лимита, а больше — Apify дал чуть уйти в минус прежде чем рубануть.

Дальше пошла арифметика, от которой стало смешно и грустно одновременно. Один прогон Reddit Mass — это 20 сабреддитов за раз — стоит примерно $0.40–0.50. А у меня Tech-прогон крутился каждые 8 часов плюс Mass раз в день, и в сумме набегало около $1.5–2 в день. Считаем дальше: $5 free tier при таком аппетите хватает на 2–3 дня, а вовсе не на месяц. На один день хватило, даже суток не прошло — вот это была вторая моя реакция, уже без иллюзий.

И вот тут до меня дошло, в чём была ошибка мышления. Я держал в голове картинку «$5 в месяц» как будто это абонентка, фиксированная плата за доступ. А это не абонентка, это кошелёк, из которого списывается по факту за каждый запуск. И когда у тебя скрапер ходит каждые 8 часов по 20 сабреддитов, кошелёк пустеет не по календарю, а по нагрузке. Три аккаунта не давали мне три месяца жизни — они давали мне примерно неделю, просто размазанную по трём кошелькам. Кстати, как именно сервис молча умирает, когда кошелёк уходит в ноль, я отдельно разбирал на примере OpenAI — там два продакшн-сервиса встали разом, и я час искал баг, которого не было.

Что решили делать

Вариантов было три. Первый — заводить ещё аккаунты, но это очевидный тупик, я бы просто плодил кошельки которые пустеют за пару дней каждый. Второй — уйти на Reddit OAuth, он бесплатный, но для меня этот путь не вариант по своим причинам, не буду тут раскапывать. Третий — снизить частоту обращений к Reddit и положиться на то, что остальные источники покрывают темы.

Выбрал третий. Reddit Tech отключил целиком, потому что технические новости мне и так покрывают Hacker News и Lobsters, а Reddit Mass оставил раз в три дня вместо ежедневного. После этого месячный ценник Reddit-части свалился с потенциальных $45 — это если бы я тупо доплачивал за все три аккаунта по полной — до примерно $4 в месяц. Разница чувствуется.

А теперь самое интересное — каждое действие тянуло за собой новое

Это та часть, которую обычно не показывают в красивых постах про автоматизацию. Ты дёргаешь одну ниточку, и за ней вылезает три новые проблемы.

Сначала, 6 апреля утром, обнаружилось что Yandex SERP запустился ночью и тоже бомбит Apify. Оказалось раннер для SERP использовал первый токен вообще без ротации — то есть пока я героически раскидывал нагрузку по трём ключам для Reddit, сбоку другой кусок системы молча сосал лимит с одного-единственного токена. Отключил эту проверку нахрен.

Потом не пришёл дайджест. Причина — too_few_per_group, то есть в группу набралось 2 сигнала из 3 необходимых, и сборщик просто отказался строить дайджест. А почему сигналов мало? Потому что я выключил Reddit, свежих данных стало меньше, и поверх этого ещё работал stage filter — фильтр по стадии зрелости темы, который дополнительно отсекал claims. Получилось что фильтр, который раньше был полезен при изобилии данных, в условиях дефицита просто душил всё на корню.

Я сказал убрать этот stage filter из ежедневного дайджеста, и логика была такая: LLM сам выберет из 80 claims лучшие, ему не нужен отдельный stage filter, это избыточная фильтрация. Зачем мне механический фильтр на входе, если у меня на выходе и так стоит языковая модель, которая умеет ранжировать по смыслу? Убрали — и дайджест тут же ушёл нормальный, 25 технических сигналов плюс 2 из Mass.

И ещё одна красота всплыла там же. Я в прошлой сессии добавил подтягивание README для GitHub-репозиториев с 200+ звёздами — чтобы дайджест понимал не только название репо, но и о чём он. И спрашиваю — а где, собственно, эти README, штука где? А их нет. Оказалось, items дедуплицируются по external_id, и репозитории которые попали в базу до деплоя кода с README просто не перезаписывались — система их видела как уже существующие и не трогала. Пришлось гонять разовый backfill: из 10 репозиториев 7 обновились с README, а 3 отвалились — один словил 301 redirect, два отдали 451 unavailable. Тоже жизнь.

Заодно в той же истории дожали ещё одну мелочь: дайджесты иногда резались, потому что Telegram не пускает сообщения длиннее 4096 символов. Сборщик дайджеста научили возвращать не одну простыню, а список кусков, и слать их несколькими сообщениями. Мелочь, а раньше хвост дайджеста просто пропадал.

Кто что здесь делал

Чтобы не было иллюзий: код тут писал не я руками — я этого не умею и не скрываю. Я оркестрировал. Я поймал что данных нет, задавал вопросы где дайджест, почему лимит кончился, а где тот README, и принимал решения — отключить Tech, перевести Mass на раз в три дня, выкинуть stage filter. А Claude Code перепроверял аккаунты Apify, считал экономику прогонов, писал ротацию токенов, делал backfill README и вырубал лишние проверки. Вот так в реальности и выглядит разработка с ИИ для соло-разработчика: голова и решения мои, руки — у агента.

Цифры по этой истории

  • 3 аккаунта Apify × $5 = $15 в месяц теоретического бюджета
  • $5.63 — сколько накопилось на одном аккаунте за сутки
  • ~$0.40–0.50 — цена одного прогона Reddit (20 сабреддитов)
  • ~$4 в месяц — стало после оптимизации (Mass раз в 3 дня, Tech выключен)
  • $45 в месяц — во столько вылилось бы держать все три аккаунта на полной нагрузке
  • 200 звёзд — порог, с которого тянется README репозитория
  • 7 из 10 — сколько репозиториев успешно обновились при backfill
  • 4096 символов — лимит Telegram, из-за которого резались дайджесты

Выводы

Первое и главное: free tier на сервисах с оплатой за запуск — это не подписка с фиксой, это кошелёк который пустеет по нагрузке. Если ваш скрапер ходит часто и берёт много, $5 кончатся за дни, а не за месяц, и количество аккаунтов вас не спасёт — вы просто плодите кошельки. Прежде чем строить автоматизацию на бесплатном тарифе, посчитайте цену одного прогона и умножьте на частоту. Я не посчитал — и поэтому пишу этот пост.

Второе: ротация токенов должна быть везде, а не только там где вы про неё вспомнили. У меня Reddit ходил аккуратно по трём ключам, а SERP молча сосал с одного — и обнулил аккаунт за ночь. Один забытый кусок системы сводит на нет всю экономию в другом.

Третье, и оно поважнее технических деталей: в живой системе каждое действие тянет за собой следующее. Выключил Reddit — развалился дайджест из-за фильтра. Добавил README — а он не подтянулся из-за дедупликации. Это нормально, так и работает любая автоматизация чуть сложнее скрипта, и если кто-то продаёт вам ИИ-автоматизацию как «настроил и забыл» — не смешите меня. Настроил и сел чинить хвосты, вот честная формулировка. Кстати, про то как у меня в другом проекте точно так же дохли аккаунты от нагрузки, я уже писал — MAKO неделя 1: система работает, аккаунты дохнут, история ровно про то же самое, только с другой стороны.

Вот и делайте выводы. Бесплатное считайте перед тем как на нём строить — иначе оно посчитает вас.