YandexMarket Scraper | Products, Prices and Sellers avatar

YandexMarket Scraper | Products, Prices and Sellers

Pricing

from $4.67 / 1,000 products

Go to Apify Store
YandexMarket Scraper | Products, Prices and Sellers

YandexMarket Scraper | Products, Prices and Sellers

Yandex Market scraper (Яндекс Маркет, Парсер Яндекс Маркета): pull full product cards by keyword, link or article number. 20 products in 32 seconds, 47 fields each: price, Yandex Pay card price, seller, rating, specs, reviews, stock and delivery date. Export to JSON, CSV or Excel. No account needed.

Pricing

from $4.67 / 1,000 products

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

YandexMarket Scraper (Яндекс Маркет) | Products, Prices and Sellers (2026)

YandexMarket products, 47 fields each, from any search.

From SilentFlow. Creators of Facebook Search Scraper and JD Products Scraper (#1 for “jd scraper” in Apify Store search), with 850,000+ combined lifetime runs.

Every Yandex Market product you search, link or list by article number, with its whole product card in one row: price, Yandex Pay card price, seller, specs, ratings, stock and delivery date. 20 products in 33 seconds on our default run.

Why choose this actor?

Opening Yandex Market cards one by one to copy a price into a spreadsheet? Checking competitor sellers by screenshot? Getting a product name and a price from a scraper, but not who sells it, whether it is in stock or when it arrives?

  • The whole product card, not a search snippet. 44 product fields per row, and on our two default runs (наушники, 20 products each) every row carried at least 42 of them, 43 on the median row: listing price and Yandex Pay card price, price before discount and discount, brand, category path, description, specifications, seller name, rating, orders and page, rating split from 1 to 5 stars, reviews, questions and purchase counts, stock, earliest delivery date, delivery type and price, return period, weight, package size and every photo. The most used Yandex Market scraper on the Store shows 26 keys in its example row.
  • Start from what you already have. Three ways in, mixed in one run: keywords, Yandex Market links (product card, older product page, search or category) and article numbers. In our tests a category link sorted cheapest first returned 15 products, and a list of 11 article numbers plus one older product link returned 12 products, the one unknown number skipped. The most used Yandex Market scraper on the Store takes a typed keyword only.
  • Nothing to fill in before the first run. No field is required. The form opens with a keyword and 20 products already set: press Start and the 20 products of the default run come back with their full cards. Paste your own links or article numbers when you are ready.

Try YandexMarket Scraper

Try your first 20 products

Paste this input in the JSON tab of the Input page and press Start. It reads the first 20 products Yandex Market lists for наушники (headphones), each with its full product card.

{
"searchQueries": ["наушники"],
"maxItems": 20
}

It runs on the Apify Free plan. Each product becomes one row of your dataset: open the Output tab to see the product table (title, brand, price, rating, reviews, seller, delivery date, link), switch to the Prices and stock or Sellers view, or open all fields. Export the rows as JSON, CSV, Excel or HTML, or read them from the API.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the YandexMarket Scraper on Apify: silentflow/yandexmarket-scraper
It reads Yandex Market (market.yandex.ru, Яндекс Маркет) products, one row per product with its full product card. No account needed.
Input (no field is required; an empty input searches "наушники"):
- searchQueries (array of strings): keywords as typed in the Market search box, e.g. ["наушники", "iPhone 16"]
- startUrls (array of {url} or strings): Market links: product card /card/<slug>/<id>, older product page /product--<slug>/<id>, search /search?text=..., category /catalog--<slug>/<nid>/list?hid=...
- productIds (array of strings): Market article numbers, the digits at the end of a /card/ link, e.g. ["4336358372"]
- maxItems (integer, default 50): most product rows saved in the run, all entries together
- sortBy (string, default "relevance"): relevance | priceAsc | priceDesc | rating
- minPrice, maxPrice (integer, roubles): price band for keywords, search and category links
- includeReviews (boolean, default false): add the buyer reviews shown on each card
- debugMode (boolean, default false)
Output per product (44 product fields + reviews + 4 run fields):
- id (string, Market article number), url (string, permanent card link), title (string)
- modelId, marketSku, wareId (string identifiers)
- brand, vendorId, categoryName, categoryId (string), breadcrumbs (array of strings), description (string), specifications (object name -> value), badges (array of strings)
- sellerName, sellerId, sellerUrl, sellerSku (string), sellerRating (number), sellerRatingCount, sellerOrdersCount (integer), isFulfilledByMarket (boolean)
- price, priceYaBank, oldPrice (number, roubles), discountPercent (integer), currency (string, "RUB")
- rating (number, 0 to 5), ratingCount, reviewCount, questionsCount, purchaseCount (integer), ratingDistribution (object "1".."5" -> count)
- isAvailable (boolean), stockCount (integer)
- deliveryDate (RFC 3339, Moscow time), deliveryType (string: pickup, courier, onDemand, realExpress...), deliveryPrice (number), deliveryRegion (string), returnDays (integer)
- weightKg (number), dimensionsCm (object width, height, depth)
- imageUrl (string), images (array of strings)
- reviews (array, only with includeReviews): id, rating, author, pros, cons, comment, likes, dislikes, hasPhotos, publishedAt
- searchQuery (string), sourceUrl (string), position (integer, rank in the search or category), scrapedAt (RFC 3339 UTC)
Missing values are null. Out-of-stock products keep their card with isAvailable false and price null.
Use apify-client for Python or JavaScript: client.actor("silentflow/yandexmarket-scraper").call(run_input=...)

How to scrape Yandex Market products

Get the first 20 products for a keyword

{
"searchQueries": ["наушники"],
"maxItems": 20
}

The products come in Yandex Market's own order, with their rank in position. Market counted 632 products for this keyword on our run; raise maxItems to read further.

Pull the cheapest headphones between 1,000 and 5,000 ₽ in a category

{
"startUrls": [
{ "url": "https://market.yandex.ru/catalog--naushniki-i-bluetooth-garnitury/26992150/list?hid=90555" }
],
"sortBy": "priceAsc",
"minPrice": 1000,
"maxPrice": 5000,
"maxItems": 15
}

On our run this returned 15 products from 14 different sellers, priced from 1,032 ₽. The sort and price band apply to the category exactly as the menus on the site do.

Read a fixed list of products by article number, with their reviews

{
"productIds": ["4336358372", "5467651575", "103796542775", "5210571350"],
"includeReviews": true
}

Each article number returns one row with the card's buyer reviews attached (13 per card on most products of our test). An article number Market no longer has is skipped and said in the log, never saved as an empty row.

Input parameters

FieldTypeDefaultWhat it does
searchQueriesarray of stringsprefilled наушникиKeywords as you would type them into the Yandex Market search box, in Russian or English. A Market link or an article number typed here is read as one.
startUrlsarray of linksnoneYandex Market links: product cards, older product pages, searches and categories.
productIdsarray of stringsnoneMarket article numbers (артикул Маркета), one per line.
maxItemsinteger50The most product rows the run saves, all entries together.
sortByselectrelevanceOrder of keywords, searches and categories: relevance (Market's order), priceAsc, priceDesc, rating.
minPriceintegernoneLowest price kept, in roubles.
maxPriceintegernoneHighest price kept, in roubles.
includeReviewsbooleanfalseAdds the buyer reviews shown on each product card.
debugModebooleanfalseDetailed logs, for troubleshooting.

Formats accepted

  • Product card links: https://market.yandex.ru/card/naushniki-ritmix-rh-524tv/103239999179, with or without https://, with tracking parameters (?sku=…&uniqueId=…) or a #reviews anchor, on market.yandex.ru or m.market.yandex.ru.
  • Older product pages: https://market.yandex.ru/product--smartfon-samsung-galaxy-s24/1288860543?sku=102662400826. The run finds the product card the page points to.
  • Searches: https://market.yandex.ru/search?text=ноутбук&how=aprice. The keyword, sort and price filters of the link are kept; the form's filters fill in what the link does not say.
  • Categories: https://market.yandex.ru/catalog--naushniki-i-bluetooth-garnitury/26992150/list?hid=90555, with or without /list.
  • Article numbers: 4336358372, typed as text or as a number. A full /card/ link pasted in the article number field works too.
  • Field names of other Yandex Market scrapers: query, queries, keywords, urls, priceFrom and priceTo are read as well, so an input written for another tool runs here unchanged.

The same product listed by two keywords, or given twice, is read and saved once.

What data can you extract from Yandex Market?

Each row is one product, its card read in full. 44 product fields in seven groups, plus the reviews when you ask for them and 4 fields that say where the row comes from.

GroupFieldsCount
Identityid (article number), url, title, modelId, marketSku, wareId6
Contentbrand, vendorId, categoryName, categoryId, breadcrumbs, description, specifications, badges8
SellersellerName, sellerId, sellerUrl, sellerRating, sellerRatingCount, sellerOrdersCount, sellerSku, isFulfilledByMarket8
Pricesprice, priceYaBank, oldPrice, discountPercent, currency5
Ratings and demandrating, ratingCount, reviewCount, ratingDistribution, questionsCount, purchaseCount, isAvailable, stockCount8
Delivery and packagedeliveryDate, deliveryType, deliveryPrice, deliveryRegion, returnDays, weightKg, dimensionsCm7
MediaimageUrl, images2
Reviews (optional)reviews[]: id, rating, author, pros, cons, comment, likes, dislikes, hasPhotos, publishedAt10 per review
RunsearchQuery, sourceUrl, position, scrapedAt4

What the fields hold:

  • price is what any buyer pays; priceYaBank is the lower price paid with the Yandex Pay card, shown in green on the card; oldPrice is the crossed-out price and discountPercent the discount Market displays. All in roubles (currency is RUB).
  • specifications is an object of the key characteristics shown on the card (a median of 11 per product on our runs), such as "Импеданс": "32 Ом". breadcrumbs is the category path from the top of the catalogue.
  • sellerOrdersCount and purchaseCount are Market's own rounded counters (11.7M orders becomes 11700000). sellerRatingCount is the exact number of ratings the seller collected.
  • isFulfilledByMarket is true when Market stores and ships the product from its own warehouse.
  • deliveryDate is the earliest delivery Market promises, in RFC 3339 with the Moscow offset (2026-11-01T00:00:00+03:00; express deliveries carry the hour). deliveryType says how: pickup, courier, onDemand or realExpress.
  • id is the Market article number, stable for as long as the product is listed, and url the permanent card link built from it.
  • Values the card does not show are null, never an empty text or a 0.

Output example

A real row from our default run (наушники), complete. The images list held 6 photos on this product.

{
"id": "103239999179",
"url": "https://market.yandex.ru/card/naushniki-ritmix-rh-524tv/103239999179",
"title": "Проводные наушники RITMIX RH-524TV, черный, кабель 5м, штекер 3,5 мм",
"modelId": "6136625889",
"marketSku": "101124023396",
"wareId": "pko6YK3WN0ak_JVQQ43wxQ",
"brand": "Ritmix",
"vendorId": "948222",
"categoryName": "Наушники и Bluetooth-гарнитуры",
"categoryId": "90555",
"breadcrumbs": [
"Электроника",
"Наушники и аудиотехника",
"Наушники и Bluetooth-гарнитуры",
"Наушники и Bluetooth-гарнитуры Ritmix"
],
"description": "Наушники Ritmix RH-524TV - это полноразмерные динамические наушники, которые отлично подойдут для тех, кто в музыке превыше всего ценит качественный звук.\nБлагодаря специальной улучшенной форме оголовья, наушники Ritmix RH-524TV удобно носить: они не сваливаются с головы, но и не давят на нее слишком сильно. Подушечки на наушниках обеспечивают хороший уровень шумоизоляции.Характеристики:Тип товара: наушники;\nПроизводитель: Ritmix;\nМодель: RH-524TV;\nПодключение: проводное;\nТип наушников: полноразмерные, динамические;\nДиапазон воспроизводимых частот: 20 - 20000 Гц;\nИмпеданс: 32 Ом;\nДиаметр мембраны: 40 мм;\nЧувствительность: 99 дБ;\nТип крепления: оголовье;\nДлина кабеля: 5 метров;\nЦвет: черный.",
"specifications": {
"Бренд": "Ritmix",
"Вес": "135 г",
"Импеданс": "32 Ом",
"Конструкция": "полноразмерные",
"Максимальная воспроизводимая частота": "20000 Гц",
"Минимальная воспроизводимая частота": "20 Гц",
"Особенности": "прямой разъем",
"Тип": "проводные наушники",
"Тип акустического оформления": "закрытые",
"Тип крепления": "оголовье",
"Чувствительность": "99 дБ"
},
"badges": ["ОРИГИНАЛ"],
"sellerName": "Мультирум",
"sellerId": "757189",
"sellerUrl": "https://market.yandex.ru/business--multirum/757189",
"sellerRating": 4.7,
"sellerRatingCount": 13134,
"sellerOrdersCount": 113100,
"sellerSku": "80001008",
"isFulfilledByMarket": true,
"price": 639,
"priceYaBank": 620,
"oldPrice": 1390,
"discountPercent": 55,
"currency": "RUB",
"rating": 4.5,
"ratingCount": 3022,
"reviewCount": 1034,
"ratingDistribution": { "1": 135, "2": 103, "3": 186, "4": 373, "5": 2225 },
"questionsCount": 21,
"purchaseCount": 8400,
"isAvailable": true,
"stockCount": 16,
"deliveryDate": "2026-11-01T00:00:00+03:00",
"deliveryType": "pickup",
"deliveryPrice": 0,
"deliveryRegion": "Москва",
"returnDays": 7,
"weightKg": 0.347,
"dimensionsCm": { "width": 10, "height": 18, "depth": 24 },
"imageUrl": "https://avatars.mds.yandex.net/get-mpic/4120567/2a0000019a5cf4a79be657870a5aeef36045/orig",
"images": [
"https://avatars.mds.yandex.net/get-mpic/4120567/2a0000019a5cf4a79be657870a5aeef36045/orig",
"https://avatars.mds.yandex.net/get-mpic/11397991/2a0000018bf62b7688a05101396e7c03a84c/orig",
"https://avatars.mds.yandex.net/get-mpic/11393104/2a0000018bf62b7686242f9c46f7c4604e07/orig",
"https://avatars.mds.yandex.net/get-mpic/9737239/2a0000018bf62b768771497734f5129648c3/orig",
"https://avatars.mds.yandex.net/get-mpic/12301852/2a0000018bf62b7686e09c12de24fc3311da/orig",
"https://avatars.mds.yandex.net/get-mpic/11396862/2a0000018bf62b76cd345996f06304e72dc8/orig"
],
"searchQuery": "наушники",
"sourceUrl": "https://market.yandex.ru/search?text=%D0%BD%D0%B0%D1%83%D1%88%D0%BD%D0%B8%D0%BA%D0%B8",
"position": 13,
"scrapedAt": "2026-10-31T14:55:28Z"
}

With includeReviews, each row also carries a reviews list. One real entry:

{
"id": "450655142",
"rating": 5,
"author": "Толян Ярда",
"pros": "Качественный товар",
"cons": "нету",
"comment": "Качественный звук",
"likes": 0,
"dislikes": 0,
"hasPhotos": true,
"publishedAt": "2026-06-17T00:00:00+03:00"
}

Advanced usage

Track the price and stock of your product list every morning

{
"productIds": ["103239999179", "4336358372", "5467651575", "103796542775"],
"maxItems": 500
}

Save this input as a task and schedule it daily: each run adds one row per product with today's price, priceYaBank, discountPercent, isAvailable, stockCount and deliveryDate. Join the runs on id to chart a price over time. Products that sold out keep their row with isAvailable false.

Map who sells a brand, and at which price

{
"searchQueries": ["наушники Sony", "наушники JBL"],
"sortBy": "priceAsc",
"maxItems": 100
}

Open the Sellers view: every row names its seller with sellerRating, sellerOrdersCount, sellerUrl and whether Market ships from its own warehouse (isFulfilledByMarket). Sort by price to spot the seller undercutting the rest.

Mix keywords, links and article numbers in one run

{
"searchQueries": ["робот-пылесос"],
"startUrls": [
{ "url": "https://market.yandex.ru/search?text=ноутбук&how=rating" },
{ "url": "https://market.yandex.ru/card/naushniki-ritmix-rh-524tv/103239999179" }
],
"productIds": ["5467651575"],
"maxItems": 60
}

Links and article numbers are read first, then the keywords, until maxItems rows are saved. A product found twice is saved once, and sourceUrl tells you which entry each row came from.

Collect the reviews and rating split of a category's best rated products

{
"startUrls": [
{ "url": "https://market.yandex.ru/catalog--naushniki-i-bluetooth-garnitury/26992150/list?hid=90555" }
],
"sortBy": "rating",
"includeReviews": true,
"maxItems": 30
}

Each row brings rating, ratingCount, the 1 to 5 star split in ratingDistribution, reviewCount, questionsCount, and the reviews shown on the card with their pros, cons and dates. A quick base for a product benchmark or a content audit.

{
"startUrls": [
"https://market.yandex.ru/product--smartfon-samsung-galaxy-s24/1288860543?sku=102662400826"
]
}

Links in the older /product-- format still work: the run finds the product card each one points to and saves it with its current article number in id and its card link in url.

FAQ

What is Yandex Market? Yandex Market (Яндекс Маркет, market.yandex.ru) is the online marketplace run by Yandex, the Russian counterpart of Amazon next to Ozon and Wildberries. Independent sellers and Market itself list electronics, home goods, clothing and groceries there, and Market can store and ship a seller's products from its own warehouses.

What does the scraper extract exactly? One row per product with its card: identifiers, title, brand, category path, description, specifications and badges; the seller with its rating, orders and page; listing price, Yandex Pay card price, price before discount and discount; rating, rating split, reviews, questions and purchases; stock; earliest delivery date, type and price; return period, weight, package size and photos. Turn on includeReviews for the buyer reviews shown on the card.

Do I need a Yandex account or a seller cabinet? No. The actor reads what Yandex Market shows any visitor. No login, no API key, nothing to install.

Which city are prices, stock and delivery dates for? Moscow, the city Yandex Market uses for a visitor without a saved address. deliveryRegion says so on every row. Delivery dates and stock for another city can differ.

Why is the price empty on some rows? The product is out of stock: Yandex Market shows no price for it. The row keeps the rest of the card (title, seller, rating, reviews, photos) with isAvailable set to false, so a sold-out competitor stays visible in your tracking.

What is priceYaBank? The lower price Yandex Market shows for payment with the Yandex Pay card (the green price on the card). price is the price any buyer pays. When a card shows no card discount, priceYaBank is null.

How many products can I get per keyword? As many as Yandex Market lists, up to your maxItems. Market lists a few hundred products for a common keyword (it counted 632 for наушники on our run) and the run reads them page after page, one full card per product: our default run saved 20 products in 33 seconds.

Can I run several keywords, links and article numbers at once? Yes. Put them all in one input; maxItems caps the total. A product listed by two keywords is read and saved once, and searchQuery, sourceUrl and position tell you where each row came from.

Can I combine the sort and the price band? Yes, they add up. sortBy: priceAsc with minPrice: 1000 and maxPrice: 5000 on the headphones category returned the cheapest headphones of that band first, from 1,032 ₽ on our run. Filters already written in a pasted search or category link are kept as they are.

How fresh is the data? Live. Every card is read at run time, nothing comes from a cache. Schedule the actor to follow prices and stock day after day.

Are the links and image URLs permanent? url is the product's card link and works as long as the product is listed. id is the Market article number and stays the same. images are the full-size photos the seller uploaded on Yandex Market; download them if you need an archive, since a seller can replace a photo at any time.

What happens with a product that was deleted? It is skipped and counted in the log ("no longer on Yandex Market"). The dataset never holds an empty or error row.

Can I call it from Python, JavaScript or an AI agent? Yes. Use the Apify API or apify-client (client.actor("silentflow/yandexmarket-scraper").call(...)), connect it to Make, Zapier or n8n, or let an AI agent run it through the Apify MCP server. The block in "Copy to your AI assistant" gives an assistant everything it needs.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🎬 Video

📰 News

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This actor extracts publicly available data from Yandex Market: the product cards, prices, seller names and reviews that the site shows to any visitor. It does not bypass any login or paywall and reads nothing behind an account. Users are responsible for complying with Yandex Market's terms of service and with the data protection laws that apply to them (GDPR in the EU, CCPA in California, PIPL in China, and Russia's personal data law 152-FZ where relevant). Reviews carry the display name their author chose: handle rows with reviews as personal data where the law requires it. The data is informational; verify it before any regulated use.

Built by SilentFlow for marketplace sellers, brands, pricing teams and analysts who work on Yandex Market. Парсер Яндекс Маркета: товары, цены и продавцы.