Yandex Search API

Yandex Search API (the official paid Yandex Search API v2).

Unlike the yandex engine (which scrapes the public HTML interface and is prone to CAPTCHA blocking), this engine talks to the official, paid Yandex Cloud Search API. It requires a Yandex Cloud account, a folder id and an API key.

The API answers with a Base64-encoded XML document, which is decoded and parsed here.

Configuration

The engine is inactive by default because it needs credentials. To enable it, set inactive: false and add your api_key and yandex_folder_id to git://searx/settings.yml:

- name: yandex api
  engine: yandex_api
  shortcut: yda
  categories: [general, web]
  inactive: false
  api_key: ""           # Yandex Cloud API key (``Api-Key``)
  yandex_folder_id: ""  # Yandex Cloud folder id
  # optional, see below:
  yandex_default_language: en
searx.engines.yandex_api.api_key: str = ''

Yandex Cloud API key, passed as Authorization: Api-Key <api_key>.

searx.engines.yandex_api.yandex_folder_id: str = ''

Yandex Cloud folder id the API key belongs to.

searx.engines.yandex_api.yandex_default_language: str = 'en'

Default query language. It selects the Yandex search domain (e.g. yandex.ru for ru, yandex.com for en) and the language of the search-result notifications, but only as a fallback – a request whose own locale matches language_map overrides it. Must be one of its keys: ru, be, kk, uk, tr or en.

searx.engines.yandex_api.region: str = ''

Optional Yandex region id. Only meaningful together with SEARCH_TYPE_RU.

searx.engines.yandex_api.page_size: int = 10

Number of results requested per page.

searx.engines.yandex_api.setup(_)[source]

Validate credentials and paging limits when the engine is loaded.