Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Search API
    • Overview
      • Text search
    • XML response
    • HTML response
    • Generative response
    • Quotas and limits
  • Access management
  • Pricing policy
  • Audit Trails events

In this article:

  • Query body format
  • Synchronous search mode
  • Deferred (asynchronous) search mode
  • Response format for asynchronous search
  1. Concepts
  2. API v2
  3. Text search

Text search with API v2

Written by
Yandex Cloud
Updated at April 30, 2025
  • Query body format
  • Synchronous search mode
  • Deferred (asynchronous) search mode
    • Response format for asynchronous search

With Yandex Search API v2, you can run queries to the Yandex search database and get a response in synchronous or deferred mode. The search results you get depend on the parameters specified in your query.

Queries can be submitted by a user or service account with the search-api.webSearch.user role.

Depending on the specified query parameters, you will get the result in XML or HTML format.

Query body format

The names of the query body fields are different in REST API and gPRC API: the former uses CamelCase, while the latter uses snake_case.

REST API
gRPC API
{
    "query": {
      "searchType": "<search_type>",
      "queryText": "<search_query_text>",
      "familyMode": "<result_filter_setting_value>",
      "page": "<page_number>",
      "fixTypoMode": "<typo_correction_mode_setting_value>"
    },
    "sortSpec": {
      "sortMode": "<result_sorting_rule>",
      "sortOrder": "<sort_order_of_results>"
    },
    "groupSpec": {
      "groupMode": "<result_grouping_method>",
      "groupsOnPage": "<number_of_groups_per_page>",
      "docsInGroup": "<number_of_documents_per_group>"
    },
    "maxPassages": "<maximum_number_of_passages>",
    "region": "<region_ID>",
    "l10N": "<notification_language>",
    "folderId": "<folder_ID>",
    "responseFormat": "<result_format>",
    "userAgent": "<User-Agent_header>"
}

Where:

Note

The list of supported request parameters depends on the required output format, XML or HTML.

  • searchType: Search type. The possible values are:

    • SEARCH_TYPE_RU: For the Russian search type.
    • SEARCH_TYPE_TR: For the Turkish search type.
    • SEARCH_TYPE_COM: For the International search type.
    • SEARCH_TYPE_KK: For the Kazakh search type.
    • SEARCH_TYPE_BE: For the Belarusian search type.
  • queryText: Search query text. The maximum length is 400 characters.

  • familyMode: Results filtering. This is an optional parameter. The possible values are:

    • FAMILY_MODE_MODERATE: Moderate filter (default). Documents of the Adult category are excluded from search results unless a query is explicitly made for searching resources of this category.
    • FAMILY_MODE_NONE: Filtering is disabled. Search results include any documents regardless of their contents.
    • FAMILY_MODE_STRICT: Family filter. Regardless of a search query, documents of the Adult category and those with profanity are excluded from search results.
  • page: Requested page number. This is an optional parameter. By default, the first page with search results is returned. Page numbering starts from zero (0 stands for page 1).

  • fixTypoMode: Search query typo correction setting. This is an optional parameter. The possible values are:

    • FIX_TYPO_MODE_ON: Typo correction enabled (default). Search query typos are corrected automatically.
    • FIX_TYPO_MODE_OFF: Typo correction disabled. Search query typos are not corrected. The search is performed strictly as per the query.

    The fixTypoMode parameter is not supported when getting the result in HTML format.

  • sortMode: Search results sorting mode rule. This is an optional parameter. The possible values are:

    • SORT_MODE_BY_RELEVANCE: Sorting by relevance (default).
    • SORT_MODE_BY_TIME: Sorting by document update time.

    The sortMode parameter is not supported when getting the result in HTML format.

  • sortOrder: Search results sorting order. This is an optional parameter. The possible values are:

    • SORT_ORDER_DESC: Forward sorting order from most recent to oldest (default).
    • SORT_ORDER_ASC: Reverse sorting order from oldest to most recent.

    The sortOrder parameter is not supported when getting the result in HTML format.

  • groupMode: Result grouping method. This is an optional parameter. The possible values are:

    • GROUP_MODE_DEEP: Grouping by domain. Each group contains documents from one domain (default).
    • GROUP_MODE_FLAT: Flat grouping. Each group contains a single document.

    The groupMode parameter is not supported when getting the result in HTML format.

  • groupsOnPage: Maximum number of groups that can be returned per page. This is an optional parameter. The default value is 20.

    When getting the result in XML format, the possible values range from 1 to 100; for HTML, the range is from 5 to 50.

  • docsInGroup: Maximum number of documents that can be returned per group. This is an optional parameter. The values range from 1 to 3. The default value is 1.

    The docsInGroup parameter is not supported when getting the result in HTML format.

  • maxPassages: Maximum number of passages that can be used when generating a document snippet. This is an optional parameter. The values range from 1 to 5. By default, a maximum of four passages with search query text is returned per document.

    The maxPassages parameter is not supported when getting the result in HTML format.

  • region: Search country or region ID that affects the document ranking rules. Only supported for the Russian and Turkish search types.

    For a list of frequently used country and region IDs, see Search regions.

  • l10N: Search response notifications language. Affects the text in the found-docs-human tag and error messages. This is an optional parameter. Possible values depend on the selected search type:

    • Russian:

      • LOCALIZATION_RU: Russian (default).
      • LOCALIZATION_BE: Belarusian.
      • LOCALIZATION_KK: Kazakh.
      • LOCALIZATION_UK: Ukrainian.
    • Turkish:

      • LOCALIZATION_TR: Turkish.
    • International:

      • LOCALIZATION_EN: English.

    The l10N parameter is not supported when getting the result in HTML format.

  • folderId: Folder ID of the user or service account you will use for queries.

  • responseFormat: Search results format. This is an optional parameter. The possible values are:

    • FORMAT_XML: The results will be delivered in XML format (default).
    • FORMAT_HTML: The results will be delivered in HTML format.
  • userAgent: String containing the User-Agent header. Use this parameter to have your search results optimized for a specific device and browser, including mobile search results. This is an optional parameter. If not specified, you will get the default output.

{
    "query": {
      "search_type": "<search_type>",
      "query_text": "<search_query_text>",
      "family_mode": "<result_filter_setting_value>",
      "page": "<page_number>",
      "fix_typo_mode": "<typo_correction_mode_setting_value>"
    },
    "sort_spec": {
      "sort_mode": "<result_sorting_rule>",
      "sort_order": "<sort_order_of_results>"
    },
    "group_spec": {
      "group_mode": "<result_grouping_method>",
      "groups_on_page": "<number_of_groups_per_page>",
      "docs_in_group": "<number_of_documents_per_group>"
    },
    "max_passages": "<maximum_number_of_passages>",
    "region": "<region_ID>",
    "l10n": "<notification_language>",
    "folder_id": "<folder_ID>",
    "response_format": "<result_format>",
    "user_agent": "<User-Agent_header>"
}

Where:

Note

The list of supported request parameters depends on the required output format, XML or HTML.

  • search_type: Search type. The possible values are:

    • SEARCH_TYPE_RU: For the Russian search type.
    • SEARCH_TYPE_TR: For the Turkish search type.
    • SEARCH_TYPE_COM: For the International search type.
    • SEARCH_TYPE_KK: For the Kazakh search type.
    • SEARCH_TYPE_BE: For the Belarusian search type.
  • query_text: Search query text. The maximum length is 400 characters.

  • family_mode: Results filtering. This is an optional parameter. The possible values are:

    • FAMILY_MODE_MODERATE: Moderate filter (default). Documents of the Adult category are excluded from search results unless a query is explicitly made for searching resources of this category.
    • FAMILY_MODE_NONE: Filtering is disabled. Search results include any documents regardless of their contents.
    • FAMILY_MODE_STRICT: Family filter. Regardless of a search query, documents of the Adult category and those with profanity are excluded from search results.
  • page: Requested page number. This is an optional parameter. By default, the first page with search results is returned. Page numbering starts from zero (0 stands for page 1).

  • fix_typo_mode: Search query typo correction setting. This is an optional parameter. The possible values are:

    • FIX_TYPO_MODE_ON: Typo correction enabled (default). Search query typos are corrected automatically.
    • FIX_TYPO_MODE_OFF: Typo correction disabled. Search query typos are not corrected. The search is performed strictly as per the query.

    The fix_typo_mode parameter is not supported when getting the result in HTML format.

  • sort_mode: Search results sorting mode rule. This is an optional parameter. The possible values are:

    • SORT_MODE_BY_RELEVANCE: Sorting by relevance (default).
    • SORT_MODE_BY_TIME: Sorting by document update time.

    The sort_mode parameter is not supported when getting the result in HTML format.

  • sort_order: Search results sorting order. This is an optional parameter. The possible values are:

    • SORT_ORDER_DESC: Forward sorting order from most recent to oldest (default).
    • SORT_ORDER_ASC: Reverse sorting order from oldest to most recent.

    The sort_order parameter is not supported when getting the result in HTML format.

  • group_mode: Result grouping method. This is an optional parameter. The possible values are:

    • GROUP_MODE_DEEP: Grouping by domain. Each group contains documents from one domain (default).
    • GROUP_MODE_FLAT: Flat grouping. Each group contains a single document.

    The group_mode parameter is not supported when getting the result in HTML format.

  • groups_on_page: Maximum number of groups that can be returned per page. This is an optional parameter. The default value is 20.

    When getting the result in XML format, the possible values range from 1 to 100; for HTML, the range is from 5 to 50.

  • docs_in_group: Maximum number of documents that can be returned per group. This is an optional parameter. The values range from 1 to 3. The default value is 1.

    The docs_in_group parameter is not supported when getting the result in HTML format.

  • max_passages: Maximum number of passages that can be used when generating a document snippet. This is an optional parameter. The values range from 1 to 5. By default, a maximum of four passages with search query text is returned per document.

    The max_passages parameter is not supported when getting the result in HTML format.

  • region: Search country or region ID that affects the document ranking rules. Only supported for the Russian and Turkish search types.

    For a list of frequently used country and region IDs, see Search regions.

  • l10n: Search response notifications language. Affects the text in the found-docs-human tag and error messages. This is an optional parameter. Possible values depend on the selected search type:

    • Russian:

      • LOCALIZATION_RU: Russian (default).
      • LOCALIZATION_BE: Belarusian.
      • LOCALIZATION_KK: Kazakh.
      • LOCALIZATION_UK: Ukrainian.
    • Turkish:

      • LOCALIZATION_TR: Turkish.
    • International:

      • LOCALIZATION_EN: English.

    The l10n parameter is not supported when getting the result in HTML format.

  • folder_id: Folder ID of the user or service account you will use for queries.

  • response_format: Search results format. This is an optional parameter. The possible values are:

    • FORMAT_XML: The results will be delivered in XML format (default).
    • FORMAT_HTML: The results will be delivered in HTML format.
  • user_agent: String containing the User-Agent header. Use this parameter to have your search results optimized for a specific device and browser, including mobile search results. This is an optional parameter. If not specified, you will get the default output.

Synchronous search mode

You can run queries in synchronous mode only using the gRPC API.

In response to a synchronous mode query, depending on the query parameters you provide, Yandex Search API will return the result in XML or HTML format. The result is returned in the rawData response field as a Base64-encoded string.

Deferred (asynchronous) search mode

You can run queries in deferred mode using the REST API and gPRC API.

In response to a deferred query, Yandex Search API returns an Operation object containing the operation info: status, ID, call time, etc.

With the Operation object ID, you can track the query execution status and get the results once the processing is complete.

Depending on the specified query parameters, you will get the result in the response.rawData response field in XML or HTML format.

Response format for asynchronous search

In response to a deferred query, Yandex Search API returns an Operation object in the following format:

REST API
gRPC API
{
 "done": true,
 "response": {
  "@type": "type.googleapis.com/yandex.cloud.searchapi.v2.WebSearchResponse",
  "rawData": "<Base64_encoded_XML_response_body>"
 },
 "id": "<operation_object_ID>",
 "description": "WEB search async",
 "createdAt": "2024-10-03T08:07:07Z",
 "createdBy": "<subject_ID>",
 "modifiedAt": "2024-10-03T08:12:09Z"
}
{
  "id": "<operation_object_ID>",
  "description": "WEB search async",
  "createdAt": "2024-10-03T08:07:07Z",
  "createdBy": "<subject_ID>",
  "modifiedAt": "2024-10-03T08:12:09Z",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/yandex.cloud.searchapi.v2.WebSearchResponse",
    "rawData": "<Base64_encoded_XML_response_body>"
  }
}

The response object within the Operation object becomes available only after the query is executed on the Yandex Search API side and the done (operation status) field value changes to true.

The rawData value in the response object contains a Base64-encoded response in XML or HTML format, depending on the query parameters.

For more information about the Operation object and its fields, see Operation object.

See also

  • Performing search queries using API v2 in synchronous mode
  • Performing search queries in deferred mode using API v2
  • XML format of response to a text search query
  • Authentication with the API v2
  • Access management in Yandex Search API

Was the article helpful?

Previous
Response format
Next
XML response
© 2025 Direct Cursus Technology L.L.C.