استخرج سعر أي منتج من صفحته
أداة استخراج السعر تقرأ صفحة منتج واحدة وتعيد سعرها الحالي كما يظهر للزائر، بعملته الأصلية، دون بقية تفاصيل الصفحة. مفيدة لمقارنة سريعة بين عدة موردين أو لتسجيل سعر لحظي في تقرير دون فتح كل صفحة يدويًا وقراءتها كاملة بحثًا عن الرقم.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
متى تحتاج رقمًا واحدًا لا صفحة كاملة
أحيانًا لا تحتاج كل بيانات المنتج، بل رقم السعر فقط: عند مقارنة عرضين سريعًا، أو تسجيل سعر لحظي ضمن جدول متابعة أسبوعي، أو التحقق من سعر مورد قبل تأكيد طلبية. فتح الصفحة كاملة وقراءتها بحثًا عن رقم واحد وسط وصف طويل ومواصفات تقنية مضيعة وقت غير ضرورية لمهمة بهذه البساطة.
كيف تحدد الأداة السعر الصحيح
تميّز الأداة السعر الحالي المعروض للزائر عن أي سعر قديم مشطوب بجانبه، وتلتقط عملة العرض كما هي — ريال أو درهم أو دولار حسب المتجر — دون تحويلها لعملة أخرى. إن كان هناك سعر خاص لعضوية أو كمية معينة، تُبرز الأداة السعر الأساسي الظاهر افتراضيًا لأي زائر عادي.
السعر واستخدامه المتكرر
تكلفة استخراج سعر صفحة واحدة $0.046 للطلب إضافة إلى $0.0145 للرابط، أي نحو $0.0605. لمقارنة سريعة لمرة واحدة تكفي هذه الأداة تمامًا؛ لمتابعة سعر منتج بعينه على فترات متكررة والتنبيه عند تغيره، تناسب أداة مراقبة السعر المخصصة لذلك أكثر من الاستخراج لمرة واحدة.
الفرق بين استخراج مرة واحدة والمراقبة المستمرة
هذه الأداة تلتقط السعر الآن فقط، لحظة الطلب، ولا تكرر الفحص لاحقًا من تلقاء نفسها. من يحتاج معرفة السعر الحالي مرة واحدة يستخدمها مباشرة؛ من يريد تنبيهًا تلقائيًا عند أي تغيّر مستقبلي يحتاج أداة مراقبة سعر منفصلة تعمل على جدول زمني متكرر.
حالات الاستخدام
محاسب يجمع أسعار عروض متعددة
يجمع محاسب في مؤسسة النخيل للمقاولات أسعار خمسة عروض من موردي مواد بناء مختلفة في تقرير مشتريات واحد قبل اجتماع اعتماد الميزانية.
تاجر يتحقق من سعر مورد قبل التحديث
يتحقق تاجر تجزئة من سعر مورده الحالي قبل تحديث سعر البيع في متجره الإلكتروني، للتأكد أن هامش الربح لا يزال مناسبًا.
مقارنة سعر جهاز قبل الشراء
تقارن سارة النعيمي سعر جهاز إلكتروني بين موقعين مختلفين قبل قرار الشراء، دون فتح كل صفحة كاملة والبحث فيها.
الأسئلة الشائعة
هل تحوّل الأداة السعر لعملة أخرى؟
لا، تعيد السعر بعملته الأصلية كما تظهر في الصفحة، سواء ريالًا أو درهمًا أو دولارًا.
ماذا لو كان هناك عرض خاص لكمية أو عضوية معينة؟
تُبرز الأداة السعر الأساسي الظاهر افتراضيًا لأي زائر عادي، لا سعرًا مشروطًا بعضوية خاصة.
ما الفرق بين هذه الأداة وأداة مراقبة السعر؟
هذه الأداة تلتقط السعر مرة واحدة عند الطلب؛ أداة المراقبة تفحصه بانتظام على جدول زمني وتنبّهك عند تغيره.
كم تكلفة استخراج سعر منتج واحد؟
نحو $0.0605، بواقع $0.046 للطلب و$0.0145 للرابط.
هل تعمل الأداة على صفحات عربية وإنجليزية معًا؟
نعم، تقرأ السعر بغض النظر عن لغة الصفحة أو اتجاه نصها.
هل يمكن أن تخطئ الأداة في تحديد السعر الصحيح؟
نادرًا في صفحات معقدة تعرض أكثر من سعر لخيارات مختلفة؛ يُستحسن التحقق اليدوي السريع عند قرار شراء كبير القيمة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/price-extract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/price-extract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/price-extract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/price-extract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/price-extract", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"url": "https://ejemplo.com"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.price_extract",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
timeout_sec | 30 |
max_crawl_pages | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |