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

Hepsiburada API & Scraper

The Hepsiburada API returns product data from a leading Turkish e-commerce marketplace as clean JSON.

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.

The primary product/detail endpoint returns a product's title, brand, price (TRY), original price, discount rate, images, rating, review count, stock and seller, and you can pull product/reviews, product/offers, run a search, browse a category and pull a seller. It is built for price intelligence, catalog enrichment and Turkish e-commerce analytics that need Hepsiburada data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Reference

Hepsiburada ids, Turkish price formatting and two rating scales

One Hepsiburada product carries three different ids, and the response gives you the price twice on purpose, because Turkish formatting uses the dot for thousands and the comma for kuruş. The merchant score and the product score also run on different scales. Measured on 2026-08-27 against HBCV00008749EE, a MacBook Air M4, and a 'laptop' search.

FieldFormatMeasured value
sku"HBCV" plus 10 upper-case alphanumerics, 14 characters. This is what every action takesHBCV00008749EE
product_id"HBC" plus 10 characters, 13 long. Close to the sku but not equal to itHBC00008749ED
listing_idUUID identifying one merchant's offer on that product94e353b0-b2e7-41b8-ad56-4ddb0bb56b14
priceA plain number in TRY, kuruş as the decimals67199.04
price_formattedThe Turkish string as the site prints it: dot for thousands, comma for kuruş"67.199,04"
original_price + discount_ratePre-discount price and an integer percentage69999.0 and 4
rating / rating_countProduct score on a 0-5 scale4.9 over 302 ratings
merchant.ratingMerchant score on a 0-10 scale, a different scale from the product9.6 for PivotExpert, 10.0 for MegaCraft
other_offers[].quantityThat merchant's own stock count for the listing3 and 28 on the two competing offers
category (parameter)"<slug>-c-<id>", and the id comes back as category_idlaptop-notebook-dizustu-bilgisayarlar-c-98 returned category_id 98
gtin / variants[].barcodeRetail barcode digits"0195949890413"
meta.render"ssr" means real rows were served, "skeleton" means none wereskeleton returned record_count 0 with ok true

Review authors arrive pre-masked by Hepsiburada ("Ahmet A*****"), review dates are ISO YYYY-MM-DD, and roughly 10 reviews come back per page. Page one of both search and category returned 14 rows in this measurement, so page with meta.pagination rather than assuming a fixed page size.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/hepsiburada/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "laptop"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "hepsiburada",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 5227.4,
    "record_count": 18,
    "bytes": 3282141,
    "cache_hit": false,
    "completeness_pct": 100,
    "render": "ssr",
    "pagination": {
      "page": 1,
      "has_more": true
    }
  },
  "data": {
    "results": [
      {
        "sku": "HBCV00009P0ZN4",
        "title": "Lenovo Ideapad Slim 3 16IRH10 Intel Core I5-13420H 16GB 512GB SSD 16\" WUXGA (1920X1200) IPS Panel Freedos Taşınabilir Dizüstü Bilgisayar 83K20073TR",
        "brand": "Lenovo",
        "url": "https://www.hepsiburada.com/lenovo-ideapad-slim-3-16irh10-intel-core-i5-13420h-16gb-512gb-ssd-16-wuxga-1920x1200-ips-panel-freedos-tasinabilir-dizustu-bilgisayar-83k20073tr-p-HBCV00009P0ZN4",
        "image": "https://productimages.hepsiburada.net/s/777/222-222/[redacted-phone].jpg",
        "price": 27299,
        "original_price": 27299,
        "discount_rate": 0,
        "currency": "TRY",
        "rating": 4.7,
        "rating_count": 100,
        "merchant": null,
        "installment_count": null
      },
      {
        "sku": "HBCV0000A10UR3",
        "title": "Acer Aspire Lite AL16-54P Intel Core i5 1334U 16GB 512GB SSD Freedos 15.6'' FHD Taşınabilir Bilgisayar NX.D76EY.001",
        "brand": "Acer",
        "url": "https://www.hepsiburada.com/acer-aspire-lite-al16-54p-intel-core-i5-1334u-16gb-512gb-ssd-freedos-15-6-fhd-tasinabilir-bilgisayar-nx-d76ey-001-p-HBCV0000A10UR3",
        "image": "https://productimages.hepsiburada.net/s/777/222-222/[redacted-phone].jpg",
        "price": 23999,
        "original_price": 23999,
        "discount_rate": 0,
        "currency": "TRY",
        "rating": 4.2,
        "rating_count": 39,
        "merchant": null,
        "installment_count": null
      },
      {
        "sku": "HBCV0000COLVCS",
        "title": "HP AI 15 Intel Core Ultra 5 225U 16GB 512GB SSD Freedos 15.6\" Taşınabilir Bilgisayar D51E0EA",
        "brand": "HP",
        "url": "https://www.hepsiburada.com/hp-ai-15-intel-core-ultra-5-225u-16gb-512gb-ssd-freedos-15-6-tasinabilir-bilgisayar-d51e0ea-p-HBCV0000COLVCS",
        "image": "https://productimages.hepsiburada.net/s/777/222-222/[redacted-phone].jpg",
        "price": 26999,
        "original_price": 26999,
        "discount_rate": 0,
        "currency": "TRY",
        "rating": 4.4,
        "rating_count": 48,
        "merchant": null,
        "installment_count": null
      }
    ],
    "query": "laptop",
    "page": 1,
    "render": "ssr"
  }
}
Actions

What the Hepsiburada API does

ActionDescriptionConcrete use caseKey params
product/detailFull Hepsiburada product details by `url` or HB code (`sku`): title, brand, price, discount, images, rating, stock, seller (merchant), category, specifications, variants, top reviews, coupon/campaign badges, and all other_offers (every merchant selling the same product).Pricing teams call product/detail to get full Hepsiburada product details by `url` or HB code (`sku`).url, sku, max_rotations
product/reviewsPaginated customer reviews for a product by `sku` or `url`. Walk every page with `page` to retrieve ALL reviews. Review authors are pre-masked by Hepsiburada (e.g. 'Ahmet K***') — no PII. ~10 reviews per page.Marketplace operators call product/reviews to get paginated customer reviews for a product by `sku` or `url`.sku, url, page, max_rotations
product/offersEvery merchant listing (buybox + other sellers) for a product by `sku` or `url`: compare price, seller rating, shipping and stock across all sellers of the same item.Catalog enrichment teams call product/offers to get every merchant listing (buybox + other sellers) for a product by `sku` or `url`.sku, url, max_rotations
searchSearch Hepsiburada products by keyword with optional sort and price/brand filters — returns results with SKU, title, brand, price, list price, rating, image and merchant. Results may be empty for very niche queries; try a broader keyword.Retail analysts call search to search Hepsiburada products by keyword with optional sort and price/brand filters.query, page, sort, price_min, price_max, ...
categoryBrowse a Hepsiburada category page by its path (`category` = '<slug>-c-<id>', e.g. 'laptop-notebook-dizustu-bilgisayarlar-c-98') with optional sort/price filters and pagination. Use it to list everything in a category, not just a keyword match.Pricing teams call category to get browse a Hepsiburada category page by its path (`category` = '<slug>-c-<id>', e.g.category, page, sort, price_min, price_max, ...
sellerHepsiburada merchant (mağaza) profile + its product catalogue by store slug (`seller`, e.g. 'jollyshop') or full /magaza/<slug> URL. Returns seller info (name, rating, total product count) and a paginated list of the seller's products.Marketplace operators call seller to get hepsiburada merchant (mağaza) profile + its product catalogue by store slug (`seller`, e.g.seller, page, sort, price_min, price_max, ...
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/hepsiburada/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"laptop"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.hepsiburada.search with {"query":"laptop"}.
Use cases

Who uses this API and why

  • Pricing teams call search and product/offers to track Hepsiburada prices and seller competition.
  • Catalog-enrichment tools use product/detail to fill listings with images, specs and stock.
  • Review-analysis products pull product/reviews to monitor sentiment and ratings for a product.
FAQ

Questions developers ask before integrating

How does the API handle Turkish number formatting, where the dot means thousands?

It returns both forms so nothing has to be guessed. price is a plain number and price_formatted is the string exactly as the site prints it. For HBCV00008749EE that was price 67199.04 and price_formatted "67.199,04", which is sixty-seven thousand lira and four kuruş, not sixty-seven lira. The arithmetic checks out too: original_price 69999.0 with discount_rate 4 gives 67199.04.

What is the difference between sku, product_id and listing_id?

sku is the HBCV code in the URL and the value every action accepts, 14 characters, for example HBCV00008749EE. product_id is a shorter HBC code (HBC00008749ED) for the catalog entry. listing_id is a UUID for one merchant's offer, so a product has one listing_id per seller and those are what appear in other_offers[]. Fetch by sku.

Why is merchant.rating 9.6 when the product rating is 4.9?

They are two different scales inside the same response. Product ratings are the familiar 0-5, so 4.9 over 302 ratings on that MacBook. Merchant ratings are Hepsiburada's 0-10 store score, and the two sellers on that listing scored 9.6 and 10.0. The same 0-10 numbers appear as merchant_rating in other_offers[] and in the offers action, so do not normalise the two together.

Why did a search return ok true with zero results?

Because Hepsiburada served the page skeleton instead of rendered results, which happens on very narrow queries. The response says so: meta.render came back "skeleton" with record_count 0, against "ssr" with 14 rows for 'laptop'. Treat skeleton as 'ask again, more broadly', not as 'this product does not exist'.

Why is merchant null on search results but filled in on product detail?

The search grid does not publish the seller, so the field is left null rather than guessed. It was null on all 14 rows of a 'laptop' search. product/detail and product/offers read the buybox, so there you get merchant{name, id, city, country, rating, rating_count} plus seller_name, and every competing seller in other_offers[].

How do I compare every seller of the same product?

product/detail returns other_offers[] and offer_count, and product/offers returns those rows on their own. Each row carries merchant_name, merchant_id, price, original_price, discount_rate, in_stock, quantity, free_shipping, fast_shipping, fulfilled_by_hb, coupon_count, merchant_rating and buybox_order. Measured on that MacBook: two offers, 67199.04 from PivotExpert at buybox_order 1 and 99999.0 from MegaCraft at 2.

Are Hepsiburada variants separate products?

Yes. Each entry in variants[] has its own sku, url, price, price_formatted, barcode and a properties[] list of what makes it different. The 16GB/256GB MacBook (HBCV00008749EE at 67199.04) and the 24GB/512GB one (HBCV00008749MO at 82989.0) are separate SKUs that list each other as variants, so to price a specific configuration you fetch that variant's own sku.

Is there personal data in the reviews?

No. Hepsiburada masks review authors before publishing them, so they arrive as "Ahmet A*****" or "C**** D****" and there is nothing left to redact. Each review carries author, rating on the 0-5 scale, an ISO date such as "2025-09-05" and the body text. product/reviews serves about 10 per page and you walk them with page until meta.pagination.has_more is false.

What is the Hepsiburada API?

Hepsiburada API is a ReefAPI endpoint group for turkish marketplace products, prices and reviews. It returns live JSON through POST requests under /hepsiburada/v1.

Is the Hepsiburada API free to try?

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

Do I need a Hepsiburada login or account?

No login to Hepsiburada 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 Hepsiburada data?

The page example is captured from a live product/detail call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Hepsiburada API use?

Hepsiburada actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Hepsiburada from an AI assistant or MCP client?

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

docs / hepsiburada

Hepsiburada

Turkish marketplace products, prices and reviews.

base /hepsiburada/v16 endpoints
post/hepsiburada/v1/product/detail1 credit

Full Hepsiburada product details by `url` or HB code (`sku`): title, brand, price, discount, images, rating, stock, seller (merchant), category, specifications, variants, top reviews, coupon/campaign badges, and all other_offers (every merchant selling the same product).

ParameterAllowed / rangeDescription
skuoptionalHepsiburada product code (HB code) — the HBCV… token in the product URL (…-p-<code>). Take it from search results. Provide sku OR url.
urloptionalFull Hepsiburada product URL — alternative to sku.
max_rotations = 8optional1–14Advanced: how many times to retry a difficult request (1–14, default 8 — leave unchanged for typical use).
Try in playground →
post/hepsiburada/v1/product/reviews1 credit

Paginated customer reviews for a product by `sku` or `url`. Walk every page with `page` to retrieve ALL reviews. Review authors are pre-masked by Hepsiburada (e.g. 'Ahmet K***') — no PII. ~10 reviews per page.

ParameterAllowed / rangeDescription
skuoptionalHepsiburada product code (HB code) — the HBCV… token in the product URL (…-p-<code>). Take it from search results. Provide sku OR url.
urloptionalFull Hepsiburada product URL — alternative to sku.
page = 1optional1–Review page — 1-BASED (1, 2, 3…); empty page = past the last.
max_rotations = 8optional1–14Advanced: how many times to retry a difficult request (1–14, default 8 — leave unchanged for typical use).
Try in playground →
post/hepsiburada/v1/product/offers1 credit

Every merchant listing (buybox + other sellers) for a product by `sku` or `url`: compare price, seller rating, shipping and stock across all sellers of the same item.

ParameterAllowed / rangeDescription
skuoptionalHepsiburada product code (HB code) — the HBCV… token in the product URL (…-p-<code>). Take it from search results. Provide sku OR url.
urloptionalFull Hepsiburada product URL — alternative to sku.
max_rotations = 8optional1–14Advanced: how many times to retry a difficult request (1–14, default 8 — leave unchanged for typical use).
Try in playground →
post/hepsiburada/v1/category1 credit

Browse a Hepsiburada category page by its path (`category` = '<slug>-c-<id>', e.g. 'laptop-notebook-dizustu-bilgisayarlar-c-98') with optional sort/price filters and pagination. Use it to list everything in a category, not just a keyword match.

ParameterAllowed / rangeDescription
categoryrequiredCategory path '<slug>-c-<id>' or a full category URL. Take the …-c-<id> path from a product's breadcrumb / category link.
page = 1optional1–Page number (1-BASED).
sort = defaultoptionaldefault · price_asc · price_desc · best_seller · most_reviewed · highest_rated · discount · newestResult ordering. One of: default, price_asc, price_desc, best_seller, most_reviewed, highest_rated, discount, newest.
price_minoptional0–Minimum price filter in TRY (optional).
price_maxoptional0–Maximum price filter in TRY (optional).
brandoptionalBrand filter — the brand slug, lowercase (e.g. 'asus', 'apple'). Optional.
max_rotations = 8optional1–14Advanced: how many times to retry a difficult request (1–14, default 8 — leave unchanged for typical use).
Try in playground →
post/hepsiburada/v1/seller1 credit

Hepsiburada merchant (mağaza) profile + its product catalogue by store slug (`seller`, e.g. 'jollyshop') or full /magaza/<slug> URL. Returns seller info (name, rating, total product count) and a paginated list of the seller's products.

ParameterAllowed / rangeDescription
sellerrequiredStore slug (the part after /magaza/, e.g. 'jollyshop') or a full https://www.hepsiburada.com/magaza/<slug> URL.
page = 1optional1–Product page within the store (1-BASED).
sort = defaultoptionaldefault · price_asc · price_desc · best_seller · most_reviewed · highest_rated · discount · newestResult ordering. One of: default, price_asc, price_desc, best_seller, most_reviewed, highest_rated, discount, newest.
price_minoptional0–Minimum price filter in TRY (optional).
price_maxoptional0–Maximum price filter in TRY (optional).
max_rotations = 8optional1–14Advanced: how many times to retry a difficult request (1–14, default 8 — leave unchanged for typical use).
Try in playground →