Yandex Market products with the real paid price, stock and every seller
The Yandex Market API turns market.yandex.ru, one of Russia's largest marketplaces, into JSON in four actions.
4 active endpoints. Every call is 3 credits.
- POST/yandex-market/v1/search
- POST/yandex-market/v1/category/products
- POST/yandex-market/v1/product/detail
- POST/yandex-market/v1/product/offers
What Yandex Market endpoints does ReefAPI ship?
4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Yandex Market API
3 of 4 endpoints, ready to run
The keyword result grid with paid and struck price, stock, rating, seller and delivery dates.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the Yandex Market API works
Yandex Market is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 491 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Find the cheapest seller of a product
Three calls, each id taken as it is from the previous answer.
Rows with product_id, model_id and sku_id, the paid price and the struck price.
The card: its default offer's price, offers_count and offers_min_price, specifications and the shop.
Every seller of that variant with its own price and stock.
The paid price of every seller of one product, with the card's own cheapest-offer figure to check against.
curl -X POST https://api.reefapi.com/yandex-market/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"casio g-shock"}'{
"ok": true,
"data": { … },
"meta": {
"api": "yandex-market",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}What one Yandex Market product returns
Real results read on 2026-10-14. The price on every result row was compared with the price the row itself prints: 80 of 80 rows matched in each of three runs, and the product card's price matched the card's own structured data on 18 of 18 cards.
| product | what the page shows | price / was_price | other fields |
|---|---|---|---|
| CASIO G-Shock watch, search row | 7 213 ₽, struck price shown on the card | 7213 / 12521 | discount_percent 42, stock_quantity 226, rating 4.8 (49) |
| CASIO G-Shock GBM-2100A-4B, product card | 18 096 ₽ · 30 389 ₽ · –40% | 18096 / 30389 | offers_count 2, offers_min_price 18070 |
| Same product, all sellers | two offers, 18 070 ₽ and 23 157 ₽ | 18070 and 23157 | seller name per offer |
price is always what the buyer pays without an account; was_price is the struck price and is null when nothing is discounted. Prices change during the day: the same card read 18 070 and then 18 096 rubles a few minutes apart, so store the time you read them.
What Yandex Market publishes — measured 2026-10-14
Numbers from three live runs on market.yandex.ru, Moscow region.
Row price = the row's own printed price on 80 of 80 rows in each run; card price = the card's structured data on 18 of 18 cards; with sku_id the cheapest offer equalled the card's 'from' price.
Title, URL, image, price, stock, model, SKU and offer id on every row; struck price on 75; rating on 76; shop name on 56 (rows without a named shop).
Page 1 up to 8-9 rows, later pages up to 16-17, 30 pages at most. total_results is the site's own figure.
About 66 of 80 sampled rows carried the site's promoted flag (sponsored: true).
Prices shown only after signing in, a separate Yandex Pay or Plus price for an anonymous visitor (none seen on 22 cards), and reviews (not returned by this API).
What people build with Yandex Market
The jobs this data is most often used for.
endpoints
credits per call
Track prices on Yandex Market: product/detail for your SKUs, with the paid price, struck price, stock and the cheapest competing offer.
Monitor competing sellers: product/offers lists every seller of a product with price, stock and delivery dates.
Map a category: category/products with the cheapest-first sort and a price range returns the market's price ladder.
Compare with Wildberries: the same keyword on both marketplaces gives paid and struck prices side by side.
What Yandex Market data costs
The cheapest call here is 3 credits, so $15/mo (Pro) buys 3,333 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 491 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/yandex-market/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"casio g-shock"}'import requests
r = requests.post(
"https://api.reefapi.com/yandex-market/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "casio g-shock"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Yandex Market.
Get a free key →Which prices does it return?▾
The price the buyer pays (price), the struck price (was_price) with the computed discount_percent, and on result rows the price the row itself prints (price_display), so you can check the unit. On a product card any further price the card prints with its own label goes to other_prices. In our 2026-10-14 sample (22 product cards, 72 result rows on six listing pages) an anonymous Moscow visitor was shown no separate Yandex Pay, bank-card or Plus price, so none is returned; prices that appear only after signing in are not available.
Which region are the prices for?▾
Moscow (region 213), in rubles. Every response carries a region block with the region id the page was served for, so a different region can never pass unnoticed.
Why is the card's price sometimes higher than the cheapest offer?▾
The product card shows its default offer, which is not always the cheapest one. The card also returns offers_count and offers_min_price (for example a card at 18 096 rubles said 'all 2 offers from 18 070'), and product/offers lists every seller with its own price.
What does sponsored mean?▾
It is the site's own flag for promoted placements in the result grid. On 2026-10-14 about 66 of 80 sampled rows were promoted. Rows are kept and flagged, never dropped, so you can filter them yourself.
How many rows does one page return?▾
The first result page returns up to 8 or 9 grid rows and later pages up to 16 or 17, up to page 30. Each row carries its position on the page. total_results is the site's own figure; it is not comparable between a keyword search and a keyword-less category listing.
How do I get every seller of a product?▾
Take model_id and sku_id from a search row or product card and call product/offers. With sku_id the offers match the card's own 'all offers' block (cheapest 7 213 = card's 7 213 in our runs); without it you get every variant of the model.
What does the seller block contain?▾
On product/detail: the shop name, its ids, rating, number of ratings and orders, subscribers, months on Yandex Market, its status badge, and the public legal record the card prints (legal form, registered name, tax number and registration number). Result rows carry the shop name and ids.
How fast is it?▾
One request to the source per call in almost every case. Over two identical runs, every positive call succeeded; median times were 2.7 to 4.8 seconds for search, 1.6 to 1.7 seconds for category listings, 3.4 to 3.5 seconds for product cards and 1.4 to 1.9 seconds for seller lists, with the slowest calls around 8 seconds.
What is the Yandex Market API?▾
Yandex Market API is a ReefAPI endpoint group for russia's yandex market as json: keyword search, category listings, full product cards with the price the buyer pays and the struck price, stock, specifications and the selling shop, and every seller offering a product. It returns live JSON through POST requests under /yandex-market/v1.
Is the Yandex Market API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Yandex Market calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Yandex Market login or account?▾
No login to Yandex Market is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Yandex Market data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Yandex Market API use?▾
Yandex Market actions currently cost 3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Yandex Market from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call yandex-market actions with the same key, credit pool and JSON envelope used by normal REST requests.
231 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Yandex Market, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 490 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-14.