Rozetka API & Scraper
Rozetka is Ukraine's largest online store and marketplace: Rozetka sells its own stock and thousands of marketplace sellers list next to it.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
This API reads it as JSON. `search` takes a keyword in Ukrainian, Russian or English with Rozetka's own filters (category, Rozetka or marketplace seller, price range in UAH, brand, ready-to-ship or pickup in Rozetka stores, Smart subscription) and returns 60 products per page: id, title, brand, current price and crossed-out price in UAH, discount, stock state, condition, who sells it (Rozetka or the marketplace seller's name and stars), category, image, rating and review and question counts, plus the brands and categories of the result. `product` returns one product in full: article code, the Rozetka Card price when Rozetka shows one, stock state, pre-order flag, the seller, category path, every characteristic, the description, warranty and return terms, each colour or size with its own price and stock, images and the 1-5 star distribution. `reviews` returns buyer reviews or questions with stars, pros, cons, verified-buyer flag, photos and replies, and `prices` checks up to 60 products in one call.
What a Rozetka field actually contains
Fields that read differently from how they look. Every row was measured against live Rozetka pages on 2026-10-14.
| Field | What it holds |
|---|---|
| product_id | Rozetka's numeric product id (621368348), the number after /p in a product URL. Pass it unchanged from a search row to product, reviews or prices; a product URL works too. Search to product returned the same id, price, old price, stock state and review count on 16 of 16 products. |
| price, old_price | price is what Rozetka charges now, in UAH. old_price is the crossed-out price; null when Rozetka shows none (it was set on 3 to 49 of 60 rows depending on the category). discount_pct is computed from the two. |
| card_price | The price Rozetka prints for paying with the Rozetka Card (Ціна при оплаті Карткою Rozetka), in product only. Set on 17 of 60 products of one search; null when Rozetka shows no card price. |
| source_usd_price | Rozetka's own conversion of the price to US dollars (31,499 UAH = 699.98 USD). It is Rozetka's figure, not ours, and not a UAH value. |
| sell_status, in_stock | Rozetka's own stock state: available, limited, out_of_stock, unavailable, waiting_for_supply, archive. in_stock is true for available and limited. An unavailable variant keeps its last price, so check in_stock before using price. |
| sold_by, seller_name | rozetka when Rozetka itself sells the product, marketplace when a marketplace seller does; seller_name and seller_stars name that seller. On one phone-case search 18 of 60 rows were sold by Rozetka and 42 by 14 different marketplace sellers. |
| rating | The average, the number of reviews and questions and the 1-5 star counts. These matched the product page on 12 of 12 products that show a rating. Reviews without a star are counted in review_count but not in the star counts. |
| total | Rozetka's own count of matching products. It is approximate: the same search reported 311,611 sorted by relevance and 325,639 sorted by price. At most 1,000 of them can be paged (total_reachable). |
Prices, old prices, stock state and seller came back identical when the same products were read from inside Ukraine and from outside it in the same minute (7 of 7).
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/rozetka/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "навушники",
"seller": "rozetka"
}
}{
"ok": true,
"meta": {
"api": "rozetka",
"endpoint": "search",
"mode": "live",
"latency_ms": 10509.4,
"record_count": 60,
"bytes": 429809,
"cache_hit": false,
"total": 35789,
"pages": 17,
"pagination": {
"page": 1,
"has_more": true
},
"upstream_requests": 4,
"ua_exit_requests": 1,
"ua_exit_bytes": 0,
"warnings": [
"partial: the seller-name request failed; seller_name is null (seller_id and sold_by are still set)"
],
"charged_credits": 3,
"version": "0.1.0",
"request_id": "76b9c200df9e446a",
"queue_ms": 1.2,
"fetched_at": "2026-10-14T18:57:40.824Z"
},
"data": {
"query": {
"query": "навушники",
"seller": "rozetka",
"sort": "relevance",
"page": 1,
"lang": "ua"
},
"total": 35789,
"total_is_approximate": true,
"total_reachable": 1000,
"pages": 17,
"page": 1,
"page_size": 60,
"has_more": true,
"page_clamped": false,
"results": [
{
"product_id": 543663795,
"title": "Навушники Apple AirPods Pro with MagSafe Case USB-C (3-тє покоління) (MFHP4ZE/A)",
"url": "https://rozetka.com.ua/ua/apple-airpods-pro-3-with-magsafe-case-usb-c-mfhp4ze-a/p543663795/",
"brand": "Apple",
"brand_slug": "apple",
"brand_id": 69,
"price": 14099,
"old_price": null,
"discount_pct": null,
"currency": "UAH",
"source_usd_price": 313.31,
"sell_status": "available",
"in_stock": true,
"status": "active",
"condition": "new",
"sold_by": "rozetka",
"seller_id": 5,
"merchant_id": 1,
"category": {
"id": 80027,
"title": "Навушники",
"url": "https://rozetka.com.ua/ua/headphones/c80027/"
},
"category_ids": [
4627949,
4660594,
80027
],
"group_id": 78042422,
"short_specs": null,
"image": "https://content.rozetka.com.ua/goods/images/original/594443650.jpg",
"smart_subscription": false,
"bonus_uah": null,
"rating": {
"average": 4.51,
"rated_count": 73,
"review_count": 84,
"question_count": 26,
"distribution": {
"1": "[trimmed-depth]",
"2": "[trimmed-depth]",
"3": "[trimmed-depth]",
"4": "[trimmed-depth]",
"5": "[trimmed-depth]"
}
},
"seller_name": null,
"seller_stars": null,
"seller_url": null
},
{
"product_id": 575373904,
"title": "Навушники Samsung Galaxy Buds4 Pro Black (SM-R640NZKASEK)",
"url": "https://rozetka.com.ua/ua/samsung-sm-r640nzkasek/p575373904/",
"brand": "Samsung",
"brand_slug": "samsung",
"brand_id": 12,
"price": 8999,
"old_price": 10699,
"discount_pct": 16,
"currency": "UAH",
"source_usd_price": 199.98,
"sell_status": "available",
"in_stock": true,
"status": "active",
"condition": "new",
"sold_by": "rozetka",
"seller_id": 5,
"merchant_id": 1,
"category": {
"id": 80027,
"title": "Навушники",
"url": "https://rozetka.com.ua/ua/headphones/c80027/"
},
"category_ids": [
4627949,
4660594,
80027
],
"group_id": 72942409,
"short_specs": null,
"image": "https://content.rozetka.com.ua/goods/images/original/680776635.jpg",
"smart_subscription": false,
"bonus_uah": null,
"rating": {
"average": 4.64,
"rated_count": 67,
"review_count": 79,
"question_count": 16,
"distribution": {
"1": "[trimmed-depth]",
"2": "[trimmed-depth]",
"3": "[trimmed-depth]",
"4": "[trimmed-depth]",
"5": "[trimmed-depth]"
}
},
"seller_name": null,
"seller_stars": null,
"seller_url": null
},
{
"product_id": 448287170,
"title": "Навушники Xiaomi Redmi Buds 6 Play (BHR8776GL) Black (1071789)",
"url": "https://rozetka.com.ua/ua/xiaomi-001012015938/p448287170/",
"brand": "Xiaomi",
"brand_slug": "xiaomi",
"brand_id": 5964,
"price": 649,
"old_price": null,
"discount_pct": null,
"currency": "UAH",
"source_usd_price": 14.42,
"sell_status": "available",
"in_stock": true,
"status": "active",
"condition": "new",
"sold_by": "rozetka",
"seller_id": 5,
"merchant_id": 1,
"category": {
"id": 80027,
"title": "Навушники",
"url": "https://rozetka.com.ua/ua/headphones/c80027/"
},
"category_ids": [
4627949,
4660594,
80027
],
"group_id": 57038885,
"short_specs": null,
"image": "https://content1.rozetka.com.ua/goods/images/original/467716134.jpg",
"smart_subscription": false,
"bonus_uah": 6,
"rating": {
"average": 4.24,
"rated_count": 425,
"review_count": 449,
"question_count": 63,
"distribution": {
"1": "[trimmed-depth]",
"2": "[trimmed-depth]",
"3": "[trimmed-depth]",
"4": "[trimmed-depth]",
"5": "[trimmed-depth]"
}
},
"seller_name": null,
"seller_stars": null,
"seller_url": null
}
],
"brands": [
{
"slug": "msi",
"name": "MSI",
"count": 316
},
{
"slug": "jbl",
"name": "JBL",
"count": 286
},
{
"slug": "thermaltake",
"name": "Thermaltake",
"count": 280
}
],
"categories": [
{
"id": 4627949,
"title": "Смартфони, ТВ і електроніка",
"count": 14268,
"parent_id": null
},
{
"id": 80027,
"title": "Навушники",
"count": 9939,
"parent_id": 4627949
},
{
"id": 202253,
"title": "Аксесуари до навушників",
"count": 2169,
"parent_id": 4627949
}
]
}
}What the Rozetka API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Rozetka products by keyword with the site's own filters: category id, seller (Rozetka itself or marketplace sellers), price range in UAH, brand, delivery (ready to ship / pickup in Rozetka stores), Smart subscription, and price sort. Each row: product id, title, URL, brand, price and crossed-out price in UAH, discount, stock state, who sells it (Rozetka or the marketplace seller's name and star rating), condition, category, short specs, image, rating, review and question counts. Plus Rozetka's own total, the brands and categories of the result set. | Pricing teams call search to search Rozetka products by keyword with the site's own filters. | query, category, seller, min_price, max_price, ... |
| product | Full Rozetka product by product_id: title, brand, manufacturer code, current and crossed-out price in UAH, the Rozetka Card price when one is shown, stock state, pre-order flag, condition (new / refurbished / markdown), the seller (Rozetka or the marketplace seller's name and rating), category path, characteristics, description, warranty and return terms, colour/size variants each with its own price and stock, images and the rating with its 1-5 distribution. | Marketplace operators call product to get full Rozetka product by product_id. | product_id, lang |
| reviews | Buyer reviews (or buyer questions) of a Rozetka product: rating 1-5, text, pros, cons, verified-buyer flag, date, helpful votes, photo/video links and the seller's or Rozetka's replies. Order by newest, verified buyers first, photo/video reviews first, or most helpful; filter by star rating. 36 per page. Plus the product's review total and 1-5 distribution. | Catalog enrichment teams call reviews to get buyer reviews (or buyer questions) of a Rozetka product. | product_id, type, sort, rating, page, ... |
| prices | Price, stock, seller type and rating for up to 60 Rozetka products in ONE call (Rozetka's own multi-product endpoint): current and crossed-out price in UAH, discount, stock state, sold by Rozetka or a marketplace seller (with the seller's name), category, rating and review count. Ids Rozetka does not know are listed in not_found. | Retail analysts call prices to get price, stock, seller type and rating for up to 60 Rozetka products in ONE call (Rozetka's own…. | product_ids, lang |
Call search from your stack
curl -X POST https://api.reefapi.com/rozetka/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"навушники","seller":"rozetka"}'import requests
r = requests.post(
"https://api.reefapi.com/rozetka/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "навушники",
"seller": "rozetka"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/rozetka/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "навушники",
"seller": "rozetka"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.rozetka.search with {"query":"навушники","seller":"rozetka"}.Who uses this API and why
- Track Ukrainian retail prices in UAH with the crossed-out price and the discount Rozetka is running today.
- Monitor stock state and price of 60 products per call.
- Compare what Rozetka sells itself with what marketplace sellers offer, and who those sellers are.
- Collect buyer reviews and questions with stars, pros and cons for product research.
- Map a product type across brands and categories before pulling listings.
Questions developers ask before integrating
Do I need a Rozetka account?
No. Everything is read logged out, and you call reefapi.com from anywhere.
Can I search in Ukrainian, Russian or English?
Yes, all three. lang=ua (default) or lang=ru sets the language of titles and characteristic labels; the products found are the same. Full-width letters are normalised (iphone finds the same 969,567 products as iphone).
Which filters are there?
Category, seller, price range, brand, delivery and Smart subscription. Each was checked against the unfiltered count in the same run: навушники 311,611 → sold by Rozetka 35,784, marketplace sellers 274,523, 100 to 500 UAH 86,704, brand Apple 33; телевізор 71,746 → ready to ship 284, Smart subscription 21,650, Samsung or LG 603; чохол iphone 15 112,513 → category phone cases 101,309. A filter value Rozetka does not recognise for that search is rejected with the values it offers, instead of silently returning everything.
How deep can I page?
Rozetka serves 60 products per page and at most 1,000 per search (17 pages). total_reachable says how many can be paged; past the last page you get page_clamped and no rows, never page 1 again.
Which sort orders work?
Relevance, price low to high and price high to low. Rozetka's search accepts other sort names but returns the relevance order for them, so they are not offered.
Can I check many prices at once?
Yes. prices takes up to 60 product ids in one call and returns price, old price, stock state, seller and rating for each. Ids Rozetka does not know are listed in not_found.
Do you return all reviews?
Yes, 36 per page (Rozetka's fixed page size), newest first, verified buyers first, photo reviews first or most helpful first, optionally only one star rating. Buyer questions are available with type=questions.
Do you return the delivery cost?
No. Delivery cost and date depend on the buyer's city on Rozetka; this API returns the delivery filter, the Smart subscription flag and the warranty and return terms.
What is the Rozetka API?
Rozetka API is a ReefAPI endpoint group for ukraine's largest online store and marketplace: uah prices, old prices, stock, seller, specs and reviews. It returns live JSON through POST requests under /rozetka/v1.
Is the Rozetka API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Rozetka calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Rozetka login or account?
No login to Rozetka is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Rozetka data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Rozetka API use?
Rozetka actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Rozetka from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call rozetka actions with the same key, credit pool and JSON envelope used by normal REST requests.