Сначала проверьте обратную ссылку бесплатно, затем потратьте $100 по назначению
Четыре действия ничего не стоят. Стартовый баланс составляет 1 000 000 кредитов. Эти бюджеты показывают, на что их хватает для типовых проектов разработчиков.

Прайс-лист в одном месте
Предоплата, без подписки, без ежемесячного минимума. Один кредит стоит $0,0001.
Строки с ссылками
2 кредита
refdomains,backlinks,anchorstoppages,anchor_cloudintersectдля 2–10 доменов
Три бюджета, все гипотетические
Это примеры планирования, а не отчеты с реальных аккаунтов. Измените объемы, и арифметика останется верной, поэтому подставьте свои данные.
Бюджет А: публичный виджет
Бесплатный проверщик DR на вашем блоге использует domain, что стоит 0 кредитов. Десять тысяч запросов в месяц бесплатны в API, и единственный счет, который вы получите, — за хостинг, который не относится к нам. Инструмент проверки обратной ссылки бесплатно на блоге — это тот же вызов, сделанный со страницы, которую видит посетитель.
Кэшируйте бесплатные вызовы на день, как рекомендует руководство Next.js. Виджет, который получает тысячу запросов из одного популярного поста, делает один внешний вызов на домен в день, что упрощает арифметику и ускоряет страницу.
Счет, который имеет значение для виджета, — это его хостинг и обработка трафика, поэтому оценивайте их в первую очередь, а API считайте мелкой статьей расходов.
Бюджет Б: отчет агентства
Ежемесячно, 300 доменов клиентов, по одному вызову refdomains для каждого по 2 кредита. Это 600 кредитов в месяц и 7200 в год, или $0,72. Небольшая сумма. Баланс в $100 покрыл бы примерно 139 лет при такой ставке, так что хранение данных и ваше время доминируют, а не API.
Расписание — это рычаг здесь. Запуск тех же 300 доменов еженедельно вместо ежемесячного означает примерно в четыре раза больше запусков, и поскольку индекс обновляется примерно раз в месяц, большинство еженедельных ответов повторяют предыдущие.
Бюджет В: полный экспорт
Один домен, 50 вызовов по 1000 строк для достижения лимита в 50 000, по 2 кредита каждый: 100 кредитов, или один цент. Повторите для 1000 доменов, и вы потратите 100 000 кредитов, что составляет $10 из $100 и десятую часть баланса.
Стоимость кредитов мала, но сохраненные строки — нет. Запланируйте дисковое пространство для них так же, как вы планируете кредиты, и сохраняйте только столбцы, которые читают ваши отчеты.
Если экспорт нужно повторять каждый месяц, ежемесячная сумма — это та, которую следует указать в бюджете, а не разовая общая сумма.
Что упущено в бюджетах
Обратите внимание, чего не хватает: ежемесячного плана. Нет подписки, которую нужно продлевать, вы платите за вызовы, а не за места. Дешево. Каждый бюджет опирается на один и тот же факт. Скрипт массового обновления и заметки о пагинации показывают код, стоящий за этими счетами вызовов.
Бюджет, игнорирующий время, неполон, поэтому следующий раздел добавляет расходы, которые не входят в прайс-лист.
Еще одна строка должна быть в каждом бюджете: стоимость повторного запуска неудачного задания. Если запуск останавливается и перезапускается с начала, платные вызовы повторяются, поэтому логика возобновления — тоже статья бюджета.
Те же деньги, другой вендор
| API SEOMasters.dev | API Ahrefs (как указано) | |
|---|---|---|
| Точка входа | $0, затем предоплаченный кредит | От $129 в месяц |
| Лимит | 1 000 000 кредитов бесплатно при регистрации | 200 000 единиц в месяц |
| Минимум на запрос | Нет; бесплатные действия стоят 0 | Не менее 50 единиц |
| Большинство запросов в месяц при этом минимуме | Не применимо | 4,000 |
| Ключевые слова, отслеживание позиций, ежедневный обход | Не предлагается | Да, и Semrush также их предлагает |

Что не включает бюджет
Строка API — самая маленькая статья расходов в большинстве проектов. Три другие стоимости обычно важнее, и страница бюджета должна их называть.
Хостинг и хранение
Ваш сервер, база данных и хостинг cron-задач выставляются отдельно, и вместе они могут стоить дороже самих вызовов. Представьте ночную задачу на маленьком VPS: VPS — это строка, на которую нужно смотреть, а не вызовы.
Сырая таблица сохраненных ответов также занимает дисковое пространство. Оцените ее рост на основе одной сохраненной партии, умноженной на количество запланированных запусков.
Оцените стоимость задачи перед выбором хостинга. Cron-задача, которая запускается раз в месяц, требует гораздо меньше ресурсов, чем воркер, который работает весь день, и эта разница часто определяет бюджет.
Логи — тоже расходы. Строка на вызов, сохраняемая в течение года, накапливается на загруженной задаче, поэтому решите период хранения намеренно, а не по умолчанию.
Переезд через два года
Заложите в бюджет выход, а не только старт. Если через два года появится редизайн или новый вендор, работа — это слой выборки и маппинг полей, а скрипт массового обновления сохраняет сырые тела, что упрощает этот маппинг.
Храните старые ответы столько, сколько важна для вас история, поскольку они — единственная запись чисел, которые использовали ваши отчеты.
Записать выход сейчас стоит час. Выяснить через два года, что сырые тела не сохранялись, стоит перестройки истории.
Сохраните краткое описание каждого поля, которое вы читаете, в той же папке, что и сырые тела. Это описание позволит будущей команде сопоставить историю без догадок.
Ваше собственное время на слое выборки
Слой выборки, повторные попытки и белый список занимают полдня на написание и больше времени на тестирование. Оцените это время, прежде чем решать, что бесплатный инструмент действительно бесплатный.
Это статья, которую большинство бюджетов упускают, и она обычно самая крупная после хостинга. Запишите ее все равно, чтобы сравнение было честным.
Хороший тест — время, которое требуется новому разработчику, чтобы сделать один вызов с нуля. Если это занимает день, слой выборки — это реальная стоимость проекта, а не кредиты.
Укажите приблизительную почасовую ставку рядом с этим временем, даже если это предположение. Записанное предположение легче оспорить, чем стоимость, которая вообще не появляется в таблице.
Проверка арифметики перед доверием ей
Бюджет хорош настолько, насколько хороша его арифметика. Две проверки ловят большинство ошибок до запланированного запуска.
Начните с цены за кредит
Один кредит стоит $0,0001. Это делает 10 000 кредитов равными $1, а полный стартовый баланс в 1 000 000 кредитов — $100, что является единственной конверсией, нужной для планирования.
Запишите конверсию один раз, в ячейке или константе, и используйте ее повторно. Перепечатывание ее в трех местах — это то, как таблица заканчивается тремя разными ценами.
Держите таблицу в кредитах до последней строки. Ранняя конвертация и последующее умножение — обычное место, где незаметно проскакивает порядок величин.
Планировочная таблица с колонкой валюты провоцирует округление. Держите колонку кредитов рядом с долларовой колонкой и пусть доллары будут производной величиной.
Проверьте один вызов против баланса
Сделайте один платный вызов, прочитайте _credits до и после, и проверьте, что падение равно цене действия. Вызов refdomains должен изменить баланс на 2 кредита, а вызов search — на 3.
Если падение отличается, остановитесь перед запланированным запуском, который умножит несоответствие. Тестовый вызов стоит доли цента, что делает его самой дешевой проверкой во всем бюджете.
Запишите тест в тот же лог, что и запуски. Через месяц строка теста покажет, сколько стоило каждое действие, когда таблица была написана, что полезно, если прайс-лист изменится.
Проверьте баланс на странице своего аккаунта также. Два числа должны совпадать, а расхождение стоит кратко задокументировать в руководстве по запуску.
Установка ежемесячного бюджета в коде
- 1
Посчитайте платные вызовы
Посчитайте свои платные вызовы за запуск и умножьте на количество запусков в месяц. Запишите итог в файле конфигурации рядом с кодом.
- 2
Конвертируйте вызовы в кредиты
Умножьте на стоимость кредита из прайс-листа: 1 для
bulk_dr, 2 дляrefdomains, 3 дляsearch. Результат — ежемесячное списание в кредитах. - 3
Установите уровень предупреждения
Выберите баланс, который должен отправить сообщение тому, кто пополняет. Сравните его со значением
_creditsиз последнего ответа. - 4
Обзор через месяц
Сравните фактическое списание с оценкой. Разрыв обычно означает цикл, повторную попытку или действие, которое вы не ожидали запускать.

Где мы бы это разместили
Тратьте на ежемесячные глубокие выборки, остальное держите бесплатным
Поскольку индекс обновляется примерно раз в месяц, все, что чаще ежемесячного, повторяет вчерашний ответ. Запланируйте платные выборки ежемесячно и пусть четыре действия без ключа покрывают ежедневные запросы.
- Кэшируйте бесплатные вызовы на день
- Внесите платные действия в белый список в коде
- Логгируйте
_creditsпосле каждого вызова - Пополняйте только в USDT (TRC-20), когда баланс того стоит
Вопросы о деньгах
- Истекает ли $100?
- Материалы, которые мы храним для этого сайта, не указывают срок истечения, поэтому мы его не заявляем. Проверьте страницу аккаунта, которая показывает ваш баланс и активность, прежде чем планировать долгосрочную задачу.
- Нужна ли карта для старта?
- Нет. Войдите с аккаунтом Google, и кредит в $100 будет добавлен без карты. Последующие пополнения осуществляются в USDT в сети TRC-20 со страницы аккаунта.