Scraping API Dokümantasyonu
ASINSpotlight Amazon Scraping API'nin tam referans dokümantasyonu
Temel URL
https://api.asinspotlight.com/v1
Kimlik Doğrulama
Tüm istekler x-api-key başlığında bir API anahtarı gerektirir:
curl -H "x-api-key: YOUR_API_KEY" "https://api.asinspotlight.com/v1/product?asin=B0B3ZD8QXJ"
| Başlık | Zorunlu | Açıklama |
|---|---|---|
x-api-key |
Evet | API anahtarınız |
Bulundu vs. Bulunamadı
Durum kodları, Amazon'da ne olduğunu değil, servisimizin sağlığını yansıtır. Her başarılı yanıt üst düzey bir found boolean değeri taşır:
found: true— varlık bulundu;datayükü içerir.found: false— veri çekme başarılı oldu ancak varlık Amazon'da yok (geçersiz ASIN/satıcı, kaldırılmış ilan).datadeğerinull'dur, HTTP durumu yine de200'dür ve istek yine bir kredi olarak sayılır.
"Bulundu" ile "bulunamadı" arasındaki farkı anlamak için HTTP durumuna değil, found değerine göre dallanın. 4xx'i kendi istek hatalarınız için, 5xx'i ise bizim hatalarımız için ayırın.
Uç Noktalar
GET /v1/product
ASIN'e göre ürün detaylarını getir.
Parametreler
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
asin |
string | Evet | Amazon ürün ASIN'i | |
marketplace |
string | Hayır | us |
Pazar yeri kodu (aşağıya bakın) |
Örnek
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/product?asin=B0B3ZD8QXJ&marketplace=us"
Yanıt
{
"success": true,
"found": true,
"page_type": "product",
"data": {
"asin": "B0B3ZD8QXJ",
"title": "Product Title",
"buybox": true,
"bb_price": 29.99,
"rating": 4.5,
"reviews": 1234,
"bsr": 5678,
"in_stock": true,
"is_prime": true,
"brand": { "name": "BrandName", "url": "/stores/BrandName" },
"category": { "name": "Electronics", "url": "/b?node=123" },
"image_url": "https://m.media-amazon.com/images/I/...",
"sellers_all": 5,
"bought_past_month": 1000
},
"meta": {
"marketplace": "us",
"timing_ms": 2340,
"request_url": "https://www.amazon.com/dp/B0B3ZD8QXJ",
"timestamp": "2026-04-03T12:00:00.000Z",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
GET /v1/offers
Bir ürün için tüm satıcı tekliflerini getir — eksiksiz Buy Box paneli ve Tüm Teklifler Görünümü — her teklifin durumu, fiyatı, kargosu, sipariş karşılama yöntemi, satıcı puanı ve stoğu ile birlikte.
Parametreler
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
asin |
string | Evet | Amazon ürün ASIN'i | |
marketplace |
string | Hayır | us |
Pazar yeri kodu |
condition |
string | Hayır | all |
Teklifleri duruma göre filtrele (aşağıya bakın) |
Duruma göre filtreleme
Varsayılan olarak (condition=all) her durumdaki teklifler döndürülür. Sonucu tek bir duruma veya kullanılmış kademesine daraltmak için condition parametresini geçin:
| Değer | Döndürdüğü |
|---|---|
all |
Tüm durumlar (varsayılan) |
new |
Yalnızca yeni teklifler |
used |
Herhangi bir kullanılmış kademesi (Sıfır Gibi / Çok İyi / İyi / Kabul Edilebilir) |
used_like_new |
Yalnızca Kullanılmış – Sıfır Gibi |
used_very_good |
Yalnızca Kullanılmış – Çok İyi |
used_good |
Yalnızca Kullanılmış – İyi |
used_acceptable |
Yalnızca Kullanılmış – Kabul Edilebilir |
collectible |
Yalnızca koleksiyonluk teklifler |
Filtre, her teklifin çözümlenmiş condition değerine uygulanır; bu nedenle yanıt yalnızca istenen durumdaki teklifleri içerir ve fba_count / fbm_count / sold_by_amazon filtrelenmiş kümeyi yansıtır. Her istek, filtreden bağımsız olarak bir kredi olarak sayılır.
Örnek
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/offers?asin=B0B3ZD8QXJ&marketplace=us"
Örnek (yalnızca kullanılmış teklifler)
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/offers?asin=B0B3ZD8QXJ&marketplace=us&condition=used"
Yanıt
product_sellers_info içindeki her giriş, normalleştirilmiş bir condition (new, used_like_new, used_very_good, used_good, used_acceptable veya collectible) ve Amazon'un o teklif için gösterdiği orijinal condition_text başlığını taşır. Amazon'un başlığı yoksa veya tanınmıyorsa (ör. Yenilenmiş/Yenilenmiş ürün veya bazı İngilizce olmayan ifadeler) condition değeri null'dur — ham etiket yine de condition_text içinde bulunur. Doğrudan Amazon tarafından satılan teklifler için seller_id değeri null'dur.
{
"success": true,
"found": true,
"page_type": "offers",
"data": {
"sold_by_amazon": true,
"fba_count": 3,
"fbm_count": 2,
"product_sellers_info": [
{
"name": "Amazon.com",
"price": 29.99,
"shipping_price": 0,
"is_fba": true,
"is_amazon": true,
"stock_qty": 100,
"rating_percent": 95,
"reviews_count": 50000,
"condition": "new",
"condition_text": "New",
"seller_id": null,
"domain": "com",
"is_just_launched": false
},
{
"name": "ThriftBooks",
"price": 18.50,
"shipping_price": 3.99,
"is_fba": false,
"is_amazon": false,
"stock_qty": 5,
"rating_percent": 97,
"reviews_count": 4200,
"condition": "used_like_new",
"condition_text": "Used - Like New",
"seller_id": "A3XYZ123456",
"domain": "com",
"is_just_launched": false
}
]
},
"meta": { "..." : "..." }
}
GET /v1/search
Anahtar kelimeye göre ürün ara.
Parametreler
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
keyword |
string | Evet | Arama anahtar kelimesi | |
marketplace |
string | Hayır | us |
Pazar yeri kodu |
Örnek
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/search?keyword=wireless+headphones&marketplace=us"
Yanıt
{
"success": true,
"found": true,
"page_type": "search",
"data": {
"title": "wireless headphones",
"current_page": 1,
"last_page_number": 20,
"total_results_count": 10000,
"shallow_parts": [
{
"asin": "B0CQXMXJC5",
"title": "Soundcore Q20i Headphones",
"price": 39.99,
"rating": 4.6,
"reviews": 58800,
"bought_past_month": 20000,
"in_stock": true,
"image_url": "https://m.media-amazon.com/images/I/..."
}
]
},
"meta": { "..." : "..." }
}
GET /v1/seller
Satıcı ID'sine göre bir satıcı mağaza profilini getir.
Parametreler
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
sellerId |
string | Evet | Amazon satıcı (merchant) ID'si — mağaza URL'sindeki (/sp?seller=<sellerId>) A… belirteci |
|
marketplace |
string | Hayır | us |
Pazar yeri kodu |
Örnek
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/seller?sellerId=A1PXYTJNWCR133&marketplace=us"
Yanıt
Satıcı adını, son 12 aydaki geri bildirim puanını ve olumlu geri bildirim yüzdesini, toplam puan sayısını, mağaza bağlantısını ve Amazon yayınladığında Ayrıntılı Satıcı Bilgileri bloğunu (yasal işletme adı ve adresi) döndürür. Geçersiz bir satıcı ID'si, found: false ve data: null ile 200 döndürür.
{
"success": true,
"found": true,
"page_type": "seller",
"data": {
"seller_id": "A1PXYTJNWCR133",
"name": "Lovinio",
"storefront_url": "/s?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A1PXYTJNWCR133",
"rating": 3.4,
"positive_percent": 59,
"ratings_count": 217,
"business_name": "Lovinio Inc",
"business_address": ["4652 Eagle Falls Pl", "Tampa", "FL", "33619", "US"]
},
"meta": { "..." : "..." }
}
POST /v1/scrape
Herhangi bir Amazon URL'sinden veri çek. Sayfa türü otomatik algılanır.
İstek Gövdesi (JSON)
| Alan | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
url |
string | Evet | Tam Amazon URL'si | |
marketplace |
string | Hayır | us |
Pazar yeri kodu |
Örnek
curl -X POST -H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.amazon.com/s?k=laptop+stand", "marketplace": "us"}' \
"https://api.asinspotlight.com/v1/scrape"
Yanıt
data yapısı, algılanan page_type ile eşleşir. product, search, offers ve seller için yukarıdaki tipli uç nokta yükleriyle eşleşir. category, bestseller, storefront ve reviews, sayfaya göre uyarlanmış yapılandırılmış bir yük döndürür. Bulunamayan bir sayfa found: false ve data: null döndürür.
{
"success": true,
"found": true,
"page_type": "search",
"data": { "...": "..." },
"meta": { "...": "..." }
}
Desteklenen Pazar Yerleri
| Kod | Ülke | Alan Adı |
|---|---|---|
us |
ABD | amazon.com |
uk |
Birleşik Krallık | amazon.co.uk |
de |
Almanya | amazon.de |
fr |
Fransa | amazon.fr |
it |
İtalya | amazon.it |
es |
İspanya | amazon.es |
ca |
Kanada | amazon.ca |
au |
Avustralya | amazon.com.au |
jp |
Japonya | amazon.co.jp |
in |
Hindistan | amazon.in |
mx |
Meksika | amazon.com.mx |
br |
Brezilya | amazon.com.br |
tr |
Türkiye | amazon.com.tr |
sa |
Suudi Arabistan | amazon.sa |
ae |
BAE | amazon.ae |
sg |
Singapur | amazon.sg |
nl |
Hollanda | amazon.nl |
pl |
Polonya | amazon.pl |
se |
İsveç | amazon.se |
be |
Belçika | amazon.com.be |
Hata Yanıtları
Tüm hatalar tutarlı bir formatta döner:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Okunabilir açıklama"
}
}
Bulunamayan bir varlık (geçersiz ASIN/satıcı, kaldırılmış ilan) bir hata değildir — found: false ve data: null ile 200 döndürür ve bir kredi olarak sayılır. Bkz. Bulundu vs. Bulunamadı.
| HTTP Durum | Kod | Açıklama |
|---|---|---|
| 401 | MISSING_API_KEY |
x-api-key başlığı sağlanmadı |
| 401 | INVALID_API_KEY |
API anahtarı geçerli değil |
| 500 | SCRAPE_FAILED |
Ayrıştırıcı sayfaya ulaştı ancak yapılandırılmış veriyi çıkaramadı |
| 500 | INTERNAL_ERROR |
Dahili servis hatası |