Barcode Lookup API

Bir barkod, 8 market, sonuçlar geldikçe ekranda.

8 Türk e-ticaret platformundan barkod bazlı fiyat karşılaştırması ve ürün bilgisi çeken REST API.

Rol
Backend, veri toplama
Yıl
2025
Durum
Yayında
Yığın
Node.js · Puppeteer · Cheerio · Redis · SSE
Bağlantılar

Mimari

Mimari

Canlı gösteri · Prototip gösterim, gerçek ekran görüntüsü değil
  1. 01

    REST + SSE

    Express. Fiyat karşılaştırması Server-Sent Events ile akar, en ucuz fiyat otomatik işaretlenir, CSV’ye aktarılır.

  2. 02

    8 kazıyıcı

    Sunucuda render edilen sitelere düz HTTP + Cheerio; Chrome sadece gereken yerde.

  3. 03

    Redis önbellek

    Her barkod:platform çifti 24 saat. Redis yoksa API önbelleksiz çalışmaya devam eder.

Ekranlar

01 / 02

Fiyat karşılaştırma, gerçek sorgu

İki barkod için 8 marketin fiyatları; bulunamayanlar gri, en ucuz işaretli.

Gerçek ekran görüntüleri, dil ve temaya göre değişir

Nasıl çalışıyor

İki servis, tek API

Fiyat karşılaştırma ve ürün bilgisi başta iki ayrı servisti. Onları ortak tarayıcı ve önbellek katmanı olan tek bir serviste birleştirip yeniden yapılandırdım. Trendyol, Hepsiburada, Pazarama, CarrefourSA, Mopaş, Afta Market, Şok Market ve Market Karşılaştır destekleniyor.

Paralel tarama, akan sonuçlar

Fiyat modunda 8 platform aynı anda taranır, her biri kendi sekmesinde. Kullanıcı en yavaş marketi beklemez: her sonuç bulunduğu an SSE ile ekrana gelir.

Chrome’u sadece gerektiğinde açmak

Sunucuda render edilen sitelerde aynı HTML’i düz bir HTTP isteği de veriyor; bunlara Chrome yerine axios ile gidilir, çok daha az CPU ve RAM harcanır. Tarayıcı gereken sitelerde Puppeteer (stealth) kullanılır ve görsel, stil, font, medya istekleri baştan engellenir.

İlk bulan kazanır

Ürün bilgisi modunda tüm platformlar paralel aranır ve ürünü ilk bulan kazanır; ardından ürün sayfasından kategori yolu çıkarılır. Bulunan ürünler kaydedilip sonraki isteklerde anında döner, bulunamayan barkodlar bir daha taranmaz.

Gerçek kullanımda

API, çalıştığım şirketin ön muhasabe programına entegre edildi. Program içinden barkodla ürün fiyatı çekmek ve platformlar arasında karşılaştırmak için kullanılıyor.