E-commerce & Marketplaces

Trendyol API

The Trendyol API returns product data from Turkey's largest e-commerce marketplace as clean JSON.

9 actionsLive JSON1,000 free 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 content id, title, brand, price (current, list, discount, coupon, TY-plus) and campaign, and you can pull product/reviews, similar products, run a search with filters, browse a category, pull a seller's products and info, and get suggestions. It is built for price intelligence, catalog enrichment and Turkish e-commerce analytics that need Trendyol data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/trendyol/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "iphone"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "trendyol",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 479.4,
    "record_count": 24,
    "bytes": 117170,
    "cache_hit": false,
    "version": "0.1",
    "total_count": 100000,
    "page": 1,
    "pagination": {
      "page": 1,
      "has_more": true
    }
  },
  "data": {
    "results": [
      {
        "content_id": 1074210506,
        "product_group_id": 815150018,
        "title": "İphone 11 / 12 / 13 / 14 Pro - Pro Max Şarj Cihazı ( 20W Adaptör Ve Type-C to Lightinig Kablo )",
        "brand": "Apple",
        "url": "https://www.trendyol.com/apple/iphone-[redacted-phone]-pro-pro-max-sarj-cihazi-20w-adaptor-ve-type-c-to-lightinig-kablo-p-[redacted-phone]?boutiqueId=61&merchantId=1163676",
        "category": "Şarj Aleti",
        "merchant_id": 1163676,
        "image": "https://cdn.dsmcdn.com/mnresize/400/-/ty1585/prod/QC/20241016/16/f82dd693-cc3b-3322-b5a2-026a6e17bd81/1_org_zoom.jpg",
        "price": "1.345 TL",
        "price_value": 1345,
        "list_price": null,
        "list_price_value": null,
        "rating": 4.138461538461539,
        "comment_count": 65,
        "free_cargo": true,
        "fast_delivery": null,
        "flash_sale": null
      },
      {
        "content_id": 688908361,
        "product_group_id": 532476775,
        "title": "Yenilenmiş iPhone 11 128 GB Beyaz Cep Telefonu (12 Ay Garantili) - B Kalite",
        "brand": "Apple",
        "url": "https://www.trendyol.com/apple/yenilenmis-iphone-11-128-gb-beyaz-cep-telefonu-12-ay-garantili-b-kalite-p-[redacted-phone]?boutiqueId=61&merchantId=848995",
        "category": "Yenilenmiş Cep Telefonu",
        "merchant_id": 848995,
        "image": "https://cdn.dsmcdn.com/mnresize/400/-/ty1674/prod/QC/20250509/16/9fef0678-8c8e-387c-b774-98f3607c3121/1_org_zoom.jpg",
        "price": "17.046,80 TL",
        "price_value": 17046.8,
        "list_price": null,
        "list_price_value": null,
        "rating": 4.008256880733945,
        "comment_count": 1090,
        "free_cargo": true,
        "fast_delivery": null,
        "flash_sale": null
      },
      {
        "content_id": 762254881,
        "product_group_id": 580170099,
        "title": "iPhone 15 128 GB Mavi",
        "brand": "Apple",
        "url": "https://www.trendyol.com/apple/iphone-15-128-gb-mavi-p-[redacted-phone]?boutiqueId=689770&merchantId=968",
        "category": "IOS Cep Telefonları",
        "merchant_id": 968,
        "image": "https://cdn.dsmcdn.com/mnresize/400/-/ty1609/prod/QC/20241202/09/d1662cea-116d-3e2c-9a7a-66c6204ea0a3/1_org_zoom.jpg",
        "price": "48.999 TL",
        "price_value": 48999,
        "list_price": null,
        "list_price_value": null,
        "rating": 4.654226125137212,
        "comment_count": 1822,
        "free_cargo": false,
        "fast_delivery": null,
        "flash_sale": null
      }
    ],
    "query": "iphone"
  }
}
Actions

What the Trendyol API does

ActionDescriptionConcrete use caseKey params
product/detailfull product by `url` OR `content_id`: title/brand/price(current+list+discount%/coupon/ty+)/campaign(+campaigns[])/rating+comment_count/in_stock/seller(+score)/other_offers/category/images/attributes(specs)/variants. The dual-use influencer module.Pricing teams call product/detail to get full product by `url` OR `content_id`.url, content_id
product/reviewspaginated reviews by `content_id` OR `url`: {ai_summary (AI review digest), summary(avg/total_rating_count/total_comment_count/total_pages), reviews[]{user,rating,comment,date,seller,trusted,is_influencer,images}}. page/page_size params.Marketplace operators call product/reviews to get paginated reviews by `content_id` OR `url`.content_id, url, page, page_size
product/similarsimilar/cross-sell products by `content_id` OR `url` → results[]{content_id,title,brand,url,price,list_price,rating,comment_count,image,category}. page/size params.Catalog enrichment teams call product/similar to get similar/cross-sell products by `content_id` OR `url` → results[]{content_id,title,brand,url,p….content_id, url, page, size
searchSearch Trendyol products by keyword with optional sort & price/brand filters → results[]{content_id,title,brand,url,price,list_price,rating,comment_count,category,image,free_cargo}. Resolves content_ids for product/detail. Paginated+deduped (page 1-based, max_pages ≤10). meta.total_count = full result-set size.Retail analysts call search to search Trendyol products by keyword with optional sort & price/brand filters → results[]{cont….query, page, max_pages, sort, price, ...
search/filtersDiscover the available filter facets for a `query` OR `category_id` before filtering — brands (with ids for the `brand` param), price ranges, product ratings, and category-specific attributes (RAM, screen size, color, …) each with live result counts.Pricing teams call search/filters to discover the available filter facets for a `query` OR `category_id` before filtering.query, category_id
category/productsBrowse a Trendyol category by id — best-sellers, newest, or price/brand-filtered product lists. Same card shape as search. Get a category_id from a product's category.id (product/detail) or the '-c<id>' in a category URL.Marketplace operators call category/products to get browse a Trendyol category by id.category_id, url, page, max_pages, sort, ...
seller/productsAll products of a Trendyol seller/store (paginated, sortable, filterable) by seller_id. Same card shape as search. meta.total_count = the seller's full catalog size.Catalog enrichment teams call seller/products to get all products of a Trendyol seller/store (paginated, sortable, filterable) by seller_id.seller_id, url, page, max_pages, sort, ...
seller/infoTrendyol seller/store profile by seller_id: store name, legal entity (official_name), total product_count, seller score, and trust badges.Retail analysts call seller/info to get trendyol seller/store profile by seller_id.seller_id, url
suggestkeyword suggestions for a query (ops; search-fallback if suggest API blocked)Pricing teams call suggest to get keyword suggestions for a query (ops; search-fallback if suggest API blocked).query
Code samples

Call search from your stack

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

Who uses this API and why

  • Pricing teams call search and product/detail to track Trendyol prices, discounts and coupons.
  • Catalog-enrichment tools use product/detail and reviews to fill listings with specs and ratings.
  • Seller-intelligence products use seller/products to audit a competitor's full Trendyol catalog.
FAQ

Questions developers ask before integrating

What is the Trendyol API?

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

Is the Trendyol API free to try?

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

Do I need a Trendyol login or account?

No login to Trendyol 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 Trendyol 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 Trendyol API use?

Trendyol 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 Trendyol from an AI assistant or MCP client?

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

Is the Trendyol API a Trendyol scraper?

It is the managed alternative to a DIY Trendyol scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same turkish marketplace products, prices and reviews back as clean JSON.

Why does my Trendyol scraper keep getting blocked?

Most Trendyol scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / trendyol

Trendyol

Turkish marketplace products, prices and reviews.

base /trendyol/v19 endpoints
post/trendyol/v1/product/detail1 credit

full product by `url` OR `content_id`: title/brand/price(current+list+discount%/coupon/ty+)/campaign(+campaigns[])/rating+comment_count/in_stock/seller(+score)/other_offers/category/images/attributes(specs)/variants. The dual-use influencer module.

ParameterAllowed / rangeDescription
content_idoptionalTrendyol product ID — the digits after '-p-' in the product URL (…-p-<id>). Take it from search results. Provide content_id OR url.
urloptionalFull Trendyol product URL — alternative to content_id.
Try in playground →
post/trendyol/v1/product/reviews2 credits

paginated reviews by `content_id` OR `url`: {ai_summary (AI review digest), summary(avg/total_rating_count/total_comment_count/total_pages), reviews[]{user,rating,comment,date,seller,trusted,is_influencer,images}}. page/page_size params.

ParameterAllowed / rangeDescription
content_idoptionalTrendyol product ID — the digits after '-p-' in the product URL (…-p-<id>). Take it from search results. Provide content_id OR url.
urloptionalFull Trendyol product URL — alternative to content_id.
page = 0optional0–Review page — 0-BASED (first page = 0, then 1, 2…); summary.total_pages tells you how many exist.
page_size = 30optional1–50Reviews per page (1–50; larger values are capped at 50).
Try in playground →
post/trendyol/v1/product/similar1 credit

similar/cross-sell products by `content_id` OR `url` → results[]{content_id,title,brand,url,price,list_price,rating,comment_count,image,category}. page/size params.

ParameterAllowed / rangeDescription
content_idoptionalTrendyol product ID — the digits after '-p-' in the product URL (…-p-<id>). Take it from search results. Provide content_id OR url.
urloptionalFull Trendyol product URL — alternative to content_id.
page = 0optional0–Result page — 0-BASED (first page = 0).
size = 20optional1–40How many similar products (1–40; larger values are capped at 40).
Try in playground →
post/trendyol/v1/search/filters1 credit

Discover the available filter facets for a `query` OR `category_id` before filtering — brands (with ids for the `brand` param), price ranges, product ratings, and category-specific attributes (RAM, screen size, color, …) each with live result counts.

ParameterAllowed / rangeDescription
queryoptionalSearch keyword to get facets for (provide query OR category_id).
category_idoptionalCategory id (digits after '-c' in a category URL) — alternative to query.
Try in playground →
post/trendyol/v1/category/products1 credit

Browse a Trendyol category by id — best-sellers, newest, or price/brand-filtered product lists. Same card shape as search. Get a category_id from a product's category.id (product/detail) or the '-c<id>' in a category URL.

ParameterAllowed / rangeDescription
category_idoptionalCategory id — the digits after '-c' in a category URL (…-x-c<id>), or a product's category.id. Provide category_id OR url.
urloptionalFull Trendyol category URL — alternative to category_id.
page = 1optional1–Result page to start from — 1-BASED (1, 2, 3…), ~24 products/page.
max_pages = 1optional1–10How many consecutive pages to fetch + dedup in one call (1–10, ~24 products/page; larger values are capped at 10).
sortoptionalbest_seller · most_favorite · price_asc · price_desc · newest · most_ratedResult ordering: best_seller · most_favorite · price_asc · price_desc · newest · most_rated. Default = Trendyol relevance.
priceoptionalPrice range filter in TRY as 'min-max' (e.g. '5000-15000'). Open-ended like '5000-' also works.
brandoptionalBrand-id filter — get valid brand ids from the search/filters action (the 'Marka' facet). Numeric id, not the brand name.
Try in playground →
post/trendyol/v1/seller/products1 credit

All products of a Trendyol seller/store (paginated, sortable, filterable) by seller_id. Same card shape as search. meta.total_count = the seller's full catalog size.

ParameterAllowed / rangeDescription
seller_idoptionalSeller/merchant id — the digits after '-m-' in a store URL (/magaza/…-m-<id>). Get it from seller/info or a product's seller. Provide seller_id OR url.
urloptionalFull Trendyol store URL — alternative to seller_id.
page = 1optional1–Result page to start from — 1-BASED (1, 2, 3…), ~24 products/page.
max_pages = 1optional1–10How many consecutive pages to fetch + dedup in one call (1–10, ~24 products/page; larger values are capped at 10).
sortoptionalbest_seller · most_favorite · price_asc · price_desc · newest · most_ratedResult ordering: best_seller · most_favorite · price_asc · price_desc · newest · most_rated. Default = Trendyol relevance.
priceoptionalPrice range filter in TRY as 'min-max' (e.g. '5000-15000'). Open-ended like '5000-' also works.
brandoptionalBrand-id filter — get valid brand ids from the search/filters action (the 'Marka' facet). Numeric id, not the brand name.
Try in playground →
post/trendyol/v1/seller/info1 credit

Trendyol seller/store profile by seller_id: store name, legal entity (official_name), total product_count, seller score, and trust badges.

ParameterAllowed / rangeDescription
seller_idoptionalSeller/merchant id — the digits after '-m-' in a store URL (/magaza/…-m-<id>). Provide seller_id OR url.
urloptionalFull Trendyol store URL — alternative to seller_id.
Try in playground →
post/trendyol/v1/suggest1 credit

keyword suggestions for a query (ops; search-fallback if suggest API blocked)

ParameterAllowed / rangeDescription
queryrequiredPartial search text to complete.
Try in playground →