Trendyol
Trendyol Deals API
Trendyol's flash deals or its super discounts (Süper Fırsatlar) as a 36-a-page grid on the Turkish storefront. type flash returns the flash slots (tag, active or upcoming, date, start and end) and the active slot's items, or a chosen slot's; type super_discounts returns campaign items at a 10, 14 or 30-day low and at least 30% off. The search sorts and filters apply. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsontypeenum<string>default:flashWhich deal list.
Example: super_discounts
flash— Trendyol's flash deals: the live slot unless slot is sent. The default.super_discounts— Super discounts (Süper Fırsatlar): campaign items at a 10, 14 or 30-day low and at least 30% off.
slotstringA flash slot tag from slots[].tag of a previous answer (tags are dated, read them each time). type flash only.
Example: fs_15_11_2026_21_24
countrystringdefault:trThe Trendyol storefront, as a lowercase country code. This endpoint serves the Turkish storefront only (tr). International storefronts run no flash or super-discount pages and showed no collectable coupons, so another country answers 400. Names come back in the storefront's language and prices in its currency, never converted; the answer echoes country, language and currency. ge, kz, kg and iq are served by Trendyol as the Turkish storefront, and ie, mt, gb, ru, us, ca, jo and lb are not sold to: they answer 400, not charged.
Example: tr
tr— Turkey, TRY, tr (Turkish) or en (English) or ar (Arabic); default tr. The default.
languagestringThe answer's language, from the storefront's own list (the first is the default): tr tr, en or ar; de and at de; the 15 English-language EU storefronts en; bg bg or en; gr el or en; cz cs or en; hu hu or en; pl pl or en; ro and md ro or en; sk sk or en; rs sr or en; ua uk or en; ae en or ar; sa, qa, kw, om and bh ar or en; az tr. Titles, categories and reviews come back in it. A language the storefront does not serve answers 400.
Example: en
pageintegerdefault:1Results page, 1-based, 36 items per page. Trendyol lists at most 138 pages (about 5,000 results a query): page 139 and up answer 400. A page past the last returns no items and a note.
Example: 2
sortenum<string>default:recommendedResult order.
Example: price_asc
recommended— The site's recommended order. The default.price_asc— Price, low to high.price_desc— Price, high to low.newest— Newest first.best_seller— Best sellers first.most_favourited— Most favourited first.most_rated— Most rated first.
price_minnumberLowest price, in the storefront's currency.
Example: 5000
price_maxnumberHighest price, in the storefront's currency.
Example: 20000
brand_idstring | string[]1 to 10 brand ids (items[].brand.id, e.g. 794 Samsung).
Example: 794
category_idstring | string[]1 to 10 category ids (product category.id or category.tree[].id, or the wc facet).
Example: 103498
seller_idstringOnly one seller's items (items[].seller.id).
Example: 4473
min_ratingnumberProduct rating and up: 1, 2, 3, 4 or 4.5.
Example: 4
free_shippingbooleanOnly items with free shipping.
Example: true
fast_deliverybooleanOnly items with rush delivery.
Example: true
min_discountintegerOnly items at least this many percent off (1 to 90).
Example: 30
lowest_price_daysintegerOnly items carrying Trendyol's lowest-price badge for that many days: 7, 10, 14, 30 or 90 (10, 14, 30 and 90 on tr; 7, 14 and 30 on the international storefronts).
Example: 30
seller_typeenum<string>Only items from one kind of seller, as Trendyol badges them.
Example: official
official— The brand's official seller.authorized— Authorized sellers.successful— Sellers Trendyol badges as successful.
flash_salebooleanOnly flash-sale items.
Example: true
has_couponbooleanOnly items with a collectable coupon.
Example: true
filtersobjectAny other facet, keyed by facets[].param with facets[].options[].value values (send include_facets once to read them): {"attr": ["348|1"]} is a color, {"wg": "1"} a gender. At most 12 facets, 10 values each.
Example: {"attr": ["348|1"]}
include_facetsbooleanAlso return facets (filter groups with option values and counts: what filters takes). 2 calls, still 1 credit.
Example: true
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key", timeout=120)
# Today's flash slots, then the live slot's items.
d = client.trendyol.deals(type="flash")["data"]
for s in d["slots"]:
print(s["tag"], s["status"], s["date"], s["start"], s["end"])
for i in d["items"]:
print(i["content_id"], i["name"], i["price"], i["original_price"], i["lowest_price_badge"])Response