break_domain: проверка позиций в разы дешевле

· позиции · экономия

Типовая проверка позиций устроена расточительно. Чтобы узнать, что сайт стоит на седьмом месте, парсер выкупает всю сотню результатов: девяносто три строки уходят в мусор, а деньги за них списаны. Умножьте на тысячу запросов в ежедневном мониторинге, и станет понятно, куда утекает бюджет.

Параметр break_domain решает это в лоб: вы передаёте домен, и как только он встретился в выдаче, парсинг останавливается. Платите только за страницы, которые реально были просмотрены. Работает в /api/yandex, /api/google и /api/bing одинаково.

Откуда берётся переплата

Выдача отдаётся страницами по 10 результатов, страница стоит 0.01 ₽. Когда нужен весь топ-100, скажем для анализа конкурентов, вы честно платите 0.10 ₽ и забираете сотню документов. Вопросов нет.

Но у мониторинга позиций сценарий другой. Из всей сотни вас интересует одна строка: где стоит ваш сайт. При этом большинство отслеживаемых запросов сидит в топ-30, а продвигаемые вообще на первой-второй странице. Получается, что в среднем от 70 до 90% купленных результатов никто даже не читает.

Что делает break_domain

Воркер идёт по выдаче постранично. Забрал первую страницу, проверил, есть ли там ваш домен. Если есть, всё: ответ отдан, списана одна страница. Если нет, идёт дальше, и так до потолка, который вы задали параметром pages.

Сколько это в деньгах, проще показать таблицей. Сценарий: проверяем топ-100, то есть pages=10.

Позиция сайта Просмотрено страниц С break_domain Без него
3 1 0.01 ₽ 0.10 ₽
14 2 0.02 ₽ 0.10 ₽
47 5 0.05 ₽ 0.10 ₽
нет в топ-100 10 0.10 ₽ 0.10 ₽

Худший случай: сайт не найден, тогда цена совпадает с обычной. Во всех остальных вы платите меньше, и чем лучше позиции, тем заметнее разница. Для семантики, где ядро в основном в топ-20, счёт за мониторинг падает в четыре-пять раз.

Как это выглядит в запросе

Один дополнительный параметр, больше ничего менять не надо:

https://jsonseo.ru/api/yandex?key=ВАШ_КЛЮЧ&text=купить+ноутбук&lr=213&pages=10&break_domain=example.com

В ответе будут все результаты с просмотренных страниц, включая тот, ради которого запускалась проверка. Позицию считаете по порядковому номеру. Домен сравнивается без учёта www, так что example.com поймает и www.example.com.

Регион задаётся как обычно: lr=213 для Москвы, 2 для Санкт-Петербурга, 54 для Екатеринбурга. Как снимать позиции сразу по нескольким городам, разбирали в отдельной статье.

В Google то же самое, только параметры свои:

https://jsonseo.ru/api/google?key=ВАШ_КЛЮЧ&q=купить+ноутбук&pages=10&break_domain=example.com

Логика идентичная: воркер листает выдачу, пока не наткнётся на домен или не упрётся в лимит страниц. Bing работает по тому же принципу через /api/bing.

Обратите внимание на pages: это потолок расхода на запрос. Если проверяете только топ-30, ставьте pages=3, и даже при полном отсутствии сайта в выдаче запрос обойдётся максимум в 0.03 ₽.

Позиции через MCP

Тот же механизм встроен в наш MCP-сервер. Инструменты yandex_position, google_position и bing_position принимают запрос и домен, а возвращают только номер позиции, без простыни из ста результатов, которая забивает контекст модели. Внутри они работают через тот же break_domain, так что экономия та же.

Практический сценарий с Claude Code («проверь позиции сайта по этим двадцати запросам и сведи в таблицу») описан в статье про проверку позиций через Claude Code.

Когда break_domain не нужен

Если вы собираете выдачу целиком (парсите заголовки конкурентов, считаете, сколько агрегаторов в топе, строите отчёт по видимости всех сайтов ниши), параметр только помешает: парсинг оборвётся на первом вхождении домена, а вам нужны все страницы. Для таких задач просто не передавайте его.

И ещё нюанс: break_domain останавливает поиск на первом совпадении. Если сайт встречается в выдаче дважды, второе вхождение в ответ не попадёт. Для проверки позиций это ровно то, что нужно, а вот для анализа уже нет.

Попробовать на своих запросах

Прикинем месяц мониторинга. Ядро на 500 запросов, съём раз в день, глубина до топ-100. Без break_domain это 500 × 10 страниц × 30 дней = 150 000 страниц, или 1500 ₽. Если ядро в среднем сидит в топ-20, с break_domain уйдёт около 30 000 страниц, примерно 300 ₽. Одна и та же задача, разница в пять раз, и никакой магии: вы просто перестали покупать страницы, которые не читаете.

При регистрации на баланс падают 10 ₽, это тысяча страниц выдачи. Если сайт в среднем в топ-20, одна проверка позиции съедает две страницы, то есть бесплатных запросов хватит примерно на 500 проверок. Достаточно, чтобы прогнать заметный кусок ядра и сравнить цифры с текущим сервисом. Ключ лежит в личном кабинете, а если вы переезжаете с XMLRiver или XMLStock, посмотрите инструкцию по переезду, там есть таблица соответствия параметров.


Читайте дальше