Yandex Market Scraper
Pricing
from $6.00 / 1,000 product scrapeds
Yandex Market Scraper
Scrape Yandex Market (Яндекс Маркет) product data by keyword search, category URL, or product/card URL. Returns title, price, SKU, seller, stock, images, and badges. Cookieless HTTP Impit. MCP-ready.
Pricing
from $6.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape public product cards from Yandex Market (Яндекс Маркет). Paste search keywords or Market search, category, card, or product URLs and get one dataset row per product: title, price, currency, Market SKU, seller and shop IDs, stock signals, promo badges, and image URL when the public page exposes them.
Built for price-monitoring teams, RU ecommerce researchers, and AI agents that need a flat, billable product table from caller-supplied keywords or URLs — without a Yandex login.
Best fit
Use this Actor when you already know what to search (for example iPhone 15 or наушники) or you already have Market listing URLs and need priced product rows for monitoring, assortment research, or MCP/agent pipelines.
When you need place discovery on Yandex Maps, search with Yandex Maps Scraper, then for reviews continue with Yandex Maps Reviews Scraper. This Actor stays focused on Market product cards, not Maps places.
Designed for
- Keyword or URL → structured Market product rows with price and SKU.
- Pay per event pricing with caller-paid platform usage.
- Agent workflows that call
apify--yandex-market-scraperfor public product cards.
Scope
- Public Market listings and search results you are authorized to process.
- Optional product-page enrich for specs, rating, and brand when those pages are reachable.
- Sibling Maps Actors (linked above) cover places and reviews; keep this Actor on Market products.
Practical scenario
A pricing analyst pastes searchQueries: ["iPhone 15"], sets maxResults to 5, leaves enrich off, and keeps Residential proxy on. The run returns five public cards with title, RUB price, Market SKU, stock, and badges. They export CSV for a competitor price sheet, then schedule the same input nightly. Empty or unusable input finishes SUCCEEDED / INVALID_INPUT without product-scraped charges; an upstream SoftBlock with zero rows finishes as UPSTREAM_FAILED.
Quick start input
{"searchQueries": ["iPhone 15"],"maxResults": 5,"enrichDetails": false,"sortBy": "relevance","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "RU"}}
You can also paste Market URLs under startUrls (search, catalog, category, card, or product paths on the Market host).
Input reference
| Field | Type | What it controls |
|---|---|---|
searchQueries | array | Keywords in Russian or English. |
startUrls | array | Market search / catalog / category / card / product URLs. |
maxResults | integer | Cap on saved rows (default 20, max 500). Prefill 5 for cheap tests. |
minPrice / maxPrice | integer | Optional ruble bounds on search. |
sortBy | enum | relevance, priceAsc, priceDesc, rating, popularity. |
enrichDetails | boolean | Optional product-page enrich for specs/rating/brand (captcha-sensitive). |
proxyConfiguration | object | Recommended Residential with country RU. |
What data you receive
One dataset item is one public product card (or enriched product row).
| Field | Meaning |
|---|---|
title, price, currency, productUrl | Core listing identity and price. |
marketSku, modelId, oskuId | Market identifiers for dedupe and tracking. |
shopId, businessId, stockCount, badges | Seller and offer signals when exposed. |
imageUrl, description | Media and short feature blurb from search JSON-LD. |
searchQuery, sourceUrl, scrapedAt | Provenance for the row. |
{"title": "Смартфон Apple iPhone 15 128 ГБ, черный, версия для рынка Китая","productUrl": "https://market.yandex.ru/card/smartfon-apple-iphone-15-128-gb-chernyy-versiya-dlya-rynka-kitaya/6093276745","price": 52591,"currency": "RUB","marketSku": "6093276745","isAvailable": true,"stockCount": 54,"badges": ["Скидка 52%"],"imageUrl": "https://avatars.mds.yandex.net/get-mpic/.../orig","searchQuery": "iPhone 15","sourceUrl": "https://market.yandex.ru/search?text=iPhone+15","scrapedAt": "2026-09-17T13:14:00.455Z"}
OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and chargedEventCounts.
Pricing
This Actor uses Pay per event plus platform usage. Event prices below are the launch defaults; treat the live Pricing tab on the Actor page as the current source of truth, because platform usage (compute and proxy) is billed to the caller in addition to named events.
| Event | Price |
|---|---|
apify-actor-start | $0.00005 |
product-scraped (primary) | $0.006 per saved product |
Empty inputs and zero-row empty searches skip the product-scraped event. Worked example: maxResults: 5 on one keyword ≈ $0.00005 start + 5 × $0.006 = about $0.03005 in named events, plus platform usage.
Best results
Start with maxResults at 5 while validating a query, then raise the cap once Residential RU is confirmed for your account. Keep enrichDetails off for reliable search-only runs; turn it on only when you need specs or ratings and can tolerate product-page SoftBlocks. Prefer complete Market search or card URLs when you already have them. Pagination uses page=N on search/category jobs until the result cap is reached.
How it works
Market search and category pages server-render a schema.org ItemList of products plus productSnippet zone data. This Actor uses Impit Chrome-TLS HTTP with a homepage cookie warmup, merges those sources into one row per product, and paginates. Optional enrich opens card/product URLs for extra fields when they clear anti-bot checks.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~yandex-market-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries":["iPhone 15"],"maxResults":5}'
Use with AI agents through Apify MCP
Search Yandex Market for "iPhone 15", return up to 5 products with title, price, currency, marketSku, and productUrl. Read the dataset plus OUTPUT for outcome and provenance, then confirm cost on the Pricing tab.
Connect via https://mcp.apify.com. Cost signal: about $0.006 per saved product plus platform usage. Confirm current event prices on the Actor Pricing tab before large runs. Scope stays public product cards; pagination is controlled by maxResults.
Outcomes
| Outcome | Meaning |
|---|---|
COMPLETE | At least one product saved. |
PARTIAL | Some jobs produced rows; others hit a SoftBlock or charge cap. |
VALID_EMPTY | Jobs resolved but no public products matched. |
INVALID_INPUT | No usable queries or Market URLs were provided. |
UPSTREAM_FAILED | Transport or captcha with zero useful products. |
Legal & responsible use
Use this Actor for public Yandex Market product content you are authorized to process under applicable laws and site terms. Respect rate limits and local commerce rules. Keep use cases to legitimate price monitoring, research, and analytics. Yandex and Yandex Market are trademarks of their owners. This independent Actor is not affiliated with, associated with, or endorsed by Yandex.
Builder's note
I built this around Market search and category SSR HTML because those pages already embed a clean Product ItemList plus productSnippet offer metadata, so a browser is unnecessary for the primary path. In my testing, direct product and card pages SoftBlock more often with SmartCaptcha; Impit plus homepage cookie warmup and Residential session rotation cleared search reliably in the private release matrix, while enrich remains optional and fail-soft so search rows stay when a detail page SoftBlocks.