API

AliExpress API: Türkiye'ye gönderimde TL fiyat, varyant stoğu ve kargo hesabı

Bu API AliExpress'i Türkiye'den alışveriş yapan birinin gördüğü şekliyle döndürür: ürünün TL fiyatı ve üstü çizili fiyatı, varyant varyant stok ve fiyat, Türkiye'ye kargo ücreti, tahmini teslim süresi ve gönderinin takip edilip edilemeyeceği. Üç parametre birlikte gider: `country: "TR"` gönderim ülkesini, `currency: "TRY"` para birimini, `language: "tr"` dili seçer; biri eksik kalırsa varsayılan ABD, dolar ve İngilizce devreye girer. AliExpress'in affiliate ya da dropshipping programlarının API'leriyle bir bağı yok: komisyon linki üretmez, sipariş açmaz, mağaza yönetmez; herkese açık ürün sayfalarını alıcı tarafından okur.

Uçlar

endpointNe döndürürZorunlu
searchAnahtar kelimeyle ürün kartları: ürün id'si, başlık, görseller, TL fiyat, üstü çizili fiyat ve indirim oranı, satış adedi, puan, kartın reklam mı organik sonuç mu olduğu (`product_type`) ve kampanya etiketleri. Sıralama (en çok satan, fiyat, yeni), fiyat aralığı, çıkış ülkesi (`ship_from`) ve ücretsiz kargo filtresi; sayfalı.query
product_detailÜrünün tamamı: Türkçe başlık, fiyat aralığı, her varyantın (renk, kapasite, gönderim yeri) fiyatı ve stoğu, özellikler, görseller, mağaza ve satıcı puanı, Türkiye'ye kargo seçeneği, kupon ve toplu alım indirimi, satıcı yazmışsa ağırlık. `product_id` ya da ürün linkiyle.hepsi opsiyonel
shippingSeçilen ülkeye kargo seçenekleri: firma, ücret, ücretsiz olup olmadığı, en kısa ve en uzun teslim günü, garanti edilen süre, çıkış ülkesi ve takip durumu.hepsi opsiyonel
reviewsAlıcı yorumları ve yıldız dağılımı: puan, metin, alıcının ülkesi, tarih, hangi varyantın alındığı, kargo firması ve fotoğraflar. Tek çağrıda birden çok sayfa toplanabilir.hepsi opsiyonel
descriptionSatıcının ürün açıklaması: metin ve açıklamadaki görseller.hepsi opsiyonel
similarBir ürüne benzeyen ürünler (ürünün kendisi hariç), sayfalı; ürün id'si yerine kelime de verilebilir.hepsi opsiyonel
store_infoMağaza profili. Mağazanın sattığı bir kelimeyle birlikte çağrılırsa satıcı puanı, olumlu değerlendirme oranı, değerlendirme sayısı, satıcı ülkesi ve Top Rated işareti de gelir.hepsi opsiyonel
dealsBir kelime için indirimli ürünler, indirim oranına göre; en düşük indirim yüzdesi filtrelenebilir.query

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

Çalışan örnek

Ahşap tepsili 280 ml çelik kupa, 28 Ekim 2026'da Türkiye'ye gönderim için: ürün 568,39 TL, kargo 875,25 TL. Kargo ürünün kendisinden pahalı ve toplam 1.443,64 TL ediyor. Aynı aramadaki 600 ml termosta kargo ücretsizdi; ama baktığımız üç üründe de tahmini teslim 61 gün, çıkış Çin ve satır "Takip kullanılamaz" diyordu. 'AliExpress fiyat hesaplama' yapıyorsanız `price_current` tek başına yetmez, `shipping.shipping_cost` eklenmeli; gümrük vergisini bu API hesaplamaz. Başlığa da dikkat: arama aynı ürünü İngilizce başlıkla döndürdü, Türkçe başlık bu uçtan geliyor.

İstek
curl -X POST https://api.reefapi.com/aliexpress/v1/product_detail \
  -H "x-api-key: ANAHTARINIZ" \
  -H "content-type: application/json" \
  -d '{"product_id": "1005005994686366", "country": "TR", "currency": "TRY", "language": "tr"}'
Yanıt (kısaltılmış)
{
  "ok": true,
  "data": {
    "product": {
      "product_id": "1005005994686366",
      "title": "280ml Paslanmaz Çelik Kahve Kupası, Pipetli ve Kapaklı, Taşınabilir Açık Hava Kamp Termosu, Ahşap Tepsili Bira/Su Bardağı Seti",
      "currency": "TRY",
      "price_current": 568.39,
      "original_price_current": 947.32,
      "rating": 4.5,
      "review_count": 2,
      "sold_count": null,
      "sold_text": "3 satıldı",
      "total_stock": 686,
      "sku_variants": [
        {
          "sku_id": "12000042498376244",
          "props": { "Renk": "Haki", "Kapasite": "280ml", "Gönderim Yeri": "China Mainland" },
          "price": { "sale": 568.39, "sale_str": "₺568,39", "original": 947.32, "currency": "TRY" },
          "stock": 99,
          "available": true
        },
        ...
      ],
      "store": { "store_id": 1102962883, "name": "...", "store_url": "https://tr.aliexpress.com/store/1102962883", "seller_country": "China", "seller_positive_rate": 97.6 },
      "shipping": {
        "ship_to": "TR",
        "shipping_cost": 875.25,
        "free": false,
        "delivery_days_min": 61,
        "delivery_days_max": 61,
        "guaranteed_delivery_days": 60,
        "ship_from": "China",
        "lines": ["Takip kullanılamaz"]
      },
      "interest_point": { "code": "bulk_purchase_discount", "text": "100+ adet, ekstra %2 indirim" },
      "weight": null
    }
  },
  "meta": { "record_count": 1, "country": "TR", "currency": "TRY", "language_sent": "tr", "province_sent": "Istanbul", "variant_count": 7, "charged_credits": 2, "cache_hit": false, "mode": "live" }
}

AliExpress scraper'ı (Python): dil, mağaza filtresi ve sayfalama tuzakları

AliExpress'te dil, sayfaya göre değişiyor. Aynı `language: "tr"` ile yapılan üç aramada 50 kartın 50'si İngilizce başlıkla, 'Free shipping' gibi İngilizce etiketlerle geldi; aynı ürünlerin ürün sayfası ise Türkçe başlık, Türkçe özellik adları ve '3 satıldı' gibi Türkçe metin döndürdü. Arama sonuçlarından Türkçe bir ürün listesi çıkarmayı planlayan script, eksik bir dil ayarı yaptığını sanıp vakit kaybeder; sorun ayarda değil, kaynakta.

Mağaza filtresine de güvenmeyin. AliExpress mağaza numarasıyla süzülmüş ürün listesi isteğini sessizce yok sayıyor ve sitenin geneline ait sonuçları döndürüyor: kontrol ettiğimizde dönen ürünlerin 6'da 1'i, 6'da 0'ı ve 6'da 0'ı gerçekten o mağazanındı. Bu yüzden mağaza ürünlerini listeleyen ucu 5 Ağustos 2026'da kapattık; yalnız tesadüfen doğru cevap verebilen bir uç, hiç olmamasından kötüydü.

Sayfalamada da aynı ürünlere geri dönebilirsiniz. Eylül 2026'da bir sayfada 120 sonuç istendiğinde ikinci sayfanın %21,7'si birinci sayfanın tekrarıydı, çünkü motor her çağrıda birden çok kaynak sayfasını birleştiriyor ama sayfa numarasını birer birer ilerletiyordu. Düzeltmeden sonra çakışma %7'ye indi; geri kalanı AliExpress'in kendi sayfaları arasında aynı kartı tekrar göstermesi ve id üzerinden ayıklanmalı.

Üçü de log'a düşmez, çalıştırma başarılı görünür; sonuçta elinizde İngilizce başlıklı, başka mağazaların ürünleriyle karışmış ya da aynı kupayı iki kez sayan bir tablo kalır. Bir ürün grubunun TL fiyatını haftalık izleyecekseniz, ilk haftanın verisini elle bir ürün sayfasıyla karşılaştırmak en ucuz kontroldür.

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

  • AliExpress bu servisi sunmuyor ve desteklemiyor; AliExpress ile aramızda bir anlaşma ya da ortaklık bulunmuyor.
  • Arama kartlarında başlıklar ve kampanya etiketleri `language` ne olursa olsun İngilizce geliyor (28 Ekim'de üç aramada 50/50). Türkçe başlık için `product_detail` çağırın (3/3 Türkçe).
  • Arama kartındaki `original_price` ve `promo_tags` aynı sorguda değişken: 'termos' aramasında ilk çağrıda doluydu, bir dakika sonraki tekrarında 10 kartın 10'unda null geldi; `discount_pct` ikisinde de vardı. Üstü çizili fiyat gerekiyorsa `product_detail` içindeki `original_price_current` alanını kullanın.
  • Türkçe kelimeyle arama çalışıyor ama eşleşme gevşek: 'kamp termosu' ilk 20 sonuçta laboratuvar su banyosu, dış mekân mutfak dolabı ve yorgan da getirdi.
  • Teslim tahmini varsayılan olarak İstanbul'a göre yapılır (`province_sent: "Istanbul"`); başka bir il için `province` gönderin. İthalatta ödenecek vergi ve masraflar hiçbir uçta yer almaz.
  • Arama kartında mağaza adı yok (`store_name` 20/20 null); hangi mağazanın sattığını görmek için `product_detail` gerekir. `sold_count` ürün kaydında da null olabilir, sayı yalnız '3 satıldı' gibi `sold_text` metninde durur.
  • Ağırlık yalnız satıcı özelliklere yazdıysa gelir; Eylül'deki 32 ürünlük taramada 4 üründe vardı, bugünkü 3 üründe hiç yoktu.
  • `store_info` sorgu kelimesiyle çağrıldığında satıcı puanlarını da getirir ama yavaştır (ölçtüğümüz çağrıda 21 saniye); kelimesiz çağrı 4 saniyede yalnız mağaza adını ve linkini döndürdü.
  • Kredi: `product_detail` 2; `search`, `reviews`, `description`, `shipping`, `store_info` ve `deals` çağrı başına 1.