Ozon logo

Online shops · Coming soon

Ozon Scraper: Product Prices, Ratings and Sellers

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.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

sku4404449496
nameCONFIRM Наушники беспроводные с микрофоном, Bluetooth, USB Type-C…
price1956

How it will work: 3 steps

  1. Follow us on ApifyThe 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 StartNo 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 resultsWhen 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.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

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.

Who uses it

Ozon sellers

Check what a rival or a brand sells on Ozon.

Price analysts

Compare prices in a category or for a search term.

Product researchers

Read reviews and questions to learn what buyers say.

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.

Details

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
TaskInputYou getKey fieldsNext step
Compare prices for a search termqueries, sortBy, minPrice, maxPriceListing rowprice, oldPrice, rating, reviewsCountCSV or Excel export
Check one seller's or brand's rangelistingUrlsListing rowsku, name, price, urlDataset API
Get full product detailsproductUrls or scrapeDetailsFull cardseller, stock, lowestOtherPrice, brand, characteristics, variantsDataset API
Watch prices on a schedulemonitor, monitorKey, minPriceChangePctRow with change marksmonitorStatus, changes, priceApify schedule, Slack or Notion summary
Read what buyers sayproductUrls, maxReviews, reviewSort, maxQuestionsFull card with add-onsreviews, questions, ratingJSON export
Tips for better results
  • 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 and good to know
  • 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

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one 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
}
Data fields (39)
FieldTypeMeaning
statusstringcomplete for a product. not_found for a missing product or an empty search.
skustringOzon product article number.
namestringProduct title as shown by Ozon.
pricenumberPrice 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.
cardPricenumberPrice with the Ozon Card, in the storefront currency.
oldPricenumberCrossed-out original price in the storefront currency, if present.
ratingnumberAverage rating out of five.
reviewsCountintegerReview count shown on the storefront.
sellerstringPublic store name from the product card.
urlstringPublic product or listing URL.
imagesarrayProduct image URLs.
dataLevelstringlisting for search tiles or product for full cards.
currencystringRUB on Ozon.ru, BYN on Ozon.by.
querystringSearch phrase that led to the product.
sourcestringozon.ru or ozon.by.
fetchedAtstringUTC date and time when the product was read.
isAvailablebooleanAvailability shown by Ozon for this visitor.
descriptionstringShort description from the product page.
brandstringBrand from the product page.
categoryPatharrayCategory labels from broadest to narrowest.
variantsarrayPublic product variants such as colors and sizes.
characteristicsarrayProduct attributes as name and value pairs. About 5 on a full card, all of them with the add-on on.
fullDescriptionstringThe seller's full description, with the add-on on. Null when the page could not be read or the product has none.
sellerDetailsobjectPublic seller page link. With Seller profile on, also the public business details Ozon shows.
reviewsarrayReviews without author data: id, publishedAt, rating, text, positive, negative, photos, videoCount, useful, notUseful. Null means the page could not be read.
questionsarrayQuestions with answers, without author data. Null means the page could not be read.
otherOffersarrayOther sellers of this product with sellerId, seller, sellerUrl, price, cardPrice, url and delivery. Null means the page could not be read.
monitorStatusstringWith tracking on: new, changed or unchanged. Null means the history could not be opened.
changesarrayWith tracking on: each change as field, from and to.
ageRestrictedbooleanTrue for an 18+ product. Ozon hides its pictures and, on the card, its price and details from guests.
stockintegerUnits Ozon shows as available to order. Full card only.
questionsCountintegerNumber of buyer questions. Full card only.
otherSellersCountintegerNumber of other sellers Ozon shows for this product. Full card only.
lowestOtherPricenumberLowest price Ozon shows among other sellers. Full card only.
priceDroppedbooleanTrue when Ozon marks the product as recently cheaper. Full card only.
installmentstringInstallment text Ozon shows on the card.
promoLabelstringName of the current sale on the card.
promoEndsInstringTime left in the current sale, as Ozon shows it.
labelsarrayMarketing labels Ozon shows on the card.
Input settings (25)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Search termsqueriesarray["наушники"]
Product URLs or IDsproductUrlsarray
Listing URLslistingUrlsarray
Maximum productsmaxItemsinteger8
Storefront for search termsstorefrontstring"ru"
Open full product cardsscrapeDetailsbooleanfalse
Sort listingssortBystring
Minimum priceminPricenumber
Maximum pricemaxPricenumber
Minimum ratingminRatingnumber
Minimum discount, %minDiscountnumber
On sale onlyonSalebooleanfalse
Discounted onlyhasDiscountbooleanfalse
Verified brands onlybrandCertifiedbooleanfalse
Installments availableisInstallmentbooleanfalse
Delivery timedeliverystring
Seller profileincludeSellerDetailsbooleanfalse
Other sellersincludeOtherOffersbooleanfalse
All characteristics and full descriptionincludeFullDetailsbooleanfalse
Reviews per productmaxReviewsinteger0
Review orderreviewSortstring
Questions per productmaxQuestionsinteger0
Track changes between runsmonitorbooleanfalse
Fields to trackmonitorFieldsarray
Minimum price change, %minPriceChangePctnumber0

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure