Яндекс XML. Руководство разработчика
Яндекс XML - параметры, передаваемые в GET и POST-запросах
Если вы передаете параметры через GET или POST-запрос, то они имеют приоритет над настройками по умолчанию в личном кабинете. Если какой-либо из параметров не передается, то его значение берется из настроек по умолчанию.
https://xmlstock.com/yandex/xml/
? [user=<ID пользователя>]
& [key=<API-ключ>]
& [query=<текст поискового запроса>]
& [lr=<идентификатор региона поиска>]
& [l10n=<язык уведомлений>]
& [sortby=<тип сортировки>]
& [filter=<тип фильтрации>]
& [maxpassages=<количество пассажей>]
& [groupby=<параметры группировки результатов>]
& [page=<номер страницы>]
& [domain=<доменная зона>]
& [device=<устройство>]
Перечень доступных параметров и их описание
Параметр | Обязательно | Описание и допустимые значения |
---|---|---|
&user= | да | Ваш уникальный ID пользователя |
&key= | да | Ваш уникальный API-ключ, выданный при регистрации Можно поменять в любой момент |
&query= | да |
Текст поискового запроса &query=окна - результаты поисковой выдачи &query=site:https://domain.com - результаты поиска для определенного домена Максимальная длина запроса — 40 слов и 400 символов. |
&lr= | нет | Идентификатор страны, области или города, из которого осуществляется поиск. Определяет правила ранжирования сайтов для выбранного региона: - Cписок идентификаторов часто используемых стран и регионов Яндекса (Посмотреть) - Список идентификаторов всех регионов Яндекса (Скачать .csv файл). Также значение для параметра &lr можно увидеть, начав вводить необходимый регион или город в форме настроек "Региональность поиска". |
&l10n= | нет | Определяет язык уведомлений поискового ответа (ru, uk, be, kk, tr, en). Влияет на текст, передаваемый в теге found-docs-human и в сообщениях об ошибках. Если не указано, по умолчанию ru |
&sortby= | нет | Правило сортировки результатов поиска, которое определяет порядок выдачи результатов. Для получения выдачи по умолчанию данный параметр можно не передавать. Возможные значения: rlv — по релевантности (значение по умолчанию); tm — по времени изменения документа. При сортировке по времени изменения параметр может содержать атрибут order — порядок сортировки документов: descending — прямой — от наиболее свежего к наиболее старому (значение по умолчанию). ascending — обратный — от наиболее старого к наиболее свежему. Формат: sortby=<тип_сортировки>.order%3D<порядок_сортировки>. Например, для обратной сортировки по дате необходимо использовать следующую конструкцию: sortby=tm.order%3Dascending. |
&filter= | нет | Правило фильтрации результатов поиска. Определяет, исключать ли из результатов поиска какие-либо документы. Возможные значения: moderate — умеренный фильтр (значение по умолчанию). Из выдачи исключаются документы, относящиеся к категории "для взрослых", если запрос явно не направлен на поиск подобных ресурсов. none — фильтрация отключена. В выдачу включаются любые документы вне зависимости от содержимого. strict — семейный фильтр. Вне зависимости от поискового запроса из выдачи исключаются документы, относящиеся к категории "для взрослых", а также содержащие ненормативную лексику. |
&maxpassages= | нет | Определяет максимальное количество пассажей, которое может быть использовано при формировании сниппета к документу. Допустимы значения от 1 до 5. Результат поиска может содержать меньшее количество пассажей, чем значение, указанное в данном параметре. По умолчанию для каждого документа возвращается не более четырех пассажей с текстом запроса. |
&groupby= | нет |
Простой вариант: Количество результатов выдачи на одной странице поиска. Допустимые значения: 10,20,30,40,50,60,70,80,90,100 Пример: &groupby=100 - Получение выдачи ТОП-100 Вариант для продвинутых пользователей: Объединяет правила группировки результатов. Группировка используются для объединения документов одного домена в контейнер. В рамках контейнера документы ранжируются по правилам сортировки, определенным в поле sortby. Результаты, переданные в контейнере, могут быть использованы для включения в поисковую выдачу нескольких документов одного домена. Формат: attr=<служебный_атрибут>.mode=<тип_группировки>.groups-on-page=<количество_групп_на_одной_странице>.docs-in-group=<количество_документов_в_каждой_группе> mode — метод группировки. Возможные значения: - flat — плоская группировка. Каждая группа содержит один документ. Передается с пустым значением параметра attr. - deep — группировка по доменам (по умолчанию). Каждая группа содержит документы одного домена. Передается со значением d параметра attr. attr — служебный атрибут. Зависит от значения атрибута mode. groups-on-page — максимальное количество групп, которые могут быть возвращены на одной странице результатов поиска. Допустимые значения — от 1 до 100. docs-in-group — максимальное количество документов, которые могут быть возвращены в одной группе. Допустимые значения — от 1 до 3. Пример группировки результатов по домену (100 результатов на страницу). Каждая группа содержит документы одного домена: attr=d.mode=deep.groups-on-page=100.docs-in-group=1 |
&page= | нет | Номер запрашиваемой страницы поисковой выдачи. Нумерация начинается с нуля (первой странице соответствует значение «0»). Если параметр не задан, возвращается первая страница поисковой выдачи. |
&domain= | нет | Доменная зона Яндекс, по которой производится поиск (ru, by, kz, com, com.tr). Если не указано, по умолчанию ru |
&device= | нет | С какого устройства осуществляется поиск: desktop, mobile, tablet, iphone, android. По умолчанию используется десктоп выдача |
Параметры, передаваемые в POST-запросе
Параметры поиска можно также передавать в сервис в виде HTTP-запроса методом POST. В этом случае часть параметров передается в URL, а часть в теле POST-запроса.
https://xmlstock.com/yandex/xml/
? [user=<ID пользователя>]
& [key=<API-ключ>]
& [lr=<идентификатор региона поиска>]
& [l10n=<язык уведомлений>]
& [filter=<тип фильтрации>]
& [domain=<доменная зона>]
& [device=<устройство>]
Формат тела POST-запроса:
<?xml version="1.0" encoding="UTF-8"?>
<request>
<!--Группирующий тег-->
<query>
<!--Текст поискового запроса-->
</query>
<sortby order="<!--порядок сортировки документов-->">
<!--Тип сортировки результатов поиска-->
</sortby>
<groupings>
<!--Параметры группировки в дочерних тегах-->
<groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="1" />
</groupings>
<maxpassages>
<!--максимальное количество пассажей-->
</maxpassages>
<page>
<!--Номер запрашиваемой страницы результатов поиска-->
</page>
</request>
Пример POST-запроса
Приведенное ниже тело запроса возвращает третью страницу результатов поиска по запросу "Окна". Результаты сортируются по времени редактирования документа в порядке от наиболее свежего к наиболее старому. Результаты группируются по домену. Каждая группа содержит три документа, а количество групп, возвращаемых на одной странице, равно десяти. Максимальное количество пассажей на один документ - два.
<?xml version="1.0" encoding="UTF-8"?>
<request>
<query>Окна</query>
<sortby order="descending">tm</sortby>
<maxpassages>2</maxpassages>
<page>2</page>
<groupings>
<groupby attr="d" mode="deep" groups-on-page="10" docs-in-group="3" />
</groupings>
</request>