API

Trendyol API: arama, ürün detayı ve satıcı fiyatları JSON olarak

Trendyol'un kendi geliştirici programı satıcılara açıktır ve size yalnızca kendi kataloğunuzu verir. Pazarın tamamını, yani rakip satıcıların fiyatlarını ve herhangi bir ürünün detayını okumak istiyorsanız bu API onu yapar: satıcı hesabı istemez, 16 ucun tamamı tek anahtarla çalışır, yanıt JSON'dur.

Uçlar

endpointNe döndürürZorunlu
searchAnahtar kelimeyle ürün araması. Her satırda content_id, başlık, marka, TL fiyat (hem metin hem sayı), puan, yorum sayısı, kategori ve kargo bayrağı.query
product/detailTek ürünün tamamı: güncel fiyat, liste fiyatı, indirim yüzdesi, kupon ve kart fiyatı, kampanya, stok, satıcı ve puanı, görseller, özellikler, varyantlar.hepsi opsiyonel
product/offersAynı ürünü satan diğer satıcılar, seçili satıcı önde, kalanlar fiyata göre sıralı. Yayımlanmayan stok null gelir.hepsi opsiyonel
product/reviewsSayfalı müşteri yorumları: puan, metin, tarih, hangi satıcıdan alındığı ve doğrulanmış alıcı bilgisi.hepsi opsiyonel
product/variantsYayımlanmış katalog varyantları ve barkodları. Katalog fiyatı seçili satıcının fiyatından farklı olabilir.hepsi opsiyonel
product/questionsYanıtlanmış ürün soruları ve satıcı cevapları, sıfır tabanlı sayfalama.hepsi opsiyonel
product/descriptionUzun ürün açıklaması: HTML, düz metin ve görsel adresleri.hepsi opsiyonel
product/couponsSeçili ürün ve satıcı için herkese açık kuponlar: indirim tipi, alt sınır.hepsi opsiyonel
product/similarTrendyol'un kendi 'Benzer Ürünler' rayı.hepsi opsiyonel
search/filtersBir sorgu ya da kategori için kullanılabilir filtre başlıkları: marka, beden, renk, fiyat aralığı.hepsi opsiyonel
category/productsKategori id'siyle liste: çok satanlar, en yeniler, fiyat ve marka filtreli.hepsi opsiyonel
seller/productsBir satıcının tüm ürünleri, sayfalı ve sıralanabilir.hepsi opsiyonel
seller/infoSatıcı profili: mağaza adı, resmi unvan, toplam ürün ve puan.hepsi opsiyonel
seller/categoriesSatıcı kategori ağacı: her kategori, id'si ve tam yolu.hepsi opsiyonel
seller/category-attributesBir kategorinin ürün yükleme şablonu: her özellik ve izin verilen değerleri.category_id
suggestYazılan sorgu için anahtar kelime önerileri.query

Her çağrı kredi ile ücretlendirilir. Başarısız ve engellenen çağrılar ücretsizdir.

Çalışan örnek

Arama sonucundan bir content_id alın, sonra o ürünü satan bütün satıcıları tek çağrıda okuyun. Pazaryerinde asıl soru 'kaç lira' değil, 'başka kim satıyor ve kaça' olduğu için bu iki çağrı çoğu işi bitirir.

İstek
curl -X POST https://api.reefapi.com/trendyol/v1/search \
  -H "x-api-key: ANAHTARINIZ" \
  -H "content-type: application/json" \
  -d '{"query": "laptop", "page": 1}'
Yanıt (kısaltılmış)
{
  "ok": true,
  "data": {
    "results": [
      {
        "content_id": 762254881,
        "title": "...",
        "brand": "...",
        "price": 18499.0,
        "rating": 4.6,
        "comment_count": 1243
      }
    ]
  },
  "meta": { "record_count": 24, "cache_hit": false, "mode": "live" }
}

Kendi Trendyol scraper'ınızı yazmak yerine

Trendyol için GitHub'da scraper aramak yaygın bir ilk adım ve çoğu zaman çalışır. Sorun ilk çalıştırmada değil, ikinci ayda çıkıyor: site HTML'ini değiştirdiğinde ayrıştırıcınız sessizce boş döner, bot koruması devreye girdiğinde ise IP'nizi engeller.

Bu API aynı veriyi veriyor ama bakımı bizde: site şema değiştirdiğinde motoru biz düzeltiriz, engelleme olduğunda hata kodu döner ve o çağrıdan ücret alınmaz. Kendi scraper'ınızda o iki durumun ikisi de sessizdir.

Dürüst olmak gerekirse: tek seferlik, küçük ve bir daha koşmayacak bir iş için kendi scriptiniz daha ucuzdur. Düzenli çalışan bir şey kuruyorsanız kırılma maliyeti kodun kendisinden büyük olur.

Sınırlar ve dürüst notlar

  • Satıcı hesabı gerekmez, ama bu Trendyol'un resmi API'si değildir ve onunla bir ortaklığımız yoktur.
  • Arama sayfa başına 24 ürün döner; max_pages ile tek çağrıda 10 sayfaya kadar gezip tekrarları ayıklayabilirsiniz.
  • product/reviews sayfalaması sıfır tabanlıdır, search ise bir tabanlı. Aynı motorda iki farklı taban var çünkü kaynak öyle yayımlıyor.
  • Fiyatlar çağrının yapıldığı andaki değerdir; önbelleğe alınmış yanıt almazsınız, her çağrı canlıdır.