О SEOMasters.dev
Мы продаём данные о ссылках тем, кто предпочитает написать несколько строк кода, чем кликать по интерфейсу. На этой странице объясняется, что это значит.

Что мы делаем
SEOMasters.dev предлагает REST API и бесплатный онлайн-обзор для бэклинков, ссылающихся доменов, якорного текста, топ-страниц и Domain Rating в диапазоне 0-100. Ответы приходят в формате JSON.
Данные собираются нашим собственным краулером и нашим собственным индексом ссылок, охватывающим 181,132,097 доменов и около 798,5 миллиарда бэклинков. Мы обновляем их примерно раз в месяц, и указываем это на каждой странице, где показаны цифры.
Воспринимайте это как центр SEO-инструментов для разработчиков: набор эндпоинтов, а не консоль. На странице бюджета кредитов показано, сколько стоит один вызов.
Времени в обрез? Прочитайте следующие два раздела и пропустите остальное.
Чем мы не являемся
Не трекер позиций
Мы не отслеживаем позиции ключевых слов или объёмы поискового трафика. Этим занимаются Ahrefs и Semrush, и делают это хорошо.
Не живой поток данных
Ссылка, размещённая на прошлой неделе, может ещё не быть в индексе. Планируйте работу с учётом ежемесячного обновления.
Не гарантия ранжирования
Данные о ссылках описывают профиль. Они не гарантируют ничего о том, где страница появится в Google.

Что содержит индекс
181,132,097 доменов, 2,774,625,913 ссылок между доменами и около 798,5 миллиарда бэклинков. Это цифры, которые у нас есть, и они описывают наш индекс, а не весь веб.
Каждая цифра обновляется примерно раз в месяц. Сайт, запущенный вчера, не попадёт в индекс, а удалённая вчера ссылка может там остаться.
Это важно для того, что вы строите. Продукт мониторинга, обещающий оповещения в режиме реального времени, — не лучшее использование. Продукт отчётности, объясняющий изменения за месяц, — правильный вариант, и его дешевле поддерживать.
Кредиты предоплачиваются, 1 кредит равен $0.0001, подписки нет. Биллинг подробно описан на странице бюджета.
Как устроен продукт
Эта часть короткая намеренно. Центр SEO-инструментов для разработчиков должен ощущаться как один адрес и несколько действий, а не панель управления с меню.
Один адрес, один параметр действия
Каждый вызов идёт по одному адресу и указывает свою задачу в параметре action. Домен, который нужно проверить, передаётся в q. Инструмент, построенный на этом, нуждается в одной функции запроса, а не в клиентской библиотеке для каждого эндпоинта.
Ответы приходят в JSON с флагом ok, так что ваш код может проверить одно поле, прежде чем читать что-либо ещё. Аутентифицированные ответы добавляют _credits, который указывает стоимость вызова и остаток.
Обычный HTTP, не нужно обновлять SDK
Мы не публикуем SDK. Любой язык с HTTP-клиентом может вызывать API, и руководства на этом сайте используют curl, Python и TypeScript именно по этой причине. Зависимость, которую вы никогда не устанавливаете, не сломается при обновлении.
Компромисс в том, что вы пишете слой запросов самостоятельно. Большинство команд пишут его один раз, держат его небольшим и переиспользуют, что окупается со временем.
Быстрый способ проверить, что ваш клиент работает правильно: сравните один ответ от бесплатного вызова overview с тем же вызовом, сделанным в curl. Если ключи и значения совпадают, клиент в порядке, и любая последующая ошибка находится в вашем коде.
Ключи остаются на вашей стороне
Ключ работает как пароль к базе данных. Он выдаётся на странице аккаунта после входа через Google, и его нужно хранить в переменной окружения на вашем сервере, никогда не в браузере.
Если посетителям нужно видеть цифры, поставьте тонкий прокси перед API. Руководство по прокси пошагово показывает, как его создать, с allow-list и ежедневным кэшем.
Считайте ключ, вставленный в чат или тикет, раскрытым. Предполагайте, что кто-то другой может его прочитать, и проверьте, для чего он использовался, прежде чем принимать другие решения.
Сколько будет стоить уход
Никто не планирует уходить из источника данных в первый день. Тем не менее, разумная команда проверяет возможность выхода до проверки цены.
Почему выход прост
Предположим, вы построили клиентский отчёт на этом API и хотите другой источник через два года. Вызовы к нам находятся в одной функции запроса, а всё остальное в вашем приложении читает ваши собственные таблицы.
Сырой ответ, который вы сохранили, остаётся в вашей собственной базе данных. Старые цифры не исчезнут, потому что вы перестали делать вызовы, и история, которую вы построили, всё ещё отвечает на вопросы.
Настоящая цена перехода
Большая часть счёта — это время разработчиков: сопоставление новых имён полей, повторный запуск истории и проверка, что линии тренда совпадают. Два индекса не будут совпадать цифра в цифру, поэтому планируйте короткий период перекрытия, когда работают оба источника.
API, продаваемый в рамках подписки, привязывает ваши расходы к дате продления. Предоплаченные кредиты не имеют такой даты, поэтому переход никогда не задерживается контрактом, который действует дольше.
Кто пишет этот сайт
Страницы написаны редакцией SEOMasters.dev. Мы не публикуем личные подписи или отзывы, и здесь нет историй клиентов.
Примеры помечены как примеры. Цены и лимиты взяты из самого продукта; если вы заметили несоответствие, сообщите нам через страницу аккаунта.
Начните со скрипта массового DR, если хотите увидеть продукт в деле.
Примеры и утверждения разделены
Примеры на этом сайте гипотетические, и каждый из них указывает на это в первом предложении. Утверждения о продукте взяты из самого продукта: его лимитов, цен и размера индекса.
Если пример и утверждение кажутся противоречащими друг другу, доверяйте утверждению и перечитайте пример. Проверка лучше, чем вера в красивую историю, и это относится к нашим собственным страницам тоже.

Как нам хотелось бы, чтобы вы оценивали цифры
Начните с домена, который вы хорошо знаете. Сделайте вызов overview, который бесплатный, и посмотрите, выглядит ли количество ссылающихся доменов правдоподобно для вас.
Затем сравните с другим инструментом по направлению, а не по цифрам. Разные краулеры видят разные срезы веба, поэтому два честных индекса могут расходиться, и оба быть полезными.
Наша формула DR публична: round(100 log(ref_domains + 1) / log(2 10^7)). Вы можете пересчитать её в таблице, что является лучшей защитой от оценки, которую вы не можете объяснить.
Прочитайте справочник по DR, прежде чем показывать его клиенту.
Несколько клиентов за одним дашбордом
Продукт, обслуживающий многих клиентов, поднимает вопрос, на который API не может ответить за вас: какой клиент владеет каким доменом.
Храните связь между арендатором и доменом в своей схеме
API не знает ваших клиентов, и не должен. Сохраните связь между арендатором и доменом в своих таблицах, и сделайте так, чтобы каждый вызов отвечал на один вопрос: как выглядит этот домен?
Представьте агентство, которое управляет несколькими сотнями сайтов клиентов из одного дашборда. Каждая строка клиента указывает на строку домена, и вызову нужна только эта строка.
Разделяйте журнал расходов по арендаторам на вашей стороне
Каждый аутентифицированный ответ содержит _credits, поэтому журнал по вызовам можно сгруппировать по арендаторам в вашей собственной базе данных. Это даёт вам счёт для каждого клиента, и группировка — ваши данные для обработки.
Начинайте с первого дня. Вопрос о стоимости, заданный через шесть месяцев, требует гораздо больше времени для ответа, чем тот же вопрос, зафиксированный в начале.
Ограничьте количество вызовов до того, как они покинут ваш сервер
Клиент, обновляющий страницу пятьдесят раз, не должен стоить вам пятьдесят upstream-вызовов. Кэшируйте бесплатные действия и ограничивайте платные на арендатора в вашем собственном коде до отправки запроса.
Показывайте лимит клиенту как явное ограничение, с временем сброса, которое вы можете указать, а не как тихую ошибку. Видимый лимит объясняет себя сам, а тихий генерирует вопросы в поддержку.
Ограничения, которые мы публикуем, и что они значат
Каждое ограничение ниже взято из самого продукта. Читайте их как входные параметры дизайна, потому что каждое из них меняет то, как инструмент должен пагинировать, кэшировать или выставлять счета.
До 1,000 строк, один заряд за вызов
Вызов возвращает до 1,000 строк, и он оплачивается один раз, независимо от того, сколько из них возвращается. Размер страницы устанавливается с помощью per, и стоимость остаётся одинаковой при любом размере до этого предела.
Так что страница из 1,000 строк и страница из 100 стоят одинаково. Читайте большими страницами, где можете, потому что фиксированная цена за вызов вознаграждает меньшим количеством вызовов.
Потолок в 50,000 строк для глубокой пагинации
Глубокая пагинация останавливается на 50,000 строках для одного запроса. Дальше вам нужен более узкий вопрос, такой как другой порядок сортировки или другое действие.
Руководство по пагинации содержит цикл, который останавливается на пределе, на короткой странице или при любой ошибке.
Ежемесячный индекс и явная метка
Индекс перестраивается примерно раз в месяц. Недавние ссылки могут ещё не появиться, а сайт, запущенный на прошлой неделе, может отсутствовать совсем.
Страницы, показывающие цифры, указывают на это, так что посетитель никогда не читает цифру как живую. Стройте свои экраны так же и показывайте возраст индекса рядом с каждой цифрой.
С чего начать разработчику
Войдите через Google и скопируйте свой ключ со страницы аккаунта. Стартовый кредит в $100 равен 1,000,000 кредитам и не требует карты.
Далее выберите руководство, соответствующее вашему стеку. Пакетные задания на Python идут со скриптом массового DR, дашборд на Next.js — с руководством по прокси, а всё, что работает некорректно, — с таблицей ошибок.
Если вам нужны объёмы ключевых слов, отслеживание SERP или оповещение о ссылке утром после её появления, используйте для этого Ahrefs или Semrush. Два подхода хорошо сочетаются.