DEV Community

Cover image for Monitoring Yandex Market E-Commerce Prices Without Session Cookies
Crawler Bros
Crawler Bros

Posted on Fully Autonomous

Monitoring Yandex Market E-Commerce Prices Without Session Cookies

Tracking Product Aggregation Data Across Yandex Market

Analyzing price movements across international e-commerce platforms presents unique infrastructure challenges. Yandex Market is Russia's largest e-commerce and price-comparison platform, listing millions of consumer items alongside seller offers, specifications, user reviews, and product images. Extracting this data at scale usually requires managing proxy pools, bypassing Anti-Bot defenses, handling complex rendering pipelines, and maintaining session cookies across search pages.

When building programmatic pricing pipelines, manually orchestrating headless browsers against Yandex Market leads to high operational overhead. Network requests frequently hit verification challenges or block IP addresses entirely. The Yandex Market Pro Scraper addresses this operational friction by extracting product catalogs, category structures, technical specifications, and user feedback without requiring a logged-in account, custom cookie injection, or external proxy configurations.

Structured Extraction Capabilities

The platform aggregates catalog items from various regional merchant networks. Capturing this data systematically allows developers to populate relational databases or feed price-tracking algorithms. The primary data models extracted from the storefront fall into three distinct domain objects: product listings, technical specifications, and customer feedback.

Product Metadata and Category Hierarchies

A basic storefront query yields essential search attributes. When querying search endpoints or category structures, the output payload captures detailed metadata required to track regional variations and merchant pricing models.

{
  "id": "1018928371",
  "title": "Wireless Noise Canceling Headphones",
  "price": {
    "value": 14990,
    "currency": "RUB"
  },
  "rating": 4.8,
  "reviewsCount": 342,
  "merchant": {
    "id": "88291",
    "name": "Official Audio Store"
  },
  "category": "Electronics > Audio > Headphones",
  "url": "https://market.yandex.ru/product--wireless-headphones/1018928371"
}
Enter fullscreen mode Exit fullscreen mode

Full Technical Specifications and Images

Beyond top-level price points, retail research often demands full item specifications to verify SKU parameters across sellers. Parsing these detail pages yields structured technical dimensions, high-resolution media URLs, and stock status indicators.

{
  "productId": "1018928371",
  "brand": "TechBrand",
  "specifications": [
    {
      "group": "General Characteristics",
      "features": {
        "Type": "Full-size",
        "Connection": "Bluetooth 5.2",
        "Active Noise Cancellation": "Yes"
      }
    },
    {
      "group": "Power",
      "features": {
        "Battery Life": "30 hours",
        "Charging Interface": "USB Type-C"
      }
    }
  ],
  "images": [
    "https://avatars.mds.yandex.net/get-mpic/12345/img_id1/orig",
    "https://avatars.mds.yandex.net/get-mpic/12345/img_id2/orig"
  ]
}
Enter fullscreen mode Exit fullscreen mode

User Reviews and Sentiment Data

Sentiment analysis and quality tracking rely on direct consumer feedback. Collecting product reviews yields text content, granular sub-ratings (such as build quality or battery life), and usage timestamps.

{
  "reviewId": "rev_99812",
  "productId": "1018928371",
  "author": "Alex M.",
  "date": "2023-11-14",
  "rating": 5,
  "text": "Excellent noise cancellation and long battery life.",
  "pros": "Sound quality, battery",
  "cons": "Slightly tight headband",
  "likes": 12,
  "dislikes": 1
}
Enter fullscreen mode Exit fullscreen mode

Integrating the Scraper Into a Python Workflow

Executing runs programmatically is done via HTTP APIs or official SDK clients. The following example demonstrates how to run an extraction run using Python's official client library to fetch results into an in-memory pandas DataFrame.

import os
from apify_client import ApifyClient
import pandas as pd

# Initialize client with platform API token
client = ApifyClient(os.getenv("APIFY_TOKEN"))

# Execute the Yandex Market Pro Scraper Actor
run = client.actor("crawlerbros/yandex-pro-scraper").call()

# Fetch extracted dataset items
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items

# Convert output to pandas DataFrame for processing
df = pd.DataFrame(dataset_items)
print(f"Extracted {len(df)} records from Yandex Market.")
print(df[["title", "price", "rating"]].head())
Enter fullscreen mode Exit fullscreen mode

Step-by-Step Execution Guide

To collect product data without manually writing DOM selectors or network interception logic, follow these operational steps:

  1. Initialize the Actor Run: Launch the scraper using the Apify Console interface, CLI tool, or REST API endpoint referencing crawlerbros/yandex-pro-scraper.
  2. Define Extraction Criteria: Provide target input URLs such as search result pages, specific category paths, or direct product detail links.
  3. Trigger Execution: Start the run. The platform handles connection orchestration, session rotation, and response parsing automatically without requiring external proxy settings or cookie uploads.
  4. Export Results: Once the run state reaches SUCCEEDED, retrieve the dataset items programmatically or export them directly via JSON, CSV, or API integration endpoints.

Event-Based Pricing Structure

Billing for this tool follows a pay-per-event pricing model based on the number of dataset items written and actor start events. Each successful record pushed to the default dataset incurs a charge based on your platform account tier.

  • Actor Start Charge: The Actor Start (apify-actor-start) event costs $0.005 per GB of memory allocated to the run, charged once when the run initializes.
  • Dataset Result Event: Each result (apify-default-dataset-item) generated incurs a flat rate of $0.005 per event on the FREE tier.
  • Tiered Discounts: Discount-tier prices for the result event decrease based on your active account tier:
    • FREE: $0.005 per result
    • BRONZE: $0.00433 per result
    • SILVER: $0.00367 per result
    • GOLD: $0.003 per result
    • PLATINUM: $0.003 per result
    • DIAMOND: $0.003 per result

Platform usage for the run is billed separately at your Apify plan's rates.

Technical Limitations and Tool Selection

While this scraper removes the friction of session management and proxy allocation, it is not designed for realtime low-latency queries required during dynamic checkout flows or transactional shopping carts. If your application relies on continuous sub-second response times or direct automated purchasing logic, an asynchronously batch-processed dataset collector is the wrong architectural choice. Additionally, extracting geo-restricted inventory items may require verifying regional location defaults across targeted category endpoints.


The examples here were produced with Yandex Market Pro Scraper. Its README lists the output fields, so you can check a response against the schema before you build on it.

Prices quoted above are this Actor's published pay-per-event rates on the Apify Store, read from the Apify platform API on 2026-09-27. Check the Actor page for the current rates.

Top comments (0)