Скорость ответов на запросы у Yandex Search API составляет менее 1 секунды. У сервиса практически нет ограничений по количеству запросов в сутки или в месяц. Подробнее о квотах и лимитах вы можете узнать в документации.
![](https://storage.yandexcloud.net/cloud-www-assets/blog-assets/ru/posts/2022/covers/cover-10.png)
Как начать пользоваться Yandex Search API
Yandex Search API — сервис для отправки запросов к поисковой базе Яндекса и получения ответов в формате XML. Сервис поможет разработать поиск по сайту, группе сайтов или всей сети. Рассказываем о Yandex Search API и делимся инструкцией по миграции.
Сервис Yandex Search API предоставляет доступ к трём типам поиска: российскому, турецкому и мировому. От типа зависит формула ранжирования и поисковая база — набор документов, по которому выполняется поиск.
С 1 октября подключение Yandex Search API доступно для всех пользователей Yandex Cloud, на сервис действуют тарифы и SLA (Соглашение об уровне обслуживания). Цены можно посмотреть в документации сервиса или в консоли: зайдите в ваш платёжный аккаунт и выберите раздел Ценообразование.
Как начать пользоваться Yandex Search API
Шаг 1. Регистрация
Перед началом работы войдите или зарегистрируйтесь в Yandex Cloud, создайте платёжный и сервисный аккаунты.
Далее нужно зарегистрироваться в Yandex Search API. В консоли управления выберите каталог, в котором вы будете работать с Yandex Search API, или создайте новый. Перейдите в сервис, выберите Тип поиска и задайте как минимум один IP‑адрес, с которого вы будете отправлять запросы к поисковой базе Яндекса. Подробнее читайте в документации.
Шаг 2. Запросите квоту
В Yandex Search API вы можете установить определённое количество запросов в сутки. Запросите необходимую квоту в Yandex Search API: нажмите кнопку Увеличить квоту и укажите необходимое число запросов в день. Дождитесь момента, когда выбранное значение запросов в сутки появится в интерфейсе сервиса. Увеличение квоты распространяется только на каталог, а не на облако в целом.
![](https://storage.yandexcloud.net/cloud-www-assets/blog-assets/ru/posts/2023/10/search-api-ga-pic-1.png)
Запрос квоты в Yandex Search API: нажмите кнопку Увеличить квоту
Шаг 3. Создайте сервисный аккаунт и выдайте ему роль executor
Для работы с Yandex Search API назначьте роль search-api.executor сервисному аккаунту, чтобы он мог отправлять запросы. Также создайте API‑ключ для аутентификации в сервисе.
Шаг 4. Измените запросы к сервису
В Yandex Search API следует использовать формат запросов вида https://yandex.com/search/xml?folderid=<ХХХ>&apikey=<ХХХ>&query=<search_query_text>
, где folderid
— ваш облачный ID каталога, а apikey
— API‑ключ сервисного аккаунта (API‑ключ отображается только один раз — при создании, не забудьте сразу сохранить его).
Шаг 5. Создайте тестовый запрос
Отправьте тестовые запросы в ваш инстанс Yandex Search API с помощью раздела Тестирование запросов в левом вертикальном меню консоли управления. При тестировании значение параметра query
фиксированное — 'yandex', а дополнительная аутентификация не требуется.
![](https://storage.yandexcloud.net/cloud-www-assets/blog-assets/ru/posts/2023/10/search-api-ga-pic-2.png)
Создание тестового запроса в Yandex Search API
Далее протестируйте ваши запросы с заданных IP‑адресов. Например, с помощью команды CURL или из программной среды. Параметры запросов доступны в документации. После протестируйте сервис под полной нагрузкой в соответствии с квотами. В сервисе используется 49 квот, включая основную, — количество запросов в сутки, 24 часовые квоты и 24 посекундные квоты. Последние 48 квот рассчитываются по формулам, которые доступны в документации.
Теперь сервис Yandex Search API готов к работе. После переключения сообщите вашему аккаунт‑менеджеру или в техническую поддержку Yandex Cloud, что вы успешно используете Yandex Search API, и учётные записи в Яндекс XML можно выключать.
Также вы можете:
-
узнать больше об особенностях аутентификации в Yandex Cloud и настроить отправку запросов;
-
настроить обработку ответа с учётом формата ответа;
-
посмотреть информацию о часовых ограничениях на ближайшие сутки.