OpenSERP Cloud Updated Quickstart →

Yandex Search API

Query Yandex and get structured web results as JSON. Yandex is the engine to use when you care about Russia and the CIS its ranking there differs sharply fro...

Query Yandex and get structured web results as JSON. Yandex is the engine to use when you care about Russia and the CIS - its ranking there differs sharply from Google, and it handles Cyrillic queries and regional intent that Google often misses. This page shows a Yandex search in the SDKs and with curl, with notes on region targeting.

Examples run against OpenSERP Cloud at https://api.openserp.org. The same request works on a self-hosted open-source OpenSERP server - point the SDK at your own baseUrl instead of passing apiKey.

export OPENSERP_API_KEY="osk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

JavaScript / TypeScript

npm install @openserp/sdk
import { OpenSERP } from "@openserp/sdk";

const client = new OpenSERP({ apiKey: process.env.OPENSERP_API_KEY });

const { results } = await client.search({
  engine: "yandex",
  text: "купить ноутбук",
  limit: 10,
  region: "RU",
  lang: "RU",
});

for (const r of results) {
  console.log(r.rank, r.title, r.url);
}

Python

pip install openserp
import os
from openserp import OpenSERP

with OpenSERP(api_key=os.environ["OPENSERP_API_KEY"]) as client:
    response = client.search(engine="yandex", text="купить ноутбук", limit=10, region="RU", lang="RU")
    for r in response.results:
        print(r.rank, r.title, r.url)

curl

curl "https://api.openserp.org/v1/yandex/search?text=%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C+%D0%BD%D0%BE%D1%83%D1%82%D0%B1%D1%83%D0%BA&limit=10&region=RU&lang=RU" \
  -H "Authorization: Bearer $OPENSERP_API_KEY"

URL-encode Cyrillic queries in raw HTTP calls. The SDKs handle encoding for you.

Not sure how a query resolves? Run it in the Search Playground and inspect the ranked results before wiring it into code.

Region targeting

Yandex is strongest in Russia, Belarus, Kazakhstan, and neighbouring markets. Set region to the country you care about (RU, BY, KZ, TR) and lang to match the query language. For a Russian-language query aimed at Russian users, pin both to RU as above - leaving them default will skew results toward a generic set.

When to reach for Yandex

  • Your audience or rank tracking is in Russia or the CIS.
  • The query is in Russian and you want engine-native ranking, not a translated approximation.
  • You are comparing how a page ranks on Yandex versus Google for the same market.

To line up a page’s Yandex rank next to Google and Bing in one request, see megasearch & ranking diff.

Next steps