# Ozon Scraper: Product Prices, Ratings and Sellers

> Ozon scraper: get prices, Ozon Card price, ratings, review counts and images from Ozon.ru and Ozon.by search terms, category links, sellers or product IDs.

URL: https://cliqtomedia.com/actors/ozon-scraper/

Category: E-commerce & prices · Status: coming soon · Apify profile: https://apify.com/cliqtomedia?fpr=cliqto

Give search terms, Ozon links or product IDs. You get one row per product with price, rating, review count, images and link. Full cards add the seller, stock and description.

## How to use it: 3 steps

1. **Follow us on Apify.** The tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `наушники` in Search terms. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

This Actor reads public Ozon.ru and Ozon.by search results, category pages, seller pages and product cards, and saves prices, ratings, sellers and images as table rows.



### Good for

- You compare prices in a category or for a search term.
- You check what one seller or brand has on Ozon.
- You watch your own or a rival's prices on a schedule and want only the changes.
- You read reviews and questions to learn what buyers say about a product.

## Price

Prices will be shown after release.

## Questions

### Do I need an Ozon account or my own proxy?

No. The tool reads public pages without a login. Proxy use is included.

### Why do runs sometimes fail?

Ozon fails many requests at random, in waves. If a wave lasts, the run stops early. Start it again later.

### Does it find every product in a category?

No. It reads the listing as Ozon serves it, up to maxItems. Ozon decides the order and depth.

### Why are full cards so much more expensive than listing rows?

A card needs its own page, and each page can take several tries. A listing page gives about 8 rows at once. Keep `scrapeDetails` off when price and rating are enough.

### Are the prices exact and current?

They are what Ozon showed a visitor at `fetchedAt`. Prices can differ by account, delivery area and time. Ozon calls Ozon.by prices in BYN approximate.

### What happens on a tracking run when nothing changed?

You get rows with `monitorStatus: unchanged`, and each row costs the listing price. A product that does not appear in a run keeps its history.

## Data fields

- `status` (string): complete for a product. not_found for a missing product or an empty search.
- `sku` (string): Ozon product article number.
- `name` (string): Product title as shown by Ozon.
- `price` (number): Price in the storefront currency. On a full card, this is the price without the Ozon Card. On a listing row, this is the single price Ozon shows on the tile, which is the Ozon Card price.
- `cardPrice` (number): Price with the Ozon Card, in the storefront currency.
- `oldPrice` (number): Crossed-out original price in the storefront currency, if present.
- `rating` (number): Average rating out of five.
- `reviewsCount` (integer): Review count shown on the storefront.
- `seller` (string): Public store name from the product card.
- `url` (string): Public product or listing URL.
- `images` (array): Product image URLs.
- `dataLevel` (string): listing for search tiles or product for full cards.
- `currency` (string): RUB on Ozon.ru, BYN on Ozon.by.
- `query` (string): Search phrase that led to the product.
- `source` (string): ozon.ru or ozon.by.
- `fetchedAt` (string): UTC date and time when the product was read.
- `isAvailable` (boolean): Availability shown by Ozon for this visitor.
- `description` (string): Short description from the product page.
- `brand` (string): Brand from the product page.
- `categoryPath` (array): Category labels from broadest to narrowest.
- `variants` (array): Public product variants such as colors and sizes.
- `characteristics` (array): Product attributes as name and value pairs. About 5 on a full card, all of them with the add-on on.
- `fullDescription` (string): The seller's full description, with the add-on on. Null when the page could not be read or the product has none.
- `sellerDetails` (object): Public seller page link. With Seller profile on, also the public business details Ozon shows.
- `reviews` (array): Reviews without author data: id, publishedAt, rating, text, positive, negative, photos, videoCount, useful, notUseful. Null means the page could not be read.
- `questions` (array): Questions with answers, without author data. Null means the page could not be read.
- `otherOffers` (array): Other sellers of this product with sellerId, seller, sellerUrl, price, cardPrice, url and delivery. Null means the page could not be read.
- `monitorStatus` (string): With tracking on: new, changed or unchanged. Null means the history could not be opened.
- `changes` (array): With tracking on: each change as field, from and to.
- `ageRestricted` (boolean): True for an 18+ product. Ozon hides its pictures and, on the card, its price and details from guests.
- `stock` (integer): Units Ozon shows as available to order. Full card only.
- `questionsCount` (integer): Number of buyer questions. Full card only.
- `otherSellersCount` (integer): Number of other sellers Ozon shows for this product. Full card only.
- `lowestOtherPrice` (number): Lowest price Ozon shows among other sellers. Full card only.
- `priceDropped` (boolean): True when Ozon marks the product as recently cheaper. Full card only.
- `installment` (string): Installment text Ozon shows on the card.
- `promoLabel` (string): Name of the current sale on the card.
- `promoEndsIn` (string): Time left in the current sale, as Ozon shows it.
- `labels` (array): Marketing labels Ozon shows on the card.

## Input settings

- `queries` (array): Enter one Ozon search term per line. Russian and English text both work.
- `productUrls` (array): Enter public Ozon product links, product IDs, or ozon.ru/t/ short links to get their full cards. Product links are processed first.
- `listingUrls` (array): Enter Ozon search, category, seller, brand, collection (highlight) or ozon.ru/t/ short links. Common Ozon listing filters in the URL are kept.
- `maxItems` (integer): Stop after this many unique products across all inputs. Status rows do not count.
- `storefront` (string): Choose where search terms run. Prices come in RUB on Ozon.ru and in BYN on Ozon.by. Links always stay on their own storefront.
- `scrapeDetails` (boolean): Off: fast and cheap rows from search and category pages. On: also opens each product card for the seller, description, brand, characteristics and variants, at the higher product card price. Direct product URLs always open full cards.
- `sortBy` (string): Choose the order Ozon uses for search results and other listings.
- `minPrice` (number): Keep products priced at or above this value in the storefront currency. It checks the price shown on the listing.
- `maxPrice` (number): Keep products priced at or below this value in the storefront currency. It checks the price shown on the listing.
- `minRating` (number): Keep products rated at least this high out of five.
- `minDiscount` (number): Keep products with at least this discount from the crossed-out price. Products without a crossed-out price are skipped.
- `onSale` (boolean): Ask Ozon to show items in a sale on search and listing pages.
- `hasDiscount` (boolean): Ask Ozon to show only items with a discount.
- `brandCertified` (boolean): Ask Ozon to show items with its verified-brand filter on search and listing pages.
- `isInstallment` (boolean): Ask Ozon to show only items you can buy in installments.
- `delivery` (string): Ask Ozon to show only items it can deliver within this time.
- `includeSellerDetails` (boolean): Add the seller name, legal name, registration number, orders and time on Ozon. Each seller is one add-on page per run. Turns on full cards.
- `includeOtherOffers` (boolean): Add other sellers of the same product with their prices. One add-on page per product. Turns on full cards.
- `includeFullDetails` (boolean): Replace the short list of about 5 characteristics with the full list, and add the seller's full description. One add-on page per product. Turns on full cards.
- `maxReviews` (integer): Add up to this many reviews to each product. One add-on page holds 30 reviews. 0 turns this off. Other values turn on full cards.
- `reviewSort` (string): Which reviews come first. Leave empty for the Ozon order, which is newest and most useful.
- `maxQuestions` (integer): Add up to this many questions with answers to each product. One add-on page holds 10 questions. 0 turns this off. Other values turn on full cards.
- `monitor` (boolean): Compare each product with your previous runs and mark it as new, changed or unchanged. With full cards on, only new and changed products open a card.
- `monitorFields` (array): Choose what counts as a change. Availability is always tracked. Empty means price only.
- `minPriceChangePct` (number): Ignore smaller price moves. The move is measured from the last reported price, so slow drift is still reported.

## Step by step on Apify

1. Open the Input tab. In Search terms, keep `наушники` or type your own term (box 1 in the picture).
2. In Maximum products, keep `8` for a first run (box 2).
3. Click Start at the bottom of the page, below the form shown in the picture.
4. When the run ends, open the Output tab (box 4).
5. Check `price`, `cardPrice`, `oldPrice`, `rating` and `reviewsCount` (box 5).

## Use cases

| Task | Input | You get | Key fields | Next step |
|---|---|---|---|---|
| Compare prices for a search term | `queries`, `sortBy`, `minPrice`, `maxPrice` | Listing row | `price`, `oldPrice`, `rating`, `reviewsCount` | CSV or Excel export |
| Check one seller's or brand's range | `listingUrls` | Listing row | `sku`, `name`, `price`, `url` | Dataset API |
| Get full product details | `productUrls` or `scrapeDetails` | Full card | `seller`, `stock`, `lowestOtherPrice`, `brand`, `characteristics`, `variants` | Dataset API |
| Watch prices on a schedule | `monitor`, `monitorKey`, `minPriceChangePct` | Row with change marks | `monitorStatus`, `changes`, `price` | Apify schedule, Slack or Notion summary |
| Read what buyers say | `productUrls`, `maxReviews`, `reviewSort`, `maxQuestions` | Full card with add-ons | `reviews`, `questions`, `rating` | JSON export |

## Tips

- Keep full cards off when price and rating are enough. Listing rows are faster and cheaper.
- Do not start many runs at the same time. In a test with 10 at once, only 3 succeeded.
- Use tracking mode on a schedule to get only new and changed products.

## Limits



- Maximum products: 700 per run. One-hour runs saved 601, 719 and 874 listing rows, so a 700-row run can stop at the default timeout of 3,600 seconds with fewer rows.
- Time: Ozon's failure waves set the speed, so times vary a lot.
- Failure waves: on one-at-a-time test runs, about 1 in 4 runs failed, nearly always before the first row. One wave failed three runs in a row over about 12 minutes. A run gives up after 5 failed requests in a row before the first answer from Ozon. After that the limit grows by 3 with each answered page, up to 25 in a row. Saved rows stay, and you pay only for them and the start fee.
- Many runs at once: do not start many runs at the same time. In a test with 10 at once, only 3 succeeded.
- Timeout: the run saves what it has 10 seconds before the timeout and ends with `DEADLINE`. With at least one row it counts as `SUCCEEDED`.
- Low yield: a run stops with `LOW_YIELD` when it reads many pages and few products pass your filters. A strict filter can return fewer rows than `maxItems`. For example, `minRating` 4.9 stopped at 15 rows.
- Listing limits: a listing page holds few rows, and Ozon decides how deep a listing goes.
- Reviews: up to 300 per product, shared across the product's variants. Ozon offers only the three orders in `reviewSort`.

## Sample result

```json
{
  "status": "complete",
  "sku": "4404449496",
  "name": "CONFIRM Наушники беспроводные с микрофоном, Bluetooth, USB Type-C, слоновая кость, бордовый",
  "price": 1956,
  "cardPrice": 1956,
  "oldPrice": 10000,
  "rating": 4.6,
  "reviewsCount": 20809,
  "seller": null,
  "url": "https://www.ozon.ru/product/confirm-naushniki-besprovodnye-s-mikrofonom-bluetooth-usb-type-c-slonovaya-kost-bordovyy-4404449496/",
  "images": ["https://ir-20.ozone.ru/s3/multimedia-1-c/11643725928.jpg"],
  "dataLevel": "listing",
  "currency": "RUB",
  "query": "наушники",
  "source": "ozon.ru",
  "fetchedAt": "2026-11-07T09:05:44.650Z",
  "isAvailable": true
}
```

## Similar tools

- [Wildberries Scraper: Products, Prices, Reviews, No Login](https://cliqtomedia.com/actors/wildberries-scraper/)
- [AliExpress Scraper: Products, Prices & Reviews, No Login](https://cliqtomedia.com/actors/aliexpress-scraper/)
- [Amazon Product Scraper: Prices, Reviews, BSR, No Login](https://cliqtomedia.com/actors/amazon-scraper/)
- [TikTok Shop Scraper: Products, Sales & Prices, No Login](https://cliqtomedia.com/actors/tiktok-shop-scraper/)
- [Coles, Woolworths & Aldi Price Scraper - No Login](https://cliqtomedia.com/actors/au-supermarket-prices/)
- [Etsy Listings & Shop Export (Etsy Open API v3)](https://cliqtomedia.com/actors/etsy-listings-api/)
