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"
Web search
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®ion=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
- Create an API key and run your first Yandex query.
- Baidu Search API example - the equivalent for mainland China.
- Endpoints reference - every parameter and the full response envelope.