Hepsiburada reviews
A Hepsiburada product's reviews: rating, text, author, date, verified purchase, seller, reactions, per-feature ratings (battery, screen...), photos and video, with paging. Sort (newest, most helpful, highest or lowest rating) and filter by star rating, reviews with photos, seller or words in the review; all_variants=true covers every colour/size of the product (and adds the site's AI review summary). summary gives the star counts, sellers and frequent keywords for the reviews matching the other filters; feature_averages=true adds summary.all_variants: the product family's average, star breakdown, review count and per-feature averages (battery, screen...).
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
url | string | Product link. Example: https://www.hepsiburada.com/apple-iphone-17-pro-max-256-gb-kozmik-turuncu-p-HBCV00009Z3Z8C |
sku | string | Product SKU instead of url. Example: HBCV00009Z3Z8C |
sort | relevance | newest | helpful | highest | lowest | relevance (default), newest, helpful, highest, lowest. |
rating | string | Star ratings to keep, 1-5, comma separated (e.g. 1,2). |
with_media | boolean | true: only reviews with photos or video. |
seller | string | Seller names to keep, comma separated (as in summary.sellers). |
q | string | Words that must appear in the review. |
all_variants | boolean | true: reviews of every variant (colour, size) of the product, not just this SKU. |
feature_averages | boolean | true: add summary.all_variants with the average, star breakdown and per-feature averages. Costs an extra lookup. |
limit | integer | Reviews per page, 1-50 (default 20). Example: 20 |
page | integer | Page number (default 1). next_page is null on the last page. Example: 1 |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/hepsiburada/v1/reviews?url=https%3A%2F%2Fwww.hepsiburada.com%2Fapple-iphone-17-pro-max-256-gb-kozmik-turuncu-p-HBCV00009Z3Z8C" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/hepsiburada/v1/reviews",
params={"url": "https://www.hepsiburada.com/apple-iphone-17-pro-max-256-gb-kozmik-turuncu-p-HBCV00009Z3Z8C"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/hepsiburada/v1/reviews");
url.searchParams.set("url", "https://www.hepsiburada.com/apple-iphone-17-pro-max-256-gb-kozmik-turuncu-p-HBCV00009Z3Z8C");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).