Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Prom.ua API page →
E-commerce & Marketplaces

Prom.ua API & Scraper

Prom.ua is Ukraine's large multi-seller marketplace: thousands of shops list their own offers, so the same item often appears from many sellers at different prices.

6 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 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 Ukrainian, Russian or Latin words and/or a category id with prom.ua's own filters (price range, in stock, discounted, wholesale, pay in parts, Prom-payment, free Smart delivery, delivery method, the city the item ships from, 4+ star rating, condition, brand, one seller) and four sort orders. Each row is one seller's offer: the price prom.ua prints, the old price, wholesale tiers with minimum quantities, availability, rating and review count, the seller (name, city, positive-review share and count) and the group of offers for the same item from other sellers with their lowest and highest price. `product` returns one offer in full: description, images, every attribute, category path, the seller's phone, website and return terms, delivery options with prices and payment options. `reviews`, `seller`, `seller_reviews` and `categories` cover product reviews, shop profiles with their catalogue, shop reviews and the category tree.

Reference

What a Prom.ua field actually contains

Fields that read differently from how they look. Every row was measured against live prom.ua pages on 2026-10-14.

FieldWhat it holds
product_idProm.ua's id of one seller's offer, the number after /p in a product address (prom.ua/ua/p3026527730-...). Pass it unchanged to product and reviews; a product URL works too. Search to product returned the same id, price and seller on 16 of 16 rows.
price, price_oldprice is the price prom.ua prints in bold; price_old is the struck price, present only when the seller runs a discount. price matched the product page on 19 of 20 audited products and the search row on 20 of 20; on the 20th the page did not load in that minute.
wholesale_pricesThe seller's wholesale (опт) tiers: a price and the minimum quantity for it, for example 47,503 UAH from 3 pieces on a phone whose retail price is 48,559. The page's structured data lists this wholesale tier as its first offer, so it disagreed with the printed price on 12 of 20 products; this API keeps the two apart.
price_is_from, price_on_requestprice_is_from is true when prom.ua prints "від" (from) before the price. price_on_request is true when the seller shows "Ціну уточнюйте" (ask for the price); price is then null, never 0.
availability, availability_text, available_fromavailability is prom.ua's code (avail, order = made to order, not_avail, waiting); availability_text is what the page prints ("Готово до відправки", "В наявності", "Під замовлення"). For made-to-order items available_from is the ship date the page shows (2026-10-31 on one T-shirt). Prom.ua publishes availability, not stock quantities.
modelThe same item offered by other sellers: offers_count, sellers_count, the lowest and highest price among them and their product ids, plus the reviews of the item across all sellers. One iPhone 17 256GB had 21 offers from 21 sellers between 44,239 and 63,240 UAH.
sellerThe shop selling this offer: id, name, city, positive-review percent and review count; product adds the phone, website, years on prom.ua, last activity, orders delivered and return days, as printed on the public product page.
region (filter)Where the item ships from, which can differ from the seller's own city: for region=lviv the seller was based in Lviv on 4 of 48 rows, but all 6 checked products shipped from Lviv.
rating_4_plus (filter)Prom.ua applies it to the item's rating across all sellers (model.rating), so an offer with no reviews of its own can match when other sellers' reviews of the same item average 4 or more.
totalProm.ua's count is approximate: the same search returned 8,945 to 8,985 on consecutive calls, and it widens some searches with translations and synonyms (3,300 vs about 4,550 for "кавоварка рожкова"); query_expansion says when that happened.

All prices are Ukrainian hryvnia (UAH) as the seller set them. Prices, availability and delivery options were identical read from inside and outside Ukraine (6 of 6 products). Ukrainian is the default language; lang=ru returns names and labels in Russian.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/prom-ua/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "кавоварка рожкова",
    "in_stock": true
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "prom-ua",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 2797.8,
    "record_count": 48,
    "bytes": 94508,
    "cache_hit": false,
    "total": 1422,
    "currency": "UAH",
    "pagination": {
      "offset": 0,
      "next_offset": 48,
      "has_more": true
    },
    "upstream_requests": 1,
    "charged_credits": 2,
    "version": "0.1.0",
    "request_id": "8ea12b25dc4c4db7",
    "queue_ms": 1.2,
    "fetched_at": "2026-10-14T18:57:32.830Z"
  },
  "data": {
    "query": {
      "in_stock": true,
      "sort": "relevance",
      "query": "кавоварка рожкова",
      "page_size": 48,
      "offset": 0,
      "lang": "uk"
    },
    "total": 1422,
    "total_is_approximate": true,
    "offset": 0,
    "page_size": 48,
    "next_offset": 48,
    "has_more": true,
    "corrected_query": null,
    "query_expansion": null,
    "category": null,
    "region": null,
    "results": [
      {
        "product_id": "3166443886",
        "name": "Міні кавоварка для дому, Найкраща кавоварка еспресо для дому, Кавоварка капучіно для дому, Рожкові кавоварки для дому, OKD",
        "url": "https://prom.ua/ua/p3166443886-luchshaya-kofevarka-espresso.html",
        "image": "https://images.prom.ua/7650010499_w640_h640_luchshaya-kofevarka-espresso.jpg",
        "sku": "150783-W892",
        "price": 2234.88,
        "price_old": 2304,
        "discount_pct": 3,
        "price_is_from": false,
        "price_on_request": false,
        "price_note": null,
        "currency": "UAH",
        "price_usd_source": 51.11,
        "unit": "шт.",
        "wholesale_prices": [],
        "selling_type": "retail",
        "discount_ends": null,
        "pay_in_parts_monthly": 223,
        "availability": "avail",
        "availability_text": "Готово до відправки",
        "in_stock": true,
        "ready_to_ship": true,
        "stock_ending": false,
        "available_from": null,
        "rating": null,
        "review_count": 0,
        "brand": "Rainberg",
        "brand_id": "268104",
        "category_id": "638",
        "category_ids": [
          "50",
          "6",
          "63004"
        ],
        "seller": {
          "seller_id": "4164819",
          "name": "Talira — сучасний онлайн-магазин. Відправка Новою Поштою по Україні.",
          "url": "https://prom.ua/ua/c4164819-talira-suchasnij-onlajn.html",
          "city": "м. Одеса",
          "country": "Україна",
          "positive_pct": 92,
          "review_count": 335,
          "top_seller": true,
          "return_days": 14,
          "non_returnable": true
        },
        "model": null,
        "prosale": true,
        "weak_match": false,
        "is_adult": false
      },
      {
        "product_id": "3118552932",
        "name": "Кавоварка рожкова LIBERTON LCM-2209",
        "url": "https://prom.ua/ua/p3118552932-kavovarka-rozhkova-liberton.html",
        "image": "https://images.prom.ua/7548042931_w640_h640_kavovarka-rozhkova-liberton.jpg",
        "sku": "LCM-2209",
        "price": 4073,
        "price_old": null,
        "discount_pct": null,
        "price_is_from": false,
        "price_on_request": false,
        "price_note": null,
        "currency": "UAH",
        "price_usd_source": 90.35,
        "unit": "шт.",
        "wholesale_prices": [],
        "selling_type": "retail",
        "discount_ends": null,
        "pay_in_parts_monthly": 679,
        "availability": "avail",
        "availability_text": "В наявності",
        "in_stock": true,
        "ready_to_ship": true,
        "stock_ending": false,
        "available_from": null,
        "rating": null,
        "review_count": 0,
        "brand": "Liberton",
        "brand_id": "3484",
        "category_id": "638",
        "category_ids": [
          "50",
          "6",
          "63004"
        ],
        "seller": {
          "seller_id": "3862645",
          "name": "Смарт Техніка",
          "url": "https://prom.ua/ua/c3862645-smart-tehnika.html",
          "city": "м. Дніпро",
          "country": "Україна",
          "positive_pct": 92,
          "review_count": 97,
          "top_seller": true,
          "return_days": 14,
          "non_returnable": false
        },
        "model": null,
        "prosale": true,
        "weak_match": false,
        "is_adult": false
      },
      {
        "product_id": "1125367521",
        "name": "Кавомашина кавоварка рожкова еспресо (850 Вт) GRUNHELM GEC17 15 бар Напівавтомат Система \"Капучіно\" 6902019000177",
        "url": "https://prom.ua/ua/p1125367521-kofemashina-kofevarka-espresso.html",
        "image": "https://images.prom.ua/6415388156_w640_h640_kofemashina-kofevarka-espresso.jpg",
        "sku": "94629",
        "price": 2889,
        "price_old": 4514,
        "discount_pct": 36,
        "price_is_from": false,
        "price_on_request": false,
        "price_note": null,
        "currency": "UAH",
        "price_usd_source": 98.12,
        "unit": "шт.",
        "wholesale_prices": [],
        "selling_type": "retail",
        "discount_ends": "ще 7 днів",
        "pay_in_parts_monthly": 482,
        "availability": "avail",
        "availability_text": "Готово до відправки",
        "in_stock": true,
        "ready_to_ship": true,
        "stock_ending": false,
        "available_from": null,
        "rating": 4,
        "review_count": 1,
        "brand": "GRUNHELM",
        "brand_id": "2347",
        "category_id": "638",
        "category_ids": [
          "50",
          "6",
          "63004"
        ],
        "seller": {
          "seller_id": "2675796",
          "name": "🔴WATTRA.COM.UA - справа техніки...",
          "url": "https://prom.ua/ua/c2675796-wattracomua-delo-tehniki.html",
          "city": "м. Київ",
          "country": "Україна",
          "positive_pct": 98,
          "review_count": 3503,
          "top_seller": true,
          "return_days": 14,
          "non_returnable": false
        },
        "model": {
          "model_id": "3796113625421619607",
          "rating": 4,
          "review_count": 1,
          "offers_count": null,
          "sellers_count": null,
          "min_price": null,
          "max_price": null,
          "offer_ids": []
        },
        "prosale": true,
        "weak_match": false,
        "is_adult": false
      }
    ]
  }
}
Actions

What the Prom.ua API does

ActionDescriptionConcrete use caseKey params
searchSearch prom.ua by keyword (Ukrainian, Russian or Latin) and/or category with the site's own filters: price range, in stock, discounted, wholesale, pay in parts, Prom-payment, free Smart delivery, delivery method, seller city/region, 4+ star reviews, condition, brand, one seller, and 4 sort orders. Each row is one seller's offer: price as printed, old price, wholesale tiers, availability, rating and review count, the seller (name, city, positive-review % and count) and the model group the same item belongs to across sellers. Needs `query` or `category`.Pricing teams call search to search prom.ua by keyword (Ukrainian, Russian or Latin) and/or category with the site's own f….query, category, seller_id, min_price, max_price, ...
productFull prom.ua product by product_id or URL: name, description, images, video, brand, GTIN/MPN when the seller filled them, price as printed, old price, discount, 'from' price, wholesale tiers with minimum quantities, minimum order, instalment price, availability, rating and review count, every attribute, category path, warranty, the seller (name, city, phone, website, years on prom.ua, positive-review %, orders delivered, return terms), delivery options with their prices and payment options, the model group across sellers (offer count, seller count, min/max price) and the item's variations.Marketplace operators call product to get full prom.ua product by product_id or URL.product_id, url, lang
reviewsBuyer reviews of a prom.ua product: star rating, title, text, pros, cons, date, author as prom.ua shows it, verified-purchase flag, likes, photos, video, the seller it was bought from and the comment thread (seller replies flagged), plus the product's total review count and star distribution.Catalog enrichment teams call reviews to get buyer reviews of a prom.ua product.product_id, sort, sentiment, with_media, verified_only, ...
sellerA prom.ua seller (shop) profile and its product catalogue: name, phone, website, city, years on prom.ua, last activity, orders delivered, positive-review %, review counts and star distribution, the review tags buyers chose (fast dispatch, polite seller...), legal name and registry code when the seller published them, opening hours, return policy, and one page of its products with the same filters and rows as search.Retail analysts call seller to get a prom.ua seller (shop) profile and its product catalogue.seller_id, min_price, max_price, in_stock, discounted, ...
seller_reviewsReviews of a prom.ua seller (shop): rating, text, date, author, the tags the buyer ticked, the products ordered, photos, the seller's public response and comments.Pricing teams call seller_reviews to get reviews of a prom.ua seller (shop).seller_id, sort, sentiment, with_text_only, page, ...
categoriesProm.ua category tree: without category_id the top-level departments; with it that category's name, alias, URL, its path from the root and its direct sub-categories. Ids work as `category` in search.Marketplace operators call categories to get prom.ua category tree.category_id, lang
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/prom-ua/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"кавоварка рожкова","in_stock":true}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.prom-ua.search with {"query":"кавоварка рожкова","in_stock":true}.
Use cases

Who uses this API and why

  • Track prices and discounts of Ukrainian sellers on prom.ua for a list of products.
  • Compare every seller offering the same item, from the lowest to the highest price.
  • Find wholesale suppliers on prom.ua with their price tiers and minimum quantities.
  • Score Ukrainian shops by positive reviews, orders delivered and review tags before working with them.
  • Collect product reviews and shop reviews from prom.ua for sentiment and quality monitoring.
FAQ

Questions developers ask before integrating

Do I need a prom.ua account?

No. Everything is read logged out, and you call reefapi.com from anywhere.

Is a row a product or an offer?

An offer: one seller's listing with its own price and availability. The same item from other sellers is grouped under model, with the number of offers, the lowest and highest price and the other offers' ids.

Which price should I use?

price is what prom.ua shows as the price. price_old is the price before the seller's discount. wholesale_prices lists cheaper prices for larger quantities with the minimum quantity for each.

Which search filters are there?

Price range, in stock, discounted, wholesale, pay in parts, Prom-payment, free Smart delivery, delivery method, ship-from city, 4+ stars, reviews with photos, condition, brand, category and one seller. Each was checked against the unfiltered count in the same run: "кавоварка рожкова" 3,300 → 2,000-5,000 UAH 1,662, in stock 1,391, discounted 1,264, wholesale 530, ships from Kyiv 1,555, from Lviv 299, used 27, Nova Poshta 3,289, Ukrposhta 1,620, pickup 998.

How many results can I page through?

Up to 60 rows per call and about 9,000 results per search, which is where prom.ua itself stops serving results. Pass next_offset as offset to continue.

Do you return the seller's phone?

Yes, product and seller return the shop's phone, website and city exactly as prom.ua prints them on the public page, along with the shop's rating and review counts.

Why do price sorts return weak_match rows?

When sorted by price, prom.ua lists the close matches first and then looser ones; the API returns both and marks the second group with weak_match: true.

What is not returned?

Stock quantities (prom.ua shows availability, not counts), delivery dates for a city, questions and answers, and prom.ua's paid ad block.

What is the Prom.ua API?

Prom.ua API is a ReefAPI endpoint group for ukraine's multi-seller marketplace: price, old price, wholesale tiers, availability, seller with rating, city and phone, delivery and payment options, product and seller reviews. It returns live JSON through POST requests under /prom-ua/v1.

Is the Prom.ua API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Prom.ua calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Prom.ua login or account?

No login to Prom.ua 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 Prom.ua 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 Prom.ua API use?

Prom.ua actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Prom.ua from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call prom-ua actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / prom-ua

Prom.ua

Ukraine's multi-seller marketplace: price, old price, wholesale tiers, availability, seller with rating, city and phone, delivery and payment options, product and seller reviews.

base /prom-ua/v16 endpoints
post/prom-ua/v1/product1 credit

Full prom.ua product by product_id or URL: name, description, images, video, brand, GTIN/MPN when the seller filled them, price as printed, old price, discount, 'from' price, wholesale tiers with minimum quantities, minimum order, instalment price, availability, rating and review count, every attribute, category path, warranty, the seller (name, city, phone, website, years on prom.ua, positive-review %, orders delivered, return terms), delivery options with their prices and payment options, the model group across sellers (offer count, seller count, min/max price) and the item's variations.

ParameterAllowed / rangeDescription
product_idoptional—Prom.ua product id: the number after `/p` in a product URL (`prom.ua/ua/p3026527730-....html`), returned as `product_id` in every search row. Provide product_id OR url.
urloptional—A prom.ua product URL; alternative to product_id.
lang = ukoptionaluk · ruLanguage of names, attribute labels and availability text: Ukrainian (default) or Russian. Prices and ids do not change.
Try in playground →
post/prom-ua/v1/reviews1 credit

Buyer reviews of a prom.ua product: star rating, title, text, pros, cons, date, author as prom.ua shows it, verified-purchase flag, likes, photos, video, the seller it was bought from and the comment thread (seller replies flagged), plus the product's total review count and star distribution.

ParameterAllowed / rangeDescription
product_idrequired—Prom.ua product id.
sort = most_usefuloptionalmost_useful · newest · highest_rating · lowest_ratingReview order (prom.ua's own options).
sentimentoptionalpositive · negativeprom.ua's own split: positive = 4-5 stars, negative = 1-3 stars (measured: 9 positive + 1 three-star negative on a 10-review item).
with_mediaoptional—Only reviews with photos or video.
verified_onlyoptional—Only reviews from buyers who purchased on prom.ua.
page = 1optional1–500Review page.
page_size = 10optional1–50Reviews per page (at most 50).
lang = ukoptionaluk · ruLanguage of names, attribute labels and availability text: Ukrainian (default) or Russian. Prices and ids do not change.
Try in playground →
post/prom-ua/v1/seller2 credits

A prom.ua seller (shop) profile and its product catalogue: name, phone, website, city, years on prom.ua, last activity, orders delivered, positive-review %, review counts and star distribution, the review tags buyers chose (fast dispatch, polite seller...), legal name and registry code when the seller published them, opening hours, return policy, and one page of its products with the same filters and rows as search.

ParameterAllowed / rangeDescription
seller_idrequired—Prom.ua seller id (`seller.seller_id` in any row) or a seller URL (`prom.ua/ua/c3805778-boo-svit.html`).
min_priceoptional0–Lowest price in UAH (applies to the price the page prints).
max_priceoptional0–Highest price in UAH.
in_stockoptional—Only items marked 'В наявності' (in stock).
discountedoptional—Only items with a discount (old price struck through).
wholesaleoptional—Only items that have wholesale (опт) price tiers.
pay_in_partsoptional—Only items payable in instalments ('Оплатити частинами').
prom_paymentoptional—Only items with Prom-payment (paid on prom.ua with buyer protection).
free_delivery_smartoptional—Only items with free delivery for Smart subscribers.
deliveryoptionalnova_poshta · ukrposhta · rozetka_delivery · pickup · meest_express · delivery_autoOnly sellers offering this delivery method.
rating_4_plusoptional—Only items rated 4 stars or more. prom.ua applies it to the model rating (all sellers' reviews of the same item, `model.rating`), not only this offer's own.
with_review_mediaoptional—Only items with photo/video buyer reviews.
conditionoptionalnew · used · refurbished · markdownItem condition (prom.ua's 'Стан' attribute).
brand_idoptional—Brand id (`brand_id` in rows, e.g. 80130 = IPhone as sellers spell it).
sort = relevanceoptionalrelevance · popularity · price_asc · price_descResult order (prom.ua's own sort bar). With a price sort prom.ua puts the strong matches first and the looser ones after them (`weak_match: true`).
page_size = 48optional1–60Rows per call (default 48, at most 60).
offset = 0optional0–8900Rows to skip. prom.ua serves at most ~9 000 results per query; offsets above 8900 are refused.
pageoptional1–200Convenience: offset = (page-1) x page_size. Ignored when offset is given.
lang = ukoptionaluk · ruLanguage of names, attribute labels and availability text: Ukrainian (default) or Russian. Prices and ids do not change.
Try in playground →
post/prom-ua/v1/seller_reviews1 credit

Reviews of a prom.ua seller (shop): rating, text, date, author, the tags the buyer ticked, the products ordered, photos, the seller's public response and comments.

ParameterAllowed / rangeDescription
seller_idrequired—Prom.ua seller id.
sort = newestoptionalnewest · highest_rating · lowest_rating · most_liked · most_commentedReview order (prom.ua's own options).
sentimentoptionalpositive · negativeOnly positive or only negative reviews (prom.ua's own split).
with_text_onlyoptional—Only reviews with written text.
page = 1optional1–500Review page.
page_size = 10optional1–50Reviews per page (at most 50).
lang = ukoptionaluk · ruLanguage of names, attribute labels and availability text: Ukrainian (default) or Russian. Prices and ids do not change.
Try in playground →
post/prom-ua/v1/categories1 credit

Prom.ua category tree: without category_id the top-level departments; with it that category's name, alias, URL, its path from the root and its direct sub-categories. Ids work as `category` in search.

ParameterAllowed / rangeDescription
category_idoptional—Category id; omit for the top-level departments.
lang = ukoptionaluk · ruLanguage of names, attribute labels and availability text: Ukrainian (default) or Russian. Prices and ids do not change.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.