Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Search API
  • Начало работы
    • Все инструкции
    • Текстовый поиск в синхронном режиме
    • Текстовый поиск в отложенном режиме
    • Поиск изображений по текстовому описанию
    • Поиск изображений по изображению
    • Мобильная выдача
  • Управление доступом
  • Правила тарификации
  • Аудитные логи Audit Trails
  • История изменений

В этой статье:

  • Перед началом работы
  • Подготовьте облако к работе
  • Выполните поисковый запрос
  1. Пошаговые инструкции
  2. Текстовый поиск в синхронном режиме

Выполнение текстовых поисковых запросов в синхронном режиме

Статья создана
Yandex Cloud
Улучшена
magician-neko
Обновлена 12 ноября 2025 г.
  • Перед началом работы
    • Подготовьте облако к работе
  • Выполните поисковый запрос

Сервис Yandex Search API позволяет выполнять текстовый поиск в поисковой базе Яндекса и получать результат поиска в формате XML или HTML в синхронном режиме. Выполнять запросы можно с помощью Yandex Cloud ML SDK, REST API и gRPC API. Поисковая выдача зависит от заданных в запросе параметров.

Перед началом работыПеред началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Подготовьте облако к работеПодготовьте облако к работе

Чтобы воспользоваться примерами:

SDK
REST API
gRPC API
  1. Создайте сервисный аккаунт и назначьте ему роль search-api.webSearch.user.
  2. Получите и сохраните API-ключ сервисного аккаунта, указав для него область действия yc.search-api.execute.

    В примерах используется аутентификация с помощью API-ключа. Yandex Cloud ML SDK также поддерживает аутентификацию с помощью IAM-токена и OAuth-токена. Подробнее см. в разделе Аутентификация в Yandex Cloud ML SDK.

    Примечание

    Если вы используете ОС Windows, рекомендуем предварительно установить оболочку WSL и выполнять дальнейшие действия в этой оболочке.

  3. Установите Python версии 3.10 или выше.

  4. Установите библиотеку Python venv для создания изолированных виртуальных окружений в Python.

  5. Создайте и войдите в новое виртуальное окружение Python:

    python3 -m venv new-env
    source new-env/bin/activate
    
  6. С помощью менеджера пакетов pip установите библиотеку ML SDK:

    pip install yandex-cloud-ml-sdk
    
  1. Создайте сервисный аккаунт, от имени которого будут выполняться запросы. Вы также можете использовать аккаунт на Яндексе или федеративный аккаунт, но для автоматизации предпочтительнее использовать сервисный аккаунт.

  2. Назначьте аккаунту, от имени которого будут выполняться запросы, роль search-api.webSearch.user.

  3. Получите IAM-токен, необходимый для аутентификации.

    В приведенных примерах используется аутентификация с помощью IAM-токена. Чтобы использовать для аутентификации API-ключ сервисного аккаунта, измените в примерах запросов заголовок Authorization. Подробнее см. в разделе Аутентификация в API.

Чтобы воспользоваться примерами, также установите утилиты cURL и jq.

  1. Создайте сервисный аккаунт, от имени которого будут выполняться запросы. Вы также можете использовать аккаунт на Яндексе или федеративный аккаунт, но для автоматизации предпочтительнее использовать сервисный аккаунт.

  2. Назначьте аккаунту, от имени которого будут выполняться запросы, роль search-api.webSearch.user.

  3. Получите IAM-токен, необходимый для аутентификации.

    В приведенных примерах используется аутентификация с помощью IAM-токена. Чтобы использовать для аутентификации API-ключ сервисного аккаунта, измените в примерах запросов заголовок Authorization. Подробнее см. в разделе Аутентификация в API.

Чтобы воспользоваться примерами, также установите утилиты gRPCurl и jq.

Выполните поисковый запросВыполните поисковый запрос

Чтобы выполнить поисковый запрос:

SDK
REST API
gRPC API
  1. Создайте файл web-search-sync.py и добавьте в него следующий код:

    #!/usr/bin/env python3
    
    from __future__ import annotations
    
    from typing import Literal, cast
    
    from yandex_cloud_ml_sdk import YCloudML
    
    from yandex_cloud_ml_sdk.search_api import (
        FamilyMode,
        FixTypoMode,
        GroupMode,
        Localization,
        SearchType,
        SortMode,
        SortOrder,
    )
    
    import pathlib
    
    USER_AGENT = "Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.112 Mobile Safari/537.36"
    
    
    def main() -> None:
    
        sdk = YCloudML(
            folder_id="<идентификатор_каталога>",
            auth="<API-ключ>",
        )
        sdk.setup_default_logging()
    
        # you could pass any settings when creating the Search object
        search = sdk.search_api.web(
            "RU",
            family_mode=FamilyMode.MODERATE,
            # By default object configuration property values are set to None,
            # which corresponds to the "default" value which is
            # defined at the service's backend.
            # e.g. docs_in_group=None,
        )
    
        # but also you could reconfigure the Search object at any time:
        search = search.configure(
            # These are enum-type settings,
            # they could be passed as strings as shown below.
            search_type="ru",
            family_mode="strict",
            fix_typo_mode="off",
            group_mode="deep",
            localization="ru",
            sort_order="desc",
            sort_mode="by_time",
            docs_in_group=None,
            groups_on_page=6,
            max_passages=2,
            region="225",
            user_agent=USER_AGENT,
        )
    
        search_query = input("Enter the search query: ")
        if not search_query.strip():
            search_query = "Yandex Cloud"
    
        format_ = input("Choose format ([xml]/html): ")
        format_ = format_.strip() or "xml"
        assert format_.lower() in ("xml", "html")
        format_ = cast(Literal["html", "xml"], format_)
    
        for page in range(0, 10):
            search_result = search.run(search_query, format=format_, page=page)
            output_filename = (
                str(pathlib.Path(__file__).parent)
                + "/"
                + "page_"
                + str(page + 1)
                + "."
                + format_
            )
            file = open(output_filename, "a")
            file.write(search_result.decode("utf-8"))
            print(f"Page {page} saved to file {output_filename}")
            file.close()
    
    
    if __name__ == "__main__":
        main()
    

    Где:

    • <идентификатор_каталога> — идентификатор каталога, в котором создан сервисный аккаунт.

    • <API-ключ> — API-ключ сервисного аккаунта, полученный ранее и необходимый для аутентификации в API.

      В примерах используется аутентификация с помощью API-ключа. Yandex Cloud ML SDK также поддерживает аутентификацию с помощью IAM-токена и OAuth-токена. Подробнее см. в разделе Аутентификация в Yandex Cloud ML SDK.

    Параметры поиска для объекта класса sdk.search_api.web вы можете задать в свойствах этого объекта или в свойствах метода .configure:

    Описание свойств объекта
    • search_type — тип поиска. Возможные значения:

      • ru — для типа поиска Русский.
      • tr — для типа поиска Турецкий.
      • com — для типа поиска Международный.
      • kk — для типа поиска Казахский.
      • be – для типа поиска Белорусский.
      • uz — для типа поиска Узбекский.
    • family_mode — фильтрация результатов. Необязательный параметр. Возможные значения:

      • moderate — умеренный фильтр (значение по умолчанию). Из выдачи исключаются документы, относящиеся к категории «для взрослых», если запрос явно не направлен на поиск подобных ресурсов.
      • none — фильтрация отключена. В выдачу включаются любые документы, вне зависимости от содержимого.
      • strict — семейный фильтр. Вне зависимости от поискового запроса из выдачи исключаются документы, относящиеся к категории «для взрослых», а также содержащие ненормативную лексику.
    • fix_typo_mode — значение настройки режима исправления опечаток в поисковом запросе. Необязательный параметр. Возможные значения:

      • on — исправление опечаток включено (значение по умолчанию). Опечатки в тексте поискового запроса автоматически исправляются.
      • off — исправление опечаток отключено. Опечатки в тексте поискового запроса не исправляются, поиск выполняется в полном соответствии с переданным запросом.
    • group_mode — метод группировки результатов. Необязательный параметр. Возможные значения:

      • deep — группировка по доменам. Каждая группа содержит документы одного домена (значение по умолчанию).
      • flat — плоская группировка. Каждая группа содержит один документ.
    • localization — язык уведомлений поискового ответа. Влияет на текст, передаваемый в теге found-docs-human и в сообщениях об ошибках. Необязательный параметр. Возможные значения зависят от выбранного типа поиска:

      • Тип поиска Русский:
        • ru — русский язык (значение по умолчанию).
        • be — белорусский язык.
        • kk — казахский язык.
        • uk — украинский язык.
      • Тип поиска Турецкий:
        • tr — турецкий язык.
      • Тип поиска Международный:
        • en — английский язык.
    • sort_order — порядок сортировки результатов поиска. Необязательный параметр. Возможные значения:

      • desc — прямой порядок сортировки — от наиболее свежего к наиболее старому (значение по умолчанию).
      • asc — обратный порядок сортировки — от наиболее старого к наиболее свежему.
    • sort_mode — правило сортировки результатов поиска, которое определяет порядок выдачи результатов поиска. Необязательный параметр. Возможные значения:

      • by_relevance — сортировка по релевантности (значение по умолчанию).
      • by_time — сортировка по времени изменения документа.
    • docs_in_group — максимальное количество документов, которые могут быть возвращены в одной группе. Необязательный параметр. Допустимые значения — от 1 до 3. Значение по умолчанию — 1.

    • groups_on_page — максимальное количество групп, которые могут быть возвращены на одной странице результатов поиска. Необязательный параметр. Значение по умолчанию — 20.

      При получении результата в формате XML допустимые значения — от 1 до 100, при получении результата в формате HTML — от 5 до 50.

    • max_passages — максимальное количество пассажей, которое может быть использовано при формировании сниппета к документу. Необязательный параметр. Допустимые значения — от 1 до 5. По умолчанию для каждого документа возвращается не более четырех пассажей с текстом запроса.

    • region — идентификатор страны или региона поиска, который влияет на правила ранжирования документов. Поддерживается только для типов поиска Русский и Турецкий.

      Список идентификаторов часто используемых стран и регионов см. в разделе Регионы поиска.

    • user_agent — строка, содержащая заголовок User-Agent. Параметр позволяет получить поисковую выдачу, ориентированную на конкретные устройство и браузер, в том числе мобильную выдачу. Необязательный параметр. Если параметр не задан, сервис возвращает стандартную выдачу по умолчанию.

    Список поддерживаемых параметров:

    Примечание

    Список поддерживаемых в запросе параметров зависит от того, в каком формате требуется получить результат: XML или HTML.

    Параметр Поддерживается при XML-ответе Поддерживается при HTML-ответе
    search_type
    family_mode
    fix_typo_mode
    group_mode
    localization
    sort_order
    sort_mode
    docs_in_group
    groups_on_page
    max_passages
    region
    user_agent
  2. Выполните созданный файл:

    python3 web-search-sync.py
    

    В процессе выполнения код запросит у вас текст поискового запроса и формат, в котором вы хотите получить ответ.

    В результате выполнения код сохранит в текущей директории первые десять страниц с результатами поиска по указанному запросу в заданном формате:

    Page 0 saved to file /Users/MyUser/Desktop/page_1.xml
    ...
    Page 9 saved to file /Users/MyUser/Desktop/page_10.xml
    
  1. Отправьте запрос и получите результат в кодировке Base64:

    1. Создайте файл с телом запроса (например, body.json):

      body.json

      {
          "query": {
            "searchType": "<тип_поиска>",
            "queryText": "<текст_поискового_запроса>",
            "familyMode": "<значение_настройки_фильтрации_результатов>",
            "page": "<номер_страницы>",
            "fixTypoMode": "<значение_настройки_режима_исправления_опечаток>"
          },
          "sortSpec": {
            "sortMode": "<правило_сортировки_результатов>",
            "sortOrder": "<порядок_сортировки_результатов>"
          },
          "groupSpec": {
            "groupMode": "<метод_группировки_результатов>",
            "groupsOnPage": "<количество_групп_на_странице>",
            "docsInGroup": "<количество_документов_в_группе>"
          },
          "maxPassages": "<максимальное_количество_пассажей>",
          "region": "<идентификатор_региона>",
          "l10N": "<язык_уведомлений>",
          "folderId": "<идентификатор_каталога>",
          "responseFormat": "<формат_результата>",
          "userAgent": "<заголовок_User-Agent>"
      }
      
      Описание полей
      • searchType — тип поиска. Возможные значения:

        • SEARCH_TYPE_RU — для типа поиска Русский.
        • SEARCH_TYPE_TR — для типа поиска Турецкий.
        • SEARCH_TYPE_COM — для типа поиска Международный.
        • SEARCH_TYPE_KK — для типа поиска Казахский.
        • SEARCH_TYPE_BE – для типа поиска Белорусский.
        • SEARCH_TYPE_UZ — для типа поиска Узбекский.
      • queryText — текст поискового запроса. Максимальная длина запроса — 400 символов.

      • familyMode — фильтрация результатов. Необязательный параметр. Возможные значения:

        • FAMILY_MODE_MODERATE — умеренный фильтр (значение по умолчанию). Из выдачи исключаются документы, относящиеся к категории «для взрослых», если запрос явно не направлен на поиск подобных ресурсов.
        • FAMILY_MODE_NONE — фильтрация отключена. В выдачу включаются любые документы вне зависимости от содержимого.
        • FAMILY_MODE_STRICT — семейный фильтр. Вне зависимости от поискового запроса из выдачи исключаются документы, относящиеся к категории «для взрослых», а также содержащие ненормативную лексику.
      • page — номер запрашиваемой страницы. Необязательный параметр. По умолчанию возвращается первая страница поисковой выдачи. Нумерация страниц начинается с нуля (первой странице соответствует значение 0).

      • fixTypoMode — значение настройки режима исправления опечаток в поисковом запросе. Необязательный параметр. Возможные значения:

        • FIX_TYPO_MODE_ON — исправление опечаток включено (значение по умолчанию). Опечатки в тексте поискового запроса автоматически исправляются.
        • FIX_TYPO_MODE_OFF — исправление опечаток отключено. Опечатки в тексте поискового запроса не исправляются, поиск выполняется в полном соответствии с переданным запросом.
      • sortMode — правило сортировки результатов поиска, которое определяет порядок выдачи результатов поиска. Необязательный параметр. Возможные значения:

        • SORT_MODE_BY_RELEVANCE — сортировка по релевантности (значение по умолчанию).
        • SORT_MODE_BY_TIME — сортировка по времени изменения документа.
      • sortOrder — порядок сортировки результатов поиска. Необязательный параметр. Возможные значения:

        • SORT_ORDER_DESC — прямой порядок сортировки — от наиболее свежего к наиболее старому (значение по умолчанию).
        • SORT_ORDER_ASC — обратный порядок сортировки — от наиболее старого к наиболее свежему.
      • groupMode — метод группировки результатов. Необязательный параметр. Возможные значения:

        • GROUP_MODE_DEEP — группировка по доменам. Каждая группа содержит документы одного домена (значение по умолчанию).
        • GROUP_MODE_FLAT — плоская группировка. Каждая группа содержит один документ.
      • groupsOnPage — максимальное количество групп, которые могут быть возвращены на одной странице результатов поиска. Необязательный параметр. Значение по умолчанию — 20.

        При получении результата в формате XML допустимые значения — от 1 до 100, при получении результата в формате HTML — от 5 до 50.

      • docsInGroup — максимальное количество документов, которые могут быть возвращены в одной группе. Необязательный параметр. Допустимые значения — от 1 до 3. Значение по умолчанию — 1.

      • maxPassages — максимальное количество пассажей, которое может быть использовано при формировании сниппета к документу. Необязательный параметр. Допустимые значения — от 1 до 5. По умолчанию для каждого документа возвращается не более четырех пассажей с текстом запроса.

      • region — идентификатор страны или региона поиска, который влияет на правила ранжирования документов. Поддерживается только для типов поиска Русский и Турецкий.

        Список идентификаторов часто используемых стран и регионов см. в разделе Регионы поиска.

      • l10N — язык уведомлений поискового ответа. Влияет на текст, передаваемый в теге found-docs-human и в сообщениях об ошибках. Необязательный параметр. Возможные значения зависят от выбранного типа поиска:

        • Тип поиска Русский:
          • LOCALIZATION_RU — русский язык (значение по умолчанию).
          • LOCALIZATION_BE — белорусский язык.
          • LOCALIZATION_KK — казахский язык.
          • LOCALIZATION_UK — украинский язык.
        • Тип поиска Турецкий:
          • LOCALIZATION_TR — турецкий язык.
        • Тип поиска Международный:
          • LOCALIZATION_EN — английский язык.
      • folderId — идентификатор каталога пользователя или сервисного аккаунта, от имени которого вы будете выполнять запросы.

      • responseFormat — формат получения поисковой выдачи. Необязательный параметр. Возможные значения:

        • FORMAT_XML — результат запроса будет передан в формате XML (значение по умолчанию).
        • FORMAT_HTML — результат запроса будет передан в формате HTML.
      • userAgent — строка, содержащая заголовок User-Agent. Параметр позволяет получить поисковую выдачу, ориентированную на конкретные устройство и браузер, в том числе мобильную выдачу. Необязательный параметр. Если параметр не задан, сервис возвращает стандартную выдачу по умолчанию.

      Список поддерживаемых параметров:

      Примечание

      Список поддерживаемых в запросе параметров зависит от того, в каком формате требуется получить результат: XML или HTML.

      Параметр Поддерживается при XML-ответе Поддерживается при HTML-ответе
      searchType
      queryText
      familyMode
      page
      fixTypoMode
      sortMode
      sortOrder
      groupMode
      groupsOnPage
      docsInGroup
      maxPassages
      region
      l10N
      folderId
      responseFormat
      userAgent
    2. Выполните HTTP-запрос, указав полученный ранее IAM-токен:

      curl \
        --request POST \
        --header "Authorization: Bearer <IAM-токен>" \
        --data "@body.json" \
        "https://searchapi.api.yandexcloud.kz/v2/web/search" \
        > result.json
      

    В результате в файл result.json будет сохранен результат выполнения поискового запроса, содержащий в поле rawData XML или HTML ответ в кодировке Base64.

  2. В зависимости от запрошенного формата ответа декодируйте результат из формата Base64:

    XML
    HTML
    echo "$(< result.json)" | \
      jq -r .rawData | \
      base64 --decode > result.xml
    

    В результате в файл result.xml будет сохранен XML-ответ по запросу.

    echo "$(< result.json)" | \
      jq -r .rawData | \
      base64 --decode > result.html
    

    В результате в файл result.html будет сохранен HTML-ответ по запросу.

  1. Отправьте запрос и получите результат в кодировке Base64:

    1. Создайте файл с телом запроса (например, body.json):

      body.json

      {
          "query": {
            "search_type": "<тип_поиска>",
            "query_text": "<текст_поискового_запроса>",
            "family_mode": "<значение_настройки_фильтрации_результатов>",
            "page": "<номер_страницы>",
            "fix_typo_mode": "<значение_настройки_режима_исправления_опечаток>"
          },
          "sort_spec": {
            "sort_mode": "<правило_сортировки_результатов>",
            "sort_order": "<порядок_сортировки_результатов>"
          },
          "group_spec": {
            "group_mode": "<метод_группировки_результатов>",
            "groups_on_page": "<количество_групп_на_странице>",
            "docs_in_group": "<количество_документов_в_группе>"
          },
          "max_passages": "<максимальное_количество_пассажей>",
          "region": "<идентификатор_региона>",
          "l10n": "<язык_уведомлений>",
          "folder_id": "<идентификатор_каталога>",
          "response_format": "<формат_результата>",
          "user_agent": "<заголовок_User-Agent>"
      }
      
      Описание полей
      • search_type — тип поиска. Возможные значения:

        • SEARCH_TYPE_RU — для типа поиска Русский.
        • SEARCH_TYPE_TR — для типа поиска Турецкий.
        • SEARCH_TYPE_COM — для типа поиска Международный.
        • SEARCH_TYPE_KK — для типа поиска Казахский.
        • SEARCH_TYPE_BE – для типа поиска Белорусский.
        • SEARCH_TYPE_UZ — для типа поиска Узбекский.
      • query_text — текст поискового запроса. Максимальная длина запроса — 400 символов.

      • family_mode — фильтрация результатов. Необязательный параметр. Возможные значения:

        • FAMILY_MODE_MODERATE — умеренный фильтр (значение по умолчанию). Из выдачи исключаются документы, относящиеся к категории «для взрослых», если запрос явно не направлен на поиск подобных ресурсов.
        • FAMILY_MODE_NONE — фильтрация отключена. В выдачу включаются любые документы вне зависимости от содержимого.
        • FAMILY_MODE_STRICT — семейный фильтр. Вне зависимости от поискового запроса из выдачи исключаются документы, относящиеся к категории «для взрослых», а также содержащие ненормативную лексику.
      • page — номер запрашиваемой страницы. Необязательный параметр. По умолчанию возвращается первая страница поисковой выдачи. Нумерация страниц начинается с нуля, первой странице соответствует значение 0.

      • fix_typo_mode — значение настройки режима исправления опечаток в поисковом запросе. Необязательный параметр. Возможные значения:

        • FIX_TYPO_MODE_ON — исправление опечаток включено (значение по умолчанию). Опечатки в тексте поискового запроса автоматически исправляются.
        • FIX_TYPO_MODE_OFF — исправление опечаток отключено. Опечатки в тексте поискового запроса не исправляются, поиск выполняется в полном соответствии с переданным запросом.
      • sort_mode — правило сортировки результатов поиска, которое определяет порядок выдачи результатов поиска. Необязательный параметр. Возможные значения:

        • SORT_MODE_BY_RELEVANCE — сортировка по релевантности (значение по умолчанию).
        • SORT_MODE_BY_TIME — сортировка по времени изменения документа.
      • sort_order — порядок сортировки результатов поиска. Необязательный параметр. Возможные значения:

        • SORT_ORDER_DESC — прямой порядок сортировки — от наиболее свежего к наиболее старому (значение по умолчанию).
        • SORT_ORDER_ASC — обратный порядок сортировки — от наиболее старого к наиболее свежему.
      • group_mode — метод группировки результатов. Необязательный параметр. Возможные значения:

        • GROUP_MODE_DEEP — группировка по доменам. Каждая группа содержит документы одного домена (значение по умолчанию).
        • GROUP_MODE_FLAT — плоская группировка. Каждая группа содержит один документ.
      • groups_on_page — максимальное количество групп, которые могут быть возвращены на одной странице результатов поиска. Необязательный параметр. Значение по умолчанию — 20.

        При получении результата в формате XML допустимые значения — от 1 до 100, при получении результата в формате HTML — от 5 до 50.

      • docs_in_group — максимальное количество документов, которые могут быть возвращены в одной группе. Необязательный параметр. Допустимые значения — от 1 до 3. Значение по умолчанию — 1.

      • max_passages — максимальное количество пассажей, которое может быть использовано при формировании сниппета к документу. Необязательный параметр. Допустимые значения — от 1 до 5. По умолчанию для каждого документа возвращается не более четырех пассажей с текстом запроса.

      • region — идентификатор страны или региона поиска, который влияет на правила ранжирования документов. Поддерживается только для типов поиска Русский и Турецкий.

        Список идентификаторов часто используемых стран и регионов см. в разделе Регионы поиска.

      • l10n — язык уведомлений поискового ответа. Влияет на текст, передаваемый в теге found-docs-human и в сообщениях об ошибках. Необязательный параметр. Возможные значения зависят от выбранного типа поиска:

        • Тип поиска Русский:
          • LOCALIZATION_RU — русский язык (значение по умолчанию).
          • LOCALIZATION_BE — белорусский язык.
          • LOCALIZATION_KK — казахский язык.
          • LOCALIZATION_UK — украинский язык.
        • Тип поиска Турецкий:
          • LOCALIZATION_TR — турецкий язык.
        • Тип поиска Международный:
          • LOCALIZATION_EN — английский язык.
      • folder_id — идентификатор каталога пользователя или сервисного аккаунта, от имени которого вы будете выполнять запросы.

      • response_format — формат получения поисковой выдачи. Необязательный параметр. Возможные значения:

        • FORMAT_XML — результат запроса будет передан в формате XML (значение по умолчанию).
        • FORMAT_HTML — результат запроса будет передан в формате HTML.
      • user_agent — строка, содержащая заголовок User-Agent. Параметр позволяет получить поисковую выдачу, ориентированную на конкретные устройство и браузер, в том числе мобильную выдачу. Необязательный параметр. Если параметр не задан, сервис возвращает стандартную выдачу по умолчанию.

      Список поддерживаемых параметров:

      Примечание

      Список поддерживаемых в запросе параметров зависит от того, в каком формате требуется получить результат: XML или HTML.

      Параметр Поддерживается при XML-ответе Поддерживается при HTML-ответе
      search_type
      query_text
      family_mode
      page
      fix_typo_mode
      sort_mode
      sort_order
      group_mode
      groups_on_page
      docs_in_group
      max_passages
      region
      l10n
      folder_id
      response_format
      user_agent
    2. Выполните gRPC-вызов, указав полученный ранее IAM-токен:

      grpcurl \
        -rpc-header "Authorization: Bearer <IAM-токен>" \
        -d @ < body.json \
        searchapi.api.yandexcloud.kz:443 yandex.cloud.searchapi.v2.WebSearchService/Search \
        > result.json
      

    В результате в файл result.json будет сохранен результат выполнения поискового запроса, содержащий в поле rawData XML или HTML ответ в кодировке Base64.

  2. В зависимости от запрошенного формата ответа декодируйте результат из формата Base64:

    XML
    HTML
    echo "$(< result.json)" | \
      jq -r .rawData | \
      base64 --decode > result.xml
    

    В результате в файл result.xml будет сохранен XML-ответ по запросу.

    echo "$(< result.json)" | \
      jq -r .rawData | \
      base64 --decode > result.html
    

    В результате в файл result.html будет сохранен HTML-ответ по запросу.

См. такжеСм. также

  • Выполнение текстовых поисковых запросов в отложенном режиме
  • Текстовый поиск
  • Аутентификация в API
  • XML-формат ответа при текстовом поиске
  • HTML-формат ответа при текстовом поиске

Была ли статья полезна?

Предыдущая
Все инструкции
Следующая
Текстовый поиск в отложенном режиме
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»