DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
إعداد مهام Google Organic SERP
يضع النتائج المرتّبة لكلمة مفتاحية على Google في قائمة الانتظار، ويعيد id للمهمة في tasks[0].id. الاستجابة مغلّفة في غلاف DataForSEO: البيانات في tasks[0].result، والنتيجة في tasks[0].status_code — ولا يزال الطلب المرفوض يعيد HTTP 200. النظير المباشر يجيب فورًا وهو أبسط لاستعلام واحد؛ استخدم قائمة الانتظار عندما تتجاوز الدفعة عمر استدعاء أداة واحد.
مرجع التسعير
- القياس: تكلفة الاستجابة المُبلَّغ عنها.
- تقدير الطلب المرجعي: 0.02 دولار أمريكي.
- مضاعف العميل المرجعي: 1.0. لا تُطبّقه مرة أخرى على مبلغ عميل مسوّى.
بيانات وصفية مرجعية فقط، وليست عرض سعر للحساب ولا سعرًا مضمونًا ولا حدًا للإنفاق. أرصدة الموارد ليست أرصدة Felo. تتبع الرسوم النهائية سجلات فوترة Felo.
- النوع: array (object | null)[]
- browserالنوع: integer | null
_screen _height ارتفاع شاشة المتصفح
حقل اختياري
يمكنك تعيين ارتفاع مخصص لشاشة المتصفح لحساب ترتيب البكسل لجهاز معيّن؛
يمكن تحديده ضمن النطاق التالي:
240-9999؛القيمة الافتراضية:
1080لـdesktop؛640لـmobileعلىandroid؛812لـmobileعلىiOS؛ملاحظة: لاستخدام هذا المعامل، عيّن
calculate_rectanglesعلىtrue - browserالنوع: integer | null
_screen _resolution _ratio عامل تحجيم شاشة المتصفح
حقل اختياري
يمكنك تعيين عامل تحجيم مخصص لشاشة المتصفح لحساب ترتيب البكسل لجهاز معيّن؛
يمكن تحديده ضمن النطاق التالي:
0.5-3؛القيمة الافتراضية:
1لـdesktop؛3لـmobileعلىandroid؛3لـmobileعلىiOS؛ملاحظة: لاستخدام هذا المعامل، عيّن
calculate_rectanglesعلىtrue - browserالنوع: integer | null التنسيق: int64
_screen _width عرض شاشة المتصفح
حقل اختياري
يمكنك تعيين عرض مخصص لشاشة المتصفح لحساب ترتيب البكسل لجهاز معيّن؛
يمكن تحديده ضمن النطاق التالي:
240-9999؛القيمة الافتراضية:
1920لـdesktop؛360لـmobileعلىandroid؛375لـmobileعلىiOS؛ملاحظة: لاستخدام هذا المعامل، عيّن
calculate_rectanglesعلىtrue - calculateالنوع: boolean | null
_rectangles حساب ترتيب البكسل لعناصر SERP في النتائج المتقدمة
حقل اختياري
يشير ترتيب البكسل إلى المسافة بين مقتطف النتيجة والزاوية العلوية اليسرى للشاشة؛
زُر مركز المساعدة لمعرفة المزيد>>
افتراضيًا، يُضبط المعامل على
falseملاحظة: ستُفرض عليك رسوم إضافية بقيمة 0.0006 دولار أمريكي لاستخدام هذا المعامل
- depthالنوع: integer | null
عمق التحليل
حقل اختياري
عدد النتائج في SERP
القيمة الافتراضية:
10القيمة القصوى:
700
ستُحتسب رسوم حسابك لكل SERP يحتوي على ما يصل إلى 10 نتائج؛قد يؤدي تعيين عمق أكبر من 10 إلى رسوم إضافية إذا أعاد محرك البحث أكثر من 10 نتائج؛
يمكن حساب التكلفة في صفحة الأسعار.
- deviceالنوع: string | null
نوع الجهاز
حقل اختياري
إعادة النتائج لنوع جهاز محدد
يمكن أن تأخذ القيم:
desktop،mobileالقيمة الافتراضية:
desktop - expandالنوع: boolean | null
_ai _overview توسيع نظرة AI العامة
حقل اختياري
اضبطه على
trueلتوسيع عنصرai_overview؛القيمة الافتراضية:
false؛ملاحظة: ينطبق هذا المعامل فقط على نتائج المهام بصيغة HTML
- findالنوع: array string[] | null
_targets _in أنواع عناصر SERP للتحقق من الأهداف
حقل اختياري
لتفعيل هذا المعامل، يجب أيضًا تفعيل
stop_crawl_on_matchيحدد أنواع عناصر SERP التي يجب التحقق فيها بحثًا عن مطابقات الأهداف
إذا لم يُحدد، تُفحص جميع عناصر المستوى الأول التي تحتوي على حقلي
urlوdomainبحثًا عن الأهدافالقيم الممكنة:
organic،paid،local_pack،featured_snippet،events،google_flights،images،jobs،knowledge_graph،local_service،map،scholarly_articles،third_party_reviews،twitterملاحظة: لا يمكن أن يحتوي على أنواع العناصر نفسها الموجودة في
ignore_targets_inمثال:
"find_targets_in": ["organic", "featured_snippet"]اعرف المزيد عن هذا المعامل في مركز المساعدة
- groupالنوع: boolean | null
_organic _results عرض النتائج ذات الصلة
حقل اختياري
إذا ضُبط على
true، سيُقدَّم عنصرrelated_resultفي الاستجابة كمقتطف من نتيجة organic الأصلية التابعة له؛إذا ضُبط على
false، سيُقدَّم عنصرrelated_resultكنتيجة organic منفصلة؛القيمة الافتراضية:
true - ignoreالنوع: array string[] | null
_targets _in أنواع عناصر SERP المستبعدة من البحث عن الأهداف
حقل اختياري
لتفعيل هذا المعامل، يجب أيضًا تفعيل
stop_crawl_on_matchيحدد أنواع عناصر SERP التي يجب استبعادها عند البحث عن مطابقات الأهداف
القيم الممكنة:
organic،paid،local_pack،featured_snippet،events،google_flights،images،jobs،knowledge_graph،local_service،map،scholarly_articles،third_party_reviews،twitterملاحظة: لا يمكن أن يحتوي على أنواع العناصر نفسها الموجودة في
find_targets_inمثال:
"ignore_targets_in": ["paid", "images"]اعرف المزيد عن هذا المعامل في مركز المساعدة
- keywordالنوع: string
الكلمة المفتاحية
حقل مطلوب
يمكنك تحديد حتى 700 حرف في حقل
keywordستُفكّ جميع ترميزات %## (وسيُفكّ الحرف ‘+’ إلى مسافة)
إذا كنت بحاجة إلى استخدام الحرف “%” في
keyword، فحدده بالشكل “%25”؛إذا كنت بحاجة إلى استخدام الحرف “+” في
keyword، فحدده بالشكل “%2B”؛إذا كانت هذه الكلمة تحتوي على معاملات مثل ‘allinanchor:’، ‘allintext:’، ‘allintitle:’، ‘allinurl:’، ‘cache:’، ‘define:’، ‘filetype:’، ‘id:’، ‘inanchor:’، ‘info:’، ‘intext:’، ‘intitle:’، ‘inurl:’، ‘link:’، ‘site:’، فستُضرب تكلفة كل مهمة في 5
اعرف المزيد عن قواعد وقيود حقلي
keywordوkeywordsفي واجهات DataForSEO في مقالة مركز المساعدة هذه - languageالنوع: string
_code رمز لغة محرك البحث
حقل مطلوب إذا لم تحدد
language_nameإذا استخدمت هذا الحقل، فلا حاجة لتحديد
language_nameيمكنك الحصول على قائمة اللغات المتاحة لمحرك البحث مع
language_codeالخاص بها عبر إرسال طلب منفصل إلىhttps://api.dataforseo.com/v3/serp/google/languagesمثال:
en - languageالنوع: string
_name الاسم الكامل للغة محرك البحث
حقل مطلوب إذا لم تحدد
language_codeإذا استخدمت هذا الحقل، فلا حاجة لتحديد
language_codeيمكنك الحصول على قائمة اللغات المتاحة لمحرك البحث مع
language_nameالخاص بها عبر إرسال طلب منفصل إلىhttps://api.dataforseo.com/v3/serp/google/languagesمثال:
English - loadالنوع: boolean | null
_async _ai _overview تحميل نظرة AI العامة بشكل غير متزامن
حقل اختياري
اضبطه على
trueللحصول على عناصرai_overviewفي نتائج SERP حتى إذا حُمّلت بشكل غير متزامن؛إذا ضُبط على
false، فلن تحصل إلا على عناصرai_overviewمن ذاكرة التخزين المؤقت؛القيمة الافتراضية:
falseملاحظة: ستُفرض عليك رسوم إضافية بقيمة 0.0006 دولار أمريكي لاستخدام هذا المعامل؛
إذا كان العنصر غائبًا أو يحتوي على
"asynchronous_ai_overview": false، فستُعاد كل الرسوم الإضافية إلى رصيد حسابك - locationالنوع: integer
_code رمز موقع محرك البحث
حقل مطلوب إذا لم تحدد
location_nameأوlocation_coordinateإذا استخدمت هذا الحقل، فلا حاجة لتحديد
location_nameأوlocation_coordinateيمكنك الحصول على قائمة المواقع المتاحة لمحركات البحث مع
location_codeالخاص بها عبر إرسال طلب منفصل إلىhttps://api.dataforseo.com/v3/serp/google/locationsمثال:
2840 - locationالنوع: string
_coordinate إحداثيات GPS للموقع
حقل مطلوب إذا لم تحدد
location_nameأوlocation_codeإذا استخدمت هذا الحقل، فلا حاجة لتحديد
location_nameأوlocation_codeيجب تحديد معامل
location_coordinateبصيغة "latitude,longitude,radius"الحد الأقصى لعدد المنازل العشرية في "latitude" و"longitude": 7
الحد الأدنى لقيمة "radius": 199 (مم)
الحد الأقصى لقيمة "radius": 199999 (مم)
مثال:
53.476225,-2.243572,200 - locationالنوع: string
_name الاسم الكامل لموقع محرك البحث
حقل مطلوب إذا لم تحدد
location_codeأوlocation_coordinateإذا استخدمت هذا الحقل، فلا حاجة لتحديد
location_codeأوlocation_coordinateيمكنك الحصول على قائمة المواقع المتاحة لمحرك البحث مع
location_nameالخاص بها عبر إرسال طلب منفصل إلىhttps://api.dataforseo.com/v3/serp/google/locationsمثال:
London,England,United Kingdom - matchالنوع: string
_type نوع مطابقة الهدف
حقل مطلوب إذا حُدد
stop_crawl_on_matchنوع المطابقة لقيمة
match_valueالقيم الممكنة:
domain– نطاق أو نطاق فرعي محددwith_subdomains– النطاق الرئيسي والنطاقات الفرعيةwildcard– نمط حرف البدل - matchالنوع: string
_value قيمة النطاق أو النطاق الفرعي أو حرف البدل المستهدف
حقل مطلوب إذا حُدد
stop_crawl_on_matchحدد نطاقًا أو نطاقًا فرعيًا أو قيمة حرف بدل مستهدفة؛
ملاحظة: يجب تحديد النطاق أو النطاق الفرعي دون بروتوكول طلب؛
مثال:
"match_value": "dataforseo.com"،"match_value": "/blog/post-*" - maxالنوع: integer | null
_crawl _pages حد زحف الصفحات
حقل اختياري
عدد صفحات نتائج البحث المراد الزحف إليها
القيمة القصوى:
100ملاحظة: ستُحتسب عليك رسوم عن كل صفحة تُزحف (10 نتائج عضوية لكل صفحة)؛
اعرف المزيد عن التسعير في صفحة الأسعار؛
ملاحظة#2: المعاملان
max_crawl_pagesوdepthيكمّل أحدهما الآخر؛تعرّف على المزيد في مركز المساعدة
- osالنوع: string | null
نظام تشغيل الجهاز
حقل اختياري
إذا حددت
desktopفي حقلdevice، فاختر من القيم التالية:windows،macosالقيمة الافتراضية:
windowsإذا حددت
mobileفي حقلdevice، فاختر من القيم التالية:android،iosالقيمة الافتراضية:
android - peopleالنوع: integer | null
_also _ask _click _depth النقرات على العنصر المقابل
حقل اختياري
حدد عمق النقر على عنصر
people_also_askللحصول على عناصرpeople_also_ask_elementإضافية؛ملاحظة ستُحتسب على حسابك 0.00015 دولار إضافية عن كل نقرة بغض النظر عن أولوية المهمة؛
إذا كان العنصر غائبًا أو نفّذنا نقرات أقل مما حددت، فستُعاد كل الرسوم الإضافية إلى رصيد حسابك
القيم الممكنة: من
1إلى4 - pingbackالنوع: string | null
_url عنوان URL لإشعار اكتمال المهمة
حقل اختياري
عند اكتمال المهمة، سنُشعرك عبر طلب GET يُرسل إلى عنوان URL الذي حددته
يمكنك استخدام السلسلة ‘$id’ كمتغيّر
$idو‘$tag’ كمتغيّر$tagبترميز urlencoded. سنضبط القيم اللازمة قبل إرسال الطلب.مثال:
http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tagملاحظة: تُرمَّز الأحرف الخاصة في
pingback_urlبترميز urlencoded؛منها أن الحرف
#يُرمَّز إلى%23
تعرّف على المزيد في مركز المساعدة
- postbackالنوع: string
_data نوع بيانات postback_url
حقل مطلوب إذا حددت
postback_urlيطابق نوع البيانات الذي سيُرسل إلى خادمك
القيم الممكنة:
regular،advanced،html - postbackالنوع: string | null
_url عنوان URL لإرسال نتائج المهمة
حقل اختياري
بعد اكتمال المهمة، سنرسل طلب POST بنتائجها مضغوطة بصيغة
gzipإلىpostback_urlالذي حددتهيمكنك استخدام السلسلة ‘$id’ كمتغيّر
$idو‘$tag’ كمتغيّر$tagبترميز urlencoded. سنضبط القيم اللازمة قبل إرسال الطلبمثال:
http://your-server.com/postbackscript?id=$idhttp://your-server.com/postbackscript?id=$id&tag=$tagملاحظة: تُرمَّز الأحرف الخاصة في
postback_urlبترميز urlencoded;منها أن الحرف
#يُرمَّز إلى%23
تعرّف على المزيد في مركز المساعدة
- priorityالنوع: integer | null
أولوية المهمة
حقل اختياري
يمكن أن تأخذ القيم التالية:
1 – أولوية تنفيذ عادية (تُضبط افتراضيًا)؛
2 – أولوية تنفيذ عالية
ستُحتسب عليك رسوم إضافية للمهام ذات أولوية التنفيذ العالية.يمكن حساب التكلفة في صفحة الأسعار.
- removeالنوع: array string[] | null
_from _url إزالة معاملات محددة من عناوين URL
حقل اختياري
باستخدام هذا الحقل، يمكنك تحديد ما يصل إلى 10 معاملات لإزالتها من عناوين URL في النتيجة
مثال:
"remove_from_url": ["srsltid"] - seالنوع: string | null
_domain نطاق محرك البحث
حقل اختياري
نختار نطاق محرك البحث المناسب تلقائيًا وفقًا للموقع واللغة التي تحددها
ومع ذلك، يمكنك تعيين نطاق محرك بحث مخصص في هذا الحقل
مثال:
google.co.uk, google.com.au, google.de، إلخ. - searchالنوع: string | null
_param معاملات إضافية لاستعلام البحث
حقل اختياري
احصل على قائمة المعاملات المتاحة والتفاصيل الإضافية هنا
ملاحظة: معاملات محرك البحث التالية غير مدعومة وسيُلغى ضبطها تلقائيًا إذا حُددت:lr،cr،as_qdr،as_sitesearch،as_occt،as_filetype. - stopالنوع: array (object | null)[] | null
_crawl _on _match مصفوفة أهداف لإيقاف الزحف حقل اختياري إذا حُددت، ستحتوي الاستجابة على نتائج SERP حتى القيمة المطابقة المحددة وشاملة إياها؛ يمكنك تحديد ما يصل إلى 10 قيم هدف في هذه المصفوفة مثال: "stop_crawl_on_match":[{"match_value":"dataforseo.com","match_type":"with_subdomains"}] تعرّف على المزيد حول هذا المعامل في مركز المساعدة - https://dataforseo.com/help-center/using-the-stop_crawl_on_match-parameter-in-serp-api ستُحتسب رسوم على حسابك عن كل SERP يُزحف عبر الأهداف المحددة
- matchالنوع: string | null
_type نوع مطابقة الهدف حقل مطلوب إذا حُدد stop_crawl_on_match؛ نوع المطابقة لقيمة match_value القيم الممكنة: domain، with_subdomains، wildcard
- matchالنوع: string | null
_value النطاق الهدف أو قيمة wildcard حقل مطلوب إذا حُدد stop_crawl_on_match؛ حدد نطاقًا هدفًا أو قيمة wildcard؛ ملاحظة: يجب تحديد اسم النطاق دون بروتوكول طلب؛ مثال: dataforseo.com
- tagالنوع: string | null
معرّف مهمة يعرّفه المستخدم
حقل اختياري
حد الأحرف 255
يمكنك استخدام هذا المعامل لتعريف المهمة ومطابقتها مع النتيجة
ستجد قيمة
tagالمحددة في كائنdataفي الاستجابة - targetالنوع: string | null
_search _mode وضع مطابقة الأهداف
حقل اختياري
لتفعيل هذا المعامل، يجب أيضًا تفعيل
stop_crawl_on_matchيحدد كيف يتوقف الزحف عند تحديد أهداف متعددة في
stop_crawl_on_matchالقيم الممكنة:
all،anyall– لا يتوقف الزحف إلا عند العثور على جميع الأهداف المحددةany– يتوقف الزحف عند العثور على أي هدف واحدالقيمة الافتراضية:
anyتعرّف على المزيد حول هذا المعامل في مركز المساعدة
- urlالنوع: string | null
عنوان URL المباشر لاستعلام البحث
حقل اختياري
يمكنك تحديد عنوان URL مباشر وسنقوم بتحليله إلى الحقول اللازمة. لاحظ أن هذه الطريقة هي الأصعب على API لدينا في المعالجة وتتطلب أيضًا تحديد اللغة والموقع بدقة في عنوان URL. في معظم الحالات، لا نوصي باستخدام هذه الطريقة.
مثال:
https://www.google.co.uk/search?q=%20rank%20tracker%20api&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS
ملاحظة: معاملات محرك البحث التالية غير مدعومة وسيُلغى ضبطها تلقائيًا إذا حُددت في عنوان URL:lr،cr،as_qdr،as_sitesearch،as_occt،as_filetype.
- النوع: object | null · Response36Afe1097B20_SerpGoogleOrganicTaskPostResponseInfo200
- النوع: number | null التنسيق: doublecost
إجمالي تكلفة المهام، بالدولار الأمريكي
- النوع: integer | nullstatus
_code رمز الحالة العام يمكنك العثور على القائمة الكاملة لرموز الاستجابة هنا
- النوع: string | nullstatus
_message رسالة معلوماتية عامة يمكنك العثور على القائمة الكاملة للرسائل المعلوماتية العامة هنا
- النوع: array (object | null)[] | nulltasks
مصفوفة المهام
- النوع: object | null · Response36Afe1097B20_SerpGoogleOrganicTaskPostTaskInfo
- costالنوع: number | null التنسيق: double
إجمالي تكلفة المهام، بالدولار الأمريكي
- dataالنوع: object | null
يحتوي على المعاملات نفسها التي حددتها في طلب POST
- propertyالنوع: object | null
Name
- idالنوع: string | null
معرّف المهمة معرّف مهمة فريد في نظامنا بصيغة UUID
- pathالنوع: array (string | null)[] | null
مسار URL
- resultالنوع: object | null
مصفوفة نتائج
في هذه الحالة، ستكون القيمةnull - resultالنوع: integer | null التنسيق: int64
_count عدد العناصر في مصفوفة result
- statusالنوع: integer | null
_code رمز حالة المهمة ينشئه DataForSEO ويمكن أن يقع ضمن النطاق التالي: 10000-60000 يمكنك العثور على القائمة الكاملة لرموز الاستجابة هنا
- statusالنوع: string | null
_message الرسالة المعلوماتية للمهمة يمكنك العثور على القائمة الكاملة للرسائل المعلوماتية العامة هنا
- timeالنوع: string | null
وقت التنفيذ، بالثواني
- النوع: integer | null التنسيق: int64tasks
_count عدد المهام في مصفوفة tasks
- النوع: integer | null التنسيق: int64tasks
_error عدد المهام في مصفوفة tasks التي أُعيدت مع خطأ
- النوع: string | nulltime
إجمالي وقت التنفيذ، بالثواني
- النوع: string | nullversion
الإصدار الحالي من API
application/json - 400
تعذّرت معالجة الطلب. تحقق من معاملات الطلب.
- 401
مطلوب مفتاح API صالح من Felo.
- 402
لا يمكن متابعة الطلب لأن أحد متطلبات الفوترة غير مستوفٍ.
- 403
الحساب غير مصرّح له بهذه العملية.
- 429
تم بلوغ حد الطلبات أو حد الإنفاق.
- 502
تعذّر على الخدمة إكمال الطلب.
- 503
خدمة API أو الفوترة غير متاحة مؤقتًا.
- 504
انتهت مهلة الخدمة أثناء معالجة الطلب.
- default
استجابة خطأ؛ قد تستخدم استجابات المنبع الممرَّرة تنسيقات المزوّد
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/serp/google/organic/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"language_code": "en",
"location_code": 2840,
"keyword": "albert einstein"
},
{
"language_name": "English",
"location_name": "United States",
"keyword": "albert einstein",
"priority": 2,
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
},
{
"url": "https://www.google.co.uk/search?q=albert%20einstein&hl=en&gl=GB&uule=w+CAIQIFISCXXeIa8LoNhHEZkq1d1aOpZS",
"postback_data": "html",
"postback_url": "https://your-server.com/postbackscript"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": null
}
]
}