• 18 руб за 1K Яндекс Search Api
  • от 10 руб за 1K Яндекс Live
  • от 10 руб за 1K Google XML
Войти Регистрация

Яндекс XML. Руководство разработчика

Яндекс XML - Порядок подключения

1. Для начала необходимо определиться с тарифным планом. По умолчанию установлен тарифный план "Базовый" с оплатой за каждый запрос. Стоимость запросов данного инструмента одинакова на всех тарифных планах.

2. В разделе Настроек укажите необходимые параметры поиска по умолчанию. Обратите внимание на то, что в зависимости от настроек региональности - позиции сайтов могут значительно меняться. Почти все параметры из настроек можно передавать в URL для совершения запросов, тогда они имеют приоритет над настройками по умолчанию.

3. Для совершения запросов и получения результатов поиска в формате XML, используйте свой уникальный URL

&user=[id] - ваш ID в системе
&key=[key] - ваш уникальный ключ
При необходимости ключ можно поменять в любой момент.

4. Скопируйте URL для запросов в любую программу, которая поддерживает наш сервис для ЯндексXML (SearchAPI). (Topsite, Key Collector 4, Site-Control и другие). Более подробная инструкция есть на странице Настройка программ.

5. Получение результатов поиска в формате JSON или HTML недоступно в данном инструменте.

6. Со статистикой совершения запросов можно ознакомиться на странице "Статистика запросов".

Рекомендуемые настройки скорости парсинга

Чтобы избежать ошибок, связанных с излишней нагрузкой на сервис Яндекс XML, мы рекомендуем собирать результаты не более чем в 50 одновременных потоков и отправлять следующий запрос сразу после получения результата на предыдущий. Если такая реализаия не представляется возможной, то нужно слать не более 100 запросов каждую секунду.

Не рекомендуем слать запросы большими пакетами, выдерживая интервал времени. Например одномоментно отправлять пакет из 1000 запросов. Часть из этих запросов обработаются, часть встанет в очередь на обработку, а остальные отсекутся. В результате чего вы создадите излишнюю нагрузку на сервер, а скорость парсинга будет значительно ниже, по сравнению с тем, если бы вы распределяли запросы равномерно.

Если вам необходимо собрать большой объем данных и требуется заведомо большее количество потоков, рекомендуем сначала написать в нашу техподдержку, мы сориентируем и подскажем как лучше сделать.

© 2013-2025 "XMLStock"
XML запросы к Яндекс Search Api и Google XML Search.
^
^

Яндекс 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>