Ozon Product Scraper - Prices & Discounts | Парсер Озон avatar

Ozon Product Scraper - Prices & Discounts | Парсер Озон

Pricing

from $2.85 / 1,000 products

Go to Apify Store
Ozon Product Scraper - Prices & Discounts | Парсер Озон

Ozon Product Scraper - Prices & Discounts | Парсер Озон

Search Ozon.ru by keyword and get one row per product: price, old price, discount, rating, review count, stock and pictures, in Ozon's order or sorted the way the site sorts. No Ozon account. Search rows carry no seller name, and product links are not opened yet. $3.00 per 1,000 products.

Pricing

from $2.85 / 1,000 products

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

8

Monthly active users

8 days ago

Last modified

Categories

Share

Search Ozon.ru by keyword and get one row per product: price, old price, discount, rating, review count, stock and pictures, in the order Ozon ranks them or sorted the way the site sorts. No Ozon account and no login.

Search rows do not carry the seller's name, and product links are not opened for now, so this is a search tool rather than a product-page tool. Prices and delivery estimates are the ones Ozon shows for Moscow.

InputKeywords, in Russian or English
OutputOne row per product: price, old price, discount, rating, review count, stock note, pictures and link
Ceiling5,000 products per run
Account neededNone
Price$3.00 per 1,000 products on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 1,600

🔍 What Ozon Product Scraper does

It runs each keyword through Ozon's own search and reads the results, page after page. Every product becomes one row. A product that shows up twice, on two pages or under two keywords, comes back once and is charged once.

You can sort the way the site sorts, keep only sale items, or keep only products Ozon says it can deliver within a given time. Ozon applies these itself, and a keyword whose page does not confirm the sort or filter you asked for is left out rather than returned unsorted.

The run stops at whichever comes first: the number of products you asked for, the end of Ozon's list, or the maximum charge you set for the run.

📋 What data you get from each Ozon product

What you getField
Ozon's product number, in two fieldssku, productId
Title, and the brand when Ozon prints ittitle, brand
Current price, the struck-through price and the discount, in roublesprice, oldPrice, discountPercent, currency
Average rating and review countrating, reviewCount
Whether it can go in the cart, and Ozon's low-stock lineinStock, stockNote
Picturesimages, imageUrl
Product link, tracking removedurl
The seller, always null on search rowsseller
The keyword that found it, and whenquery, source, scrapedAt

▶️ How to scrape Ozon products

  1. Open Ozon Product Scraper and click Try for free.
  2. Type your keywords into Search keywords, one per line.
  3. Set Maximum products. Around 20 is enough to see the shape of it.
  4. Click Start. Fifty products took about a minute and a half in testing.
  5. Download the dataset as JSON, CSV or Excel.

Start it with no keywords at all and you get one sample row showing the shape, not charged.

💰 How much does it cost to scrape Ozon products?

$3.00 per 1,000 products on the Free plan. Paid plans pay a little less: $2.95 on Starter, $2.90 on Scale and $2.85 on Business. On the free plan, the $5 Apify gives you each month covers about 1,600 products.

You are not charged for sample rows, diagnostic rows, product links that were skipped, or a product that turned up a second time. maxItems caps what one run can return, and if you set a maximum charge for the run, it stops there instead.

📥 What you give it

{
"searchQueries": ["робот-пылесос", "iphone"],
"maxItems": 200
}
FieldDefaultWhat it is
searchQueriesnoneKeywords, exactly as you would type them into Ozon's search box. Russian and English both work.
maxItems50The most products the run returns, across all keywords together, from 1 to 5,000. Keywords are worked through in the order you give them.
sortByOzon's own ordernewest, priceLowest, priceHighest, topRated or biggestDiscount, the same sorts the site offers. With a small maxItems this decides which products you get.
onSalefalseOnly products in Ozon's sale.
deliveryany timeexpress, today, tomorrow, within3Days or within7Days. Ozon's own delivery estimate for Moscow.
productUrlsnoneNot available yet. Each link comes back as an uncharged row that says so.
fullDetailsfalseNot available yet. Search rows come without the seller name and the description.

With 200 as the limit, the second keyword only gets what the first one leaves. If you want the same number from each, run them separately.

📤 What you get back

A real row from a run on 28 September 2026, with the picture list trimmed:

{
"sku": "3941676522",
"productId": "3941676522",
"url": "https://www.ozon.ru/product/robot-pylesos-xiaomi-robot-vacuum-h50-3941676522/",
"title": "Робот-пылесос Xiaomi Robot Vacuum H50",
"brand": "Xiaomi",
"price": 26829,
"oldPrice": 167990,
"discountPercent": 84,
"currency": "RUB",
"rating": 4.9,
"reviewCount": 168,
"seller": null,
"inStock": true,
"stockNote": "1 ед осталось",
"images": ["https://ir-20.ozone.ru/s3/multimedia-1-t/11089085141.jpg"],
"imageUrl": "https://ir-20.ozone.ru/s3/multimedia-1-t/11089085141.jpg",
"source": "search",
"query": "робот-пылесос",
"scrapedAt": "2026-09-28T04:13:54.060Z"
}
FieldHow to read it
brandOnly when Ozon prints it on the result. In a 50-row test, 20 rows had one.
priceThe current price in whole roubles, as Ozon prints it.
oldPrice, discountPercentThe struck-through price and Ozon's discount, when the product is marked down.
inStockWhether Ozon lets you add it to the cart.
stockNoteOzon's low-stock line, such as "1 ед осталось". null on most rows.
sellerAlways null on search rows.

🧾 Reading the output

RowHow to spot itBilled
A productIt has an sku and no _sample or _diagnostic fieldyes
The sample row_sample: true, only when the run starts with no keywordsno
A diagnostic_diagnostic: true, ok: false and an errorCodeno

To keep only products, drop every row that has _sample or _diagnostic set.

CodeWhat it means
NO_RESULTSOzon had nothing for that keyword, or nothing that passed your filters.
BAD_INPUTSomething in productUrls is not an Ozon product link or SKU, or a sortBy or delivery value is not one listed above.
FILTER_NOT_APPLIEDOzon's page did not confirm the sort or filter you asked for, so that keyword's results were not taken.
NOT_AVAILABLEA product link that was not opened, because product links are off for now.
FETCH_FAILEDOzon did not answer this time. Running it again later usually works.
NOT_SERVEDThis product was not served this run. Re-run it later. Until 12 October 2026 this code was called BLOCKED.
TIME_LIMITThe run got close to its time limit and stopped on its own. The products delivered before that are complete and charged. Give the run more time, or ask for fewer products, to get the rest.

A diagnostic never fails the run, except one: when the time limit stopped the run before any product came back, the run ends as failed, with a TIME_LIMIT row saying so.

💡 What people use it for

  • Watching a category's prices. Run the same keywords every morning and compare price and discountPercent with yesterday's file.
  • Seeing how deep a brand's markdowns go. Search the brand name with sortBy set to biggestDiscount.
  • Sizing up a product before you sell it on Ozon. One keyword gives you the price range, the ratings and the review counts of everything already listed.
  • Spotting low stock. Filter on stockNote to see which products Ozon says are nearly gone.

🚧 What it does not do

  • No seller name on search rows. Ozon does not put it on search results, so seller is always null.
  • Product links are not opened for now. productUrls and fullDetails return an uncharged row saying so.
  • Two filters, no more. Sale items and delivery time. There is no price, rating or brand filter; sort by price, or filter the output yourself.
  • Moscow prices and delivery times. Ozon prices and delivery estimates vary by region, and these are the ones shown for Moscow.
  • Roubles and Russian only. Ozon's language and currency switch is not offered here. Its converted prices are only estimates anyway; you pay in roubles.
  • Sponsored products are included. Paid placements in Ozon's results are not marked in the rows, so they come back in their place like any other product.
  • No reviews, questions, variants or price history. Products only.
  • It is not an official Ozon tool. Dami's Studio is independent and is not affiliated with or endorsed by Ozon, or by any other company named on this page.

🧭 Which Russian marketplace scraper do you need?

If you wantUse
Ozon products by keyword, with price and discountThis one
Products and prices on Yandex Market, by search term or catalogue linkYandex Market Scraper
Ads from a search, a category or a city on AvitoAvito Listings Scraper
Everything one Avito seller has listed, plus their profileAvito Seller Listings & Profile Scraper
Businesses on Yandex Maps, with phones and hoursYandex Maps Scraper

❓ Questions people ask

Do I need an Ozon account?

No. It reads Ozon's public search results.

Can I search Ozon in Russian?

Yes. Russian keywords work exactly as they do on the site, and so do English ones.

Why do the prices differ from what I see on Ozon?

Ozon prices and delivery estimates vary by region, and these rows carry the Moscow ones. Prices also move during the day, so compare against the row's scrapedAt.

How many products can one keyword give?

As many as Ozon lists and maxItems allows, up to 5,000 per run. Broad keywords run to thousands of products.

Why did I get fewer products than I asked for?

Ozon's list ran out, or products repeated and were returned once. You pay only for the rows you got.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/ozon-products-scraper. Either way the run happens on your Apify account at the same price.

These are public product listings on a public site. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the run ID and the keywords you used; the status message at the top of the run usually names the problem.