Ozon Scraper: Ozon Product Prices and Reviews | Парсер Озон
Pricing
from $2.50 / 1,000 products
Ozon Scraper: Ozon Product Prices and Reviews | Парсер Озон
Ozon scraper for Russia's largest marketplace. Search ozon.ru by keyword for title, price in roubles, pre-sale price, discount, rating, review count and link, or give product links to get customer reviews (отзывы) with stars, text and photos. No login. $2.50 per 1,000 products.
Pricing
from $2.50 / 1,000 products
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
26
Total users
9
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Ozon.ru Scraper | Парсер Озон: Prices, Reviews, Sellers
From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 330,000 runs across 320+ public actors.
Updated 26 Oct 2026: version 2. Category, brand and seller links, price filters, questions with answers, and 36 products per request when you sort by price. The keyword search, the review rows and every field of version 1 are unchanged. Bookmark this Actor on its Store page so it is one click away next time.
Search Ozon, Russia's largest online marketplace, by keyword or paste a category, brand or seller link. You get one row per product with the price in roubles as a number, the crossed-out price, the discount, the rating, the earliest delivery date and the stock left. Give product links in the review and question inputs and you can collect customer reviews (отзывы) and questions with answers (вопросы).
Why choose this actor?
- The cheapest way to watch a whole category. Sort by price and Ozon returns 36 products in a single request, so a 300 product crawl took 10 requests and 90 seconds in our test (about 6 KB per row, 0 failed requests). A seller's whole store or a category page works the same way.
- Questions and reviews from the same actor. Up to about 40 distinct questions per product (the most Ozon shows to a visitor without an account, read in its four orderings), each with every answer under it, plus 30 reviews per request with photos, videos and the star breakdown.
- You pay per row. Empty searches, failed pages, sold-out products, the summary row and duplicates are never charged. The unblocker proxy that Ozon needs is included in the price: no proxy setup and no Ozon account.
Part of The Mine Works E-commerce and marketplaces family: ⭐ Amazon Reviews Scraper, Amazon Product Scraper, Etsy Listings Scraper, AliExpress Scraper, Kleinanzeigen.de Scraper, Carsales.com.au Scraper.
Try it in one minute
Paste this into the JSON tab of the input page and press Start. It returns 24 laptops with prices and discounts; our test run of exactly this input took 114 seconds, because Ozon answers slowly through the unblocker.
{"queries": ["ноутбук"],"maxItems": 24}
Put several keywords on separate lines to run several searches at once. A product found by two keywords is delivered once. Russian keywords return far more than English ones, because Ozon indexes Russian titles.
Apify's free plan includes $5 of credit every month, which covers about 1,900 listing rows at this actor's price.
Copy to your AI assistant
themineworks/ozon-product-search on Apify. Scrapes Ozon.ru (Russia's largest marketplace). Input: queries (array of keywords, Russian works best), startUrls (array of ozon.ru category, brand, seller or search links), maxItems (1 to 2000, default 50, shared by all sources), sort ("score" default, "price", "price_desc", "new", "rating", "discount"; price sorts return 36 products per request), minPrice and maxPrice in roubles, reviewProductUrls and maxReviewsPerProduct and reviewSort, questionProductUrls and maxQuestionsPerProduct, monitorMode (only rows not delivered before). Output: rows with record_type "product" (listing row), "review" or "question"; rows with _type "summary", "info", "error" or "unavailable" are run reports and are never billed. Call ApifyClient("TOKEN").actor("themineworks/ozon-product-search").call(run_input={"queries": ["ноутбук"], "maxItems": 50}), then client.dataset(run["defaultDatasetId"]).list_items().items. Pay per event: listing row $0.0025, review $0.0025 on the Free plan (lower on paid plans), questions are not charged for now, plus $0.005 per run. Full spec: GET https://api.apify.com/v2/acts/themineworks~ozon-product-search/builds/default (Bearer TOKEN) returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
Key features
- Keyword, category, brand and seller sources. Type keywords, or paste links such as
https://www.ozon.ru/category/smartfony-15502/, a brand page orhttps://www.ozon.ru/seller/<store>/. Filters you set on Ozon inside a link are kept. Pages are followed untilmaxItemsor the end of the listing. - Six sort orders and a price range. Relevance, price low to high, price high to low, newest, best rated and biggest discount, plus
minPriceandmaxPricein roubles. Ozon applies the range to the price before the Ozon Card discount, so a card price can sit a little below your minimum. - Delivery date and stock on every listing row.
delivery_labelis the earliest date Ozon shows on the card (for exampleЗавтраor3 ноября),stock_leftthe units left when Ozon shows a counter, andmax_order_quantitythe largest order it accepts. - Customer reviews. One row per review with stars, text, pros and cons, photos, videos, date, helpful votes and the product's star breakdown. Three orders: newest and most useful, highest rated, lowest rated.
- Questions with answers. One row per question with every answer under it: the author, whether it came from Ozon, the text, the date and the votes.
- Monitor mode. On a schedule, deliver and charge only products, reviews and questions your account has not received before.
- Stops cleanly. Four pages in a row that fail after eight tries each end the run, two listing waves with no new product end a search, and the run stops before its time limit and keeps every row. The summary row says why and reports the failed request count.
How to use it
Keyword search
{"queries": ["наушники", "беспроводные наушники"],"maxItems": 200}
maxItems is shared by all sources and filled in the order you list them.
A whole category, cheapest first
{"startUrls": ["https://www.ozon.ru/category/smartfony-15502/"],"sort": "price","minPrice": 10000,"maxPrice": 30000,"maxItems": 500}
Price sorts return 36 products per request, so this is the cheapest way to read a large category. Relevance and rating sorts return 8 per request.
A competitor's store
{"startUrls": ["https://www.ozon.ru/seller/dubaidutyfree/"],"sort": "price_desc","maxItems": 300}
Every product the seller lists, with price, discount, rating and delivery date. Run it on a schedule with monitorMode to see new listings.
Reviews and questions
{"reviewProductUrls": ["https://www.ozon.ru/product/3555507925/"],"maxReviewsPerProduct": 100,"reviewSort": "score_asc","questionProductUrls": ["https://www.ozon.ru/product/3555507925/"],"maxQuestionsPerProduct": 40}
score_asc reads the lowest rated reviews first, which is where product defects show up. Reviews arrive 30 per request: 65 reviews took 3 requests in our test.
Daily price watch
{"startUrls": ["https://www.ozon.ru/category/pylesosy-robot-pylesosy-9387/"],"sort": "price","maxItems": 300}
Save it as a task and schedule it daily. Join the days on product_id and compare price_rub with original_price_rub to separate real markdowns from inflated list prices.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
queries | array of strings | none (form prefill: ноутбук) | Product keywords. Russian returns far more results. Repeats removed. |
startUrls | array of strings | none | ozon.ru category, brand, seller, search or product links, or bare product IDs. Only ozon.ru is read. |
maxItems | integer (1 to 2,000) | 50 | Most product rows across all sources. |
sort | string | score | score, price, price_desc, new, rating or discount. |
minPrice, maxPrice | integer | none | Price range in roubles. |
reviewProductUrls | array of strings | none | Product links or IDs whose reviews you want, up to 50 products. |
maxReviewsPerProduct | integer (1 to 2,000) | 100 | Most reviews per product. |
reviewSort | string | usefulness_desc | usefulness_desc, score_desc or score_asc. |
questionProductUrls | array of strings | none | Product links or IDs whose questions you want, up to 50 products. |
maxQuestionsPerProduct | integer (1 to 500) | 50 | Most questions per product. Ozon shows about 40 to 80 distinct ones. |
monitorMode | boolean | false | Deliver and charge only rows your account has not received from this actor before. |
maxConcurrency | integer (1 to 8) | 3 | Pages read at the same time. |
"Form prefill" values fill the Console form for you but are not defaults. A run needs at least one keyword, link or product for reviews or questions; with none it returns an info row and charges nothing.
Timing. Ozon answers slowly through the unblocker, 10 to 60 seconds a request, and refuses many requests with an empty 502 answer, so each page is retried with a fresh route (up to eight tries). Measured on 10 Nov 2026 on the platform: 24 listing rows in 69 seconds, 40 price-sorted listing rows in 54 seconds. Plan for a few minutes per run, not seconds. The default run timeout is 3,600 seconds.
What data do you get?
Listing rows (record_type: "product"): product_id, title, brand when Ozon prints it, price_rub and price_text, price_is_card_price, original_price_rub and original_price_text and discount and discount_percent on sale items, rating, review_count and reviews_text where the product has reviews, seller_rating and sold_by (Ozon) when shown, image and images, badges and price_dropped, stock_left, stock_text and max_order_quantity, delivery_label, is_adult, product_url (tracking parameters removed), search_query, source, position and scraped_at. Fields Ozon does not show for a product are left out of its row.
Review rows (record_type: "review"): review_id, product_id, product_name, rating (1 to 5), text, pros, cons, photos and videos with their counts, author_name (as Ozon displays it), published_at, useful_votes, not_useful_votes, comment_count, the product's product_rating, product_review_count and rating_breakdown, and review_url.
Question rows (record_type: "question"): question_id, product_id, product_name, question, author_name, published_text, answer_count and answers (each with answer_id, author, is_official, text, published_text, likes, dislikes).
Each run ends with a _type: "summary" row (rows by type, requests made, failed requests and the failure percentage, megabytes, requests per row, charges) and an _type: "info" row. Neither is ever charged. Skip rows that have a _type field when you load the data.
Stable fields for automations
These listing fields were present in every listing row in our test runs (499 rows): record_type, product_id, title, price_rub, price_text, image, images, is_adult, product_url, source, position, scraped_at. Review rows (105) always carried review_id, rating, text, published_at, useful_votes and review_url; question rows (100) always carried question_id, question, author_name, published_text and answers. We will not rename fields. New fields may be added over time; existing ones keep their names.
Output examples
Real rows from runs on 26 Oct 2026.
A discounted listing row (price sort, keyword наушники):
{"record_type": "product","product_id": "3524956175","title": "Samsung Смартфон Galaxy S26 Ultra Ростест (EAC) 16/1 ТБ, Nano-SIM, фиолетовый","price_rub": 204127,"price_text": "204 127 ₽","price_is_card_price": false,"original_price_rub": 298149,"original_price_text": "298 149 ₽","discount": "−31%","discount_percent": 31,"rating": 5,"review_count": 158,"reviews_text": "158 отзывов","image": "https://ir-20.ozone.ru/s3/multimedia-1-4/20256620008.jpg","images": ["https://ir-20.ozone.ru/s3/multimedia-1-4/20256620008.jpg","https://ir-20.ozone.ru/s3/multimedia-1-m/20116503958.jpg","https://ir-20.ozone.ru/s3/multimedia-1-x/12310526589.jpg"],"stock_left": 12,"stock_text": "12 ед осталось","max_order_quantity": 11,"delivery_label": "+75 ₽ 29 октября","is_adult": false,"product_url": "https://www.ozon.ru/product/samsung-smartfon-galaxy-s26-ultra-rostest-eac-16-1-tb-nano-sim-fioletovyy-3524956175/","search_query": "наушники","source": "наушники","position": 3,"scraped_at": "2026-10-26T10:35:51.606Z"}
A review row:
{"record_type": "review","review_id": "01a16c03-a521-7b8d-9506-112af473fe87","product_id": "5792594033","product_name": "Apple Смартфон iPhone 18 Pro SIM+eSIM Global 12/512 ГБ, Nano-SIM, eSIM, фиолетовый","product_url": "https://www.ozon.ru/product/apple-smartfon-iphone-18-pro-sim-esim-global-12-512-gb-nano-sim-esim-fioletovyy-5792594033/","rating": 5,"text": "Спасибо вам огромное , доставка задержала товар но все остальное на высоте \nПереходила с 16 про мак , этот удобнее гораздо мне как девушке . \nИ я бы не сказала …","videos": ["https://v-1.ozone.ru/vod/video-71/01M5P04M3BD64WYCX4JKKTTJJ2/asset_1_h264.mp4?type=review"],"photo_count": 0,"video_count": 1,"author_name": "Евгения Б.","published_at": "2026-10-24T03:45:47.000Z","useful_votes": 19,"not_useful_votes": 0,"comment_count": 1,"language": "ru","product_rating": 5,"product_review_count": 117,"rating_breakdown": {"star5": 114,"star4": 2,"star3": 0,"star2": 1,"star1": 0},"review_url": "https://www.ozon.ru/product/apple-smartfon-iphone-18-pro-sim-esim-global-12-512-gb-nano-sim-esim-fioletovyy-5792594033/reviews/?ruuid=01a16c03-a521-7b8d-9506-11…","scraped_at": "2026-10-26T10:33:36.514Z"}
A question row with its answer:
{"record_type": "question","question_id": "01a15180-f13c-749c-940d-99fc27a1df81","product_id": "5792594506","product_name": "Apple Смартфон iPhone 18 Pro SIM+eSIM Global 12/256 ГБ, Nano-SIM, eSIM, черный","product_url": "https://www.ozon.ru/product/apple-smartfon-iphone-18-pro-sim-esim-global-12-256-gb-nano-sim-esim-chernyy-5792593848/","question": "Потянет ли игру геншин импакт? Без перегрева","author_name": "Пользователь предпочёл скрыть свои данные","published_text": "19 октября 2026","answer_count": 1,"answers": [{"answer_id": "01a1527a-8430-782b-9687-3f284ff9d384","author": "Дубайский Экспресс","text": "Нет","published_text": "19 октября 2026","likes": 11,"dislikes": 0}],"scraped_at": "2026-10-26T10:34:22.791Z"}
Pricing
Pay per event: you pay for the rows you receive, plus a flat $0.005 per run, whatever memory you choose. The unblocker proxy is included.
| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
product-scraped | Once per listing row stored in your dataset | $2.50 per 1,000 | $2.50 per 1,000 | $2.50 per 1,000 | $2.50 per 1,000 |
review-scraped | Once per review row | $2.50 per 1,000 | $2.15 per 1,000 | $1.80 per 1,000 | $1.49 per 1,000 |
apify-actor-start | Once per run, whatever memory you choose | $0.005 | $0.005 | $0.005 | $0.005 |
The price of one row is the price per 1,000 divided by 1,000. Question rows are not charged for now. Product page rows (seller, variants, full characteristics) are switched off for now, so every product row is a listing row.
Never charged:
- products Ozon no longer shows (an
unavailablereport row), links that are not ozon.ru products or listings (an error row), and a product that a second source of the same run finds again; - rows past your
maxItems; - the summary, info, error and unavailable rows;
- a run with no valid input, or one whose requests all fail: the start fee is charged only once a request has returned rows;
- anything past your "Max cost per run". The actor checks the budget before each batch of rows and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.
Run it on a schedule
- Open the actor in Apify Console, set your input and click Save as a new task.
- In the task, open Schedules, click Add schedule and pick how often (for example every day at 06:00).
- Compare runs on
product_idandprice_rubto see price cuts and new listings in your category or at a competitor's store. - Optional: turn on
monitorModeso each run delivers only products and reviews you have not received before, and add an integration (Google Sheets, Slack, a webhook).
FAQ
What does this actor read?
Ozon's public pages as a visitor without an account sees them, through the same JSON feed (/api/entrypoint-api.bx/page/json/v2) that Ozon's own website loads. It does not log in, order, or read anything behind an account. Ozon blocks datacenter proxies and Russian residential proxies (both returned a 403 on every variant we tried on 26 Oct 2026), so every request goes through Apify's unblocker proxy.
How many products can I get?
Up to 2,000 rows per run. Each source is read until maxItems, the end of its listing, or the point where two waves in a row bring nothing new. A relevance listing is 8 products per request, a price-sorted one 36.
Why does the summary show failed requests?
Ozon's anti-bot layer refuses many of the requests that pass through the unblocker with an empty 502 answer. On 10 Nov 2026 between 20 and 58 percent of the requests were answered, depending on the hour, about one in three in the evening. The actor retries each page up to eight times with a fresh route (the first page of a run is tried two at a time), so a page is lost only when all eight tries fail. A refused try is not charged to you: you pay per row delivered. Run again later if the summary says Ozon refused every request.
What is not included?
Product pages (seller, variants, characteristics, other sellers, price drops) are switched off for now. Also not included: delivery methods and costs for a product, prices for a chosen delivery city, the seller's replies to reviews, per-aspect review ratings, the full price chart, ozon.by and ozon.kz storefronts, and short ozon.ru/t/ links. Prices are the public price a visitor sees.
Do I need an account, cookies or a proxy?
No. The proxy is included in the price.
Which formats can I download?
JSON, CSV, Excel, XML, HTML table and RSS, from the Storage tab or the API.
Can I use it from Claude, ChatGPT or Cursor (MCP)?
Yes. Add the actor to the Apify MCP server (https://mcp.apify.com) and call themineworks/ozon-product-search with the input above, or use the "Copy to your AI assistant" block.
Is it legal to scrape Ozon.ru?
The actor collects public product, price, review and question data that anyone can see without an account. You are responsible for using it in line with Ozon's terms and the law that applies to you, in particular personal data in reviews and questions (author names are shown the way Ozon displays them) and the Russian rules on personal data. This is not legal advice.
Integrations
- Google Sheets: send each run's rows to a sheet with Apify's Google Sheets integration; one flat row per product fits a sheet as is.
- Make, Zapier and n8n: start a run and read its dataset, for example "new products in this category every morning to Slack".
- Webhooks: have Apify call your URL when a run succeeds, then fetch the dataset.
- API and SDKs: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
More from The Mine Works
E-commerce and marketplaces
- ⭐ Amazon Reviews Scraper
- Amazon Product Scraper
- Etsy Listings Scraper
- AliExpress Scraper
- Kleinanzeigen.de Scraper
- Carsales.com.au Scraper
- eBay Product Listings Scraper
- Shopify Store Scraper
- 🛒 TikTok Shop Scraper
- Walmart Product & Price Scraper
- Vinted Scraper
Social media and video
Leads and business directories
Marketing, SEO and reviews
Real estate
Science, health and government data
Jobs and hiring
Company and business data
Food and local services
Developer and AI tools
More tools
Support
Found a search that returns fewer products than Ozon shows, or a field that comes back empty? Open an issue in the Issues tab with the input and the run ID, and we will look at it. For a field you need or a new source, email dmineworks@gmail.com.
Scrape Ozon.ru by keyword, category, brand or seller link and get prices in roubles, discounts, delivery dates, reviews, and questions with answers, with no login.

