xml Выдача Яндекса в формате Yandex Search API (Яндекс.XML)
Возвращает выдачу Яндекса по запросу и региону XML-документом в формате Yandex Search API — так же, как его отдаёт сам Яндекс. Подходит, чтобы подключить готовый парсер Яндекс.XML без своего аккаунта в Yandex Cloud. Метод синхронный: ответ приходит, когда выдача получена.
- Стоимость
- 1 лимит за вызов
- Режим
- синхронный
- Формат ответа
text/xml; ошибки ключа и лимитов — JSON
Выдача по запросу
/api/xml
Параметры передаются в query-строке. Запрос ставится в очередь парсера и ждёт ответа, поэтому вызов длится от нескольких секунд и дольше при загрузке очереди — ставьте таймаут HTTP-клиента с запасом, от минуты.
Параметры query
-
keystring обязательныйКлюч API из настроек аккаунта. -
querystring обязательныйПоисковый запрос, с операторами Яндекса. -
lrintРегион Яндекса. -
pageintНомер страницы выдачи, с нуля. -
groupbystringГруппировка результатов в синтаксисе Яндекс.XML, напримерattr=d.mode=deep.groups-on-page=100.docs-in-group=1. -
is_mobileintМобильная выдача.
Ответ
XML-документ <yandexsearch> как в Yandex Search API: найденные документы — в response/results/grouping/group/doc. Если выдачу получить не удалось, приходит тот же формат с <error code="100500"> — повторите запрос позже; лимит за такой вызов тоже списывается.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
-1 |
Access denied |
Не передан key. Ответ — JSON с HTTP-кодом 200. |
-2 |
Access denied |
Ключ не найден. HTTP-код 200. |
-68 |
Not enough daily limits |
На аккаунте не осталось лимитов. Для тарифов с ограничением по периодам — также -80, -81, -82, -83. |
Отличия от Yandex Search API
Параметры l10n, sortby, filter и maxpassages, которые упоминались в прежней документации, сейчас не применяются: выдача всегда идёт с настройками Яндекса по умолчанию. Различайте ответы по Content-Type: XML — выдача (в том числе с ошибкой Яндекса внутри), JSON — ошибка ключа или лимитов.