# Yandex Market API scraper — market.yandex.ru, one of Russia's largest marketplaces: keyword search, category listings, full product cards (current and struck price, stock, specifications, seller with its public legal record) and every seller offering a product, priced for Moscow. No account, no browser.

> Search Yandex Market by keyword: the result grid with the price the buyer pays and the struck price, stock, rating, seller, delivery dates and the promoted-row flag, sorted and price-filtered like the site.
> ReefAPI engine `yandex-market` · 4 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/yandex-market/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free except verified SHEIN NOT_FOUND on product/detail and price (4 credits).
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Send the key as `Authorization: Bearer <key>`, or put it in the URL (`?key=<key>`) when the client has no header field, as ChatGPT does.

## Endpoints

### POST https://api.reefapi.com/yandex-market/v1/search — 3 credits
Search Yandex Market by keyword: the result grid with the price the buyer pays and the struck price, stock, rating, seller, delivery dates and the promoted-row flag, sorted and price-filtered like the site.

**Parameters:**
- `query` (string, required) — What to search for, as typed on market.yandex.ru (Russian or Latin).
- `page` (integer, optional, default 1) — Result page, 1-30 (the site stops at page 30).
- `sort` (enum, optional, default "popular") — Result order — the site's own four sorts. [one of: popular, price_asc, price_desc, rating]
- `price_min` (integer, optional) — Lowest price in rubles (applied to the price the buyer pays).
- `price_max` (integer, optional) — Highest price in rubles (applied to the price the buyer pays).

**Returns:** results[{position, product_id, sku_id, model_id, offer_id, title, url, image, price (what the buyer pays, RUB), was_price (struck price, only when discounted), discount_percent (computed), discount_badge_percent (the site's own badge), price_display (the row's printed price), currency, available, stock_quantity, rating, rating_count, purchase_count, seller{name, shop_id, business_id, supplier_id}, brand_id, category_id, is_express, is_cross_border, sponsored (promoted row, the site's flag), badges[], delivery[{type, date_from, date_to}]}], count, page, total_results (the source's own figure), total_pages, has_more, sort_applied, carousel_rows_dropped, region{id, delivery_point, delivery_point_id}, query

**Example request body:**
```json
{
  "query": "casio g-shock"
}
```

### POST https://api.reefapi.com/yandex-market/v1/category/products — 3 credits
List one Yandex Market category (optionally with a keyword inside it), with the site's sorts and price filter; same row fields as search.

**Parameters:**
- `category` (string, required) — Category id (the number in a market.yandex.ru category URL, /catalog--<name>/<id>/list) or the category URL itself.
- `query` (string, optional) — Optional keyword to search inside the category.
- `page` (integer, optional, default 1) — Result page, 1-30 (the site stops at page 30).
- `sort` (enum, optional, default "popular") — Result order — the site's own four sorts. [one of: popular, price_asc, price_desc, rating]
- `price_min` (integer, optional) — Lowest price in rubles (applied to the price the buyer pays).
- `price_max` (integer, optional) — Highest price in rubles (applied to the price the buyer pays).

**Returns:** results[{position, product_id, sku_id, model_id, offer_id, title, url, image, price (what the buyer pays, RUB), was_price (struck price, only when discounted), discount_percent (computed), discount_badge_percent (the site's own badge), price_display (the row's printed price), currency, available, stock_quantity, rating, rating_count, purchase_count, seller{name, shop_id, business_id, supplier_id}, brand_id, category_id, is_express, is_cross_border, sponsored (promoted row, the site's flag), badges[], delivery[{type, date_from, date_to}]}], count, page, total_results (the source's own figure), total_pages, has_more, sort_applied, carousel_rows_dropped, region{id, delivery_point, delivery_point_id}, category_id, query

**Example request body:**
```json
{
  "category": "51960073"
}
```

### POST https://api.reefapi.com/yandex-market/v1/product/detail — 3 credits
One Yandex Market product card by product number or URL: title, brand, category path, images, description, specifications, current and struck price, stock, rating, the selling shop with rating, order count and public legal record, and how many sellers offer it from which price.

**Parameters:**
- `product_id` (string, optional) — Yandex Market product number — the number at the end of a product URL (/card/<name>/<number>); search rows return it as product_id.
- `url` (string, optional) — Alternative to product_id: a market.yandex.ru product URL.

**Returns:** product{product_id, sku_id, model_id, offer_id, title, brand, brand_id, url, category{id, nav_id, name, path[{name, category_id, nav_id, slug}]}, images[], description, specifications[{group, name, value}], price, was_price, discount_percent, discount_display, other_prices[{label, price}], price_ld (the page's ld+json price), currency, available, stock_quantity, rating, rating_count, seller_review_count, badges[], seller{name, business_id, shop_id, supplier_id, rating, rating_count, orders_count, subscribers_count, months_on_market, status, legal_form, legal_name, tax_id, registration_number, is_cross_border}, offers_count, offers_min_price, offers_model_id, alternative_offers[{offer_id, price, delivery_by, delivery_dates, delivery_price, selected}]}, region{id, delivery_point, delivery_point_id}

**Example request body:**
```json
{
  "product_id": "5043358260"
}
```

### POST https://api.reefapi.com/yandex-market/v1/product/offers — 3 credits
Every seller offering one Yandex Market product (by model_id): each offer's price and struck price, stock, seller, rating and delivery dates.

**Parameters:**
- `model_id` (string, required) — Model id shared by every seller of one product — search rows and product/detail return it as model_id.
- `sku_id` (string, optional) — Optional: narrow the offers to one variant (sku_id from a row or the card).

**Returns:** offers[{position, product_id, sku_id, model_id, offer_id, title, url, image, price (what the buyer pays, RUB), was_price (struck price, only when discounted), discount_percent (computed), discount_badge_percent (the site's own badge), price_display (the row's printed price), currency, available, stock_quantity, rating, rating_count, purchase_count, seller{name, shop_id, business_id, supplier_id}, brand_id, category_id, is_express, is_cross_border, sponsored (promoted row, the site's flag), badges[], delivery[{type, date_from, date_to}]}], count, total_offers, model_id, sku_id, region{id, delivery_point, delivery_point_id}

**Example request body:**
```json
{
  "model_id": "1465114152"
}
```

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=yandex-market
- Human docs page: https://reefapi.com/docs/yandex-market
- Overview page: https://reefapi.com/yandex-market-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
