لسحب بيانات منتجات أمازون السعودية أرسل طلب POST إلى https://api.scavio.dev/api/v1/amazon/search بالنص {"query": "مكينة قهوة", "country": "sa", "language": "AR"}. تعيد Scavio نتائج الصفحة الأولى من amazon.sa بصيغة JSON: رمز ASIN والعنوان والسعر بالريال والتقييم وعدد المراجعات وتاريخ التوصيل ومؤشر الإعلان الممول لكل منتج. ولصفحة المنتج وعروض البائعين طلبان آخران بالمفتاح نفسه، وكل طلب برصيد واحد.
كل الاستجابات في هذا الدليل سُحبت من amazon.sa في 2 نوفمبر 2026. اختصرنا الحقول الطويلة ولم نغيّر أي قيمة. الكود والحقول كما تعيدها الواجهة.
ما تحتاجه
- مفتاح API من Scavio. تحصل عند التسجيل على 50 رصيدًا مجانًا، دون بطاقة ودون حساب بائع.
- أي لغة أو أداة ترسل طلبات HTTP. الأمثلة بـ cURL وPython.
الخطوة 1: ابحث في amazon.sa
curl -X POST 'https://api.scavio.dev/api/v1/amazon/search' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"query": "مكينة قهوة", "country": "sa", "language": "AR"}'رأس الاستجابة وأحد الصفوف (دون الحقلين url وimage):
{
"query": "مكينة قهوة",
"page": 1,
"total_results_text": "48-1 من أكثر من 20,000 نتائج لـ مكينة قهوة",
"count": 65,
"products": [
{
"asin": "B00G5YOVZA",
"title": "ماكينة تحضير قهوة اسبريسو دي انيسيا من نيسبريسو، لون أسود",
"price": 340.01,
"currency": "SAR",
"rating": 4.3,
"reviews_count": 46800,
"is_sponsored": false,
"position": 14,
"badge": null,
"sales_volume": null,
"delivery": {
"is_free": false,
"date": "الاثنين، 16 نوفمبر",
"fastest_date": "الثلاثاء، 10 نوفمبر"
}
}
]
}وصلت الاستجابة في 1.4 ثانية ومعها 21 مجموعة فلاتر مثل "مؤهل للتوصيل المجاني" و"العلامة التجارية" و"السعر". لاحظ ثلاثة أمور قبل البناء عليها:
countكان 65 صفًا رغم أن النص يقول 1-48، لأن الصفحة في amazon.sa تضم صفوفًا ممولة: 12 صفًا كانتis_sponsored: true، منها أول أربعة صفوف. وتكرر 3 منتجات، فكان عدد رموز ASIN المختلفة 62. استبعد الممول وأزل التكرار إن أردت النتائج العضوية.- 4 صفوف وصلت دون سعر (
price: null)، وهذا يعني غالبًا أن المنتج بلا صندوق شراء، لا أنه غير متوفر. الخطوة 3 تكشف بائعيه. - 9 صفوف وصلت بعناوين إنجليزية، لأن البائع لم يكتب عنوانًا عربيًا.
لا يوجد معامل ترتيب لأن أمازون تتجاهله؛ إن أردت الأرخص أولًا فرتّب الصفحة بنفسك. وللصفحة التالية أرسل "page": 2.
الخطوة 2: افتح صفحة المنتج عبر ASIN
curl -X POST 'https://api.scavio.dev/api/v1/amazon/product' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"query": "B00G5YOVZA", "country": "sa", "language": "AR"}'أهم الحقول:
{
"asin": "B00G5YOVZA",
"title": "ماكينة تحضير قهوة اسبريسو دي انيسيا من نيسبريسو، لون أسود",
"brand": "Nespresso",
"url": "https://www.amazon.sa/dp/B00G5YOVZA",
"price": 340.01,
"list_price": 695,
"currency": "SAR",
"rating": 4.3,
"reviews_count": 46894,
"has_buy_box": true,
"availability": "متوفر",
"max_quantity": 30,
"sold_by": "Amazon Germany",
"other_sellers_count": 5,
"variants": [
{ "asin": "B07R4TS23R", "dimensions": { "اللون ": "أحمر" }, "is_selected": false, "is_available": true },
{ "asin": "B00G5YOVZA", "dimensions": { "اللون ": "أسود" }, "is_selected": true, "is_available": true },
{ "asin": "B011IY4MVY", "dimensions": { "اللون ": "ابيض" }, "is_selected": false, "is_available": true }
]
}عدد المراجعات هنا دقيق: 46894، بينما ظهر في البحث 46800 لأن أمازون تعرضه هناك مختصرًا. وتصل أيضًا الأوصاف والمزايا والصور والفيديو والمواصفات بالعربية كما كتبتها أمازون، وخيارات الشحن، وبيانات المراجعات الوصفية فقط (المعرّف والكاتب والتاريخ وتأكيد الشراء) دون نصها. انتبه إلى أن مفاتيح المتغيرات تأتي كما هي في الصفحة، وهنا مفتاح اللون ينتهي بمسافة ("اللون ").
الخطوة 3: اعرف كل من يبيع المنتج
other_sellers_count كان 5، فطلب العروض يستحق رصيده:
curl -X POST 'https://api.scavio.dev/api/v1/amazon/offers' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk_live_your_key' \
-d '{"asin": "B00G5YOVZA", "country": "sa", "language": "AR"}'رأس الاستجابة وأول عرض، مختصرًا:
{
"asin": "B00G5YOVZA",
"rating": 4.3,
"reviews_count": 46894,
"note": "4 الخيارات الأخرى",
"count": 5,
"total_offers": 5,
"has_more_pages": false,
"offers": [
{
"condition": "جديد",
"seller_id": "A2G5247R6UIDP1",
"seller_name": "Amazon Germany",
"ships_from": "Amazon Germany",
"is_fulfilled_by_amazon": true,
"is_buy_box_winner": true,
"price": 340.01,
"currency": "SAR",
"list_price": 695,
"shipping_price": 0,
"discount_percentage": 51.08,
"quantity": 30,
"delivery": { "min_hours": 24, "max_hours": 72, "date": "الاثنين، 16 نوفمبر", "is_free": false }
}
]
}العروض الخمسة كلها "جديد"، ووصلت في 1.4 ثانية:
| البائع | يشحن من | السعر (ريال) | صندوق الشراء |
|---|---|---|---|
| Amazon Germany | Amazon Germany | 340.01 | نعم |
| ARRI INTERNATIONAL | Amazon | 476.1 | لا |
| Amazon UAE | Amazon UAE | 499.7 | لا |
| Amazon UK | Amazon UK | 577.44 | لا |
| zasijafa | Amazon | 632.39 | لا |
صندوق الشراء هنا كان الأرخص، لكن توصيله في 16 نوفمبر، بينما يصل عرض ARRI INTERNATIONAL المشحون من مخازن أمازون في 4 نوفمبر بسعر 476.1 ريال. هذا النوع من المقايضة بين السعر وموعد التوصيل لا يظهر في البحث. ويحمل كل عرض أيضًا نص الكوبون أو العرض الترويجي في promotion إن وُجد، وتكلفة الشراء الفعلية هي price + shipping_price.
الخطوة 4: راقب الأسعار بمرور الوقت
كل طلب يقرأ amazon.sa مباشرة، ومراقبة الأسعار تعني حفظ الاستجابات على فترات وتسجيل التغير. مثال Python يحفظ صاحب صندوق الشراء وأرخص عرض يوميًا:
import requests, datetime
API = "https://api.scavio.dev/api/v1/amazon/offers"
HEADERS = {"Authorization": "Bearer sk_live_your_key"}
def snapshot(asin):
r = requests.post(API, headers=HEADERS, timeout=90,
json={"asin": asin, "country": "sa", "language": "AR"})
r.raise_for_status()
offers = [o for o in r.json()["data"]["offers"] if o["price"] is not None]
bb = next((o for o in offers if o["is_buy_box_winner"]), None)
cheapest = min(offers, key=lambda o: o["price"] + (o["shipping_price"] or 0))
return {
"date": datetime.date.today().isoformat(),
"asin": asin,
"buy_box": (bb["seller_name"], bb["price"]) if bb else None,
"cheapest": (cheapest["seller_name"], cheapest["price"]),
"offers": len(offers),
}
print(snapshot("B00G5YOVZA"))كل نقاط الاتصال العاملة في أمازون السعودية
| نقطة الاتصال | ما تعيده | الرصيد |
|---|---|---|
POST /api/v1/amazon/search | صفحة منتجات: ASIN والسعر بالريال والتقييم وعدد المراجعات والشارة والتوصيل ومؤشر الإعلان الممول والفلاتر | 1 |
POST /api/v1/amazon/product | صفحة المنتج: السعر والسعر قبل الخصم والتوفر وبائع صندوق الشراء وعدد البائعين الآخرين والمواصفات والمتغيرات والشحن | 1 |
POST /api/v1/amazon/offers | كل عروض الصفحة الأولى: البائع والحالة وجهة الشحن والسعر والشحن والكمية والكوبون وis_buy_box_winner | 1 |
GET /api/v1/amazon/options | الأسواق الـ 22 برموز الدول (sa للسعودية) والنطاقات، دون مفتاح | مجاني |
حدود يجب معرفتها
- استخدم النص
total_results_textلا الحقلtotal_resultsإذا أردت ذكر حجم النتائج. positionهو موقع المنتج في شبكة أمازون بما فيها الإعلانات، وليس الترتيب العضوي.- العروض للصفحة الأولى فقط؛ إذا كان
has_more_pagesيساوي true فالقائمة ليست كاملة. - لا يُحفظ سجل للأسعار؛ عليك جدولة الطلبات وحفظ النتائج.
كيف تبدأ
- أنشئ حسابًا مجانيًا وانسخ مفتاحك؛ 50 رصيدًا تعني 50 طلبًا.
- جرّب البحث دون تسجيل في العرض الحي على صفحة Amazon API بالعربية.
- راجع كل الحقول في توثيق البحث وصفحة المنتج وعروض البائعين والأسواق.
- لمقارنة Scavio بغيرها اقرأ أفضل واجهات API لبيانات منتجات أمازون الإمارات، وتفاصيل الخطط في صفحة الأسعار.
Frequently asked questions
هل أحتاج إلى حساب بائع أو حساب Associates لسحب بيانات أمازون السعودية؟
لا. واجهة Amazon API من Scavio تعمل بمفتاح API تحصل عليه عند التسجيل بالبريد أو بحساب Google، مع 50 رصيدًا مجانًا ودون بطاقة. لا تحتاج إلى حساب بائع ولا إلى موافقة برنامج Associates ولا إلى تحقيق حد أدنى من المبيعات.
كيف أحصل على العناوين بالعربية والأسعار بالريال؟
أضف "country": "sa" و"language": "AR" إلى نص الطلب. في طلباتنا بتاريخ 2 نوفمبر 2026 وصلت الأسعار مع currency: "SAR"، وكانت معظم العناوين بالعربية، لكن 9 من أصل 65 صفًا في بحث "مكينة قهوة" وصلت بالإنجليزية لأن البائع لم يضع عنوانًا عربيًا.
لماذا يكون البائع Amazon Germany على منتج في amazon.sa؟
لأن بعض المنتجات تُباع في amazon.sa من مخازن أمازون في دول أخرى. ماكينة نسبريسو إنيسيا كانت في صندوق الشراء لدى Amazon Germany بسعر 340.01 ريال وبتوصيل في 16 نوفمبر، بينما عرضتها Amazon UAE بسعر 499.7 ريال وAmazon UK بسعر 577.44 ريال. نقطة اتصال العروض تعيد اسم البائع وجهة الشحن لكل عرض، فتعرف مصدر الشحن قبل الشراء.
كم يكلف سحب بيانات أمازون السعودية؟
البحث وصفحة المنتج والعروض برصيد واحد لكل طلب، وقائمة الأسواق مجانية. في خطة Growth بالدفع السنوي تكلف 1,000 رصيد نحو دولارين، وطلب البحث الواحد يعيد صفحة كاملة من المنتجات. الحسابات الجديدة تبدأ بـ 50 رصيدًا مجانًا.