كيف تجمع بيانات YouTube: الفيديوهات والنصوص المفرّغة
احصل على قنوات YouTube العامة وفيديوهاتها وShorts والتعليقات وقوائم التشغيل والنصوص المفرّغة بصيغة JSON عبر واجهة REST واحدة، بلا وحدات حصة ولا مشروع Cloud.
أبسط طريقة للحصول على بيانات YouTube العامة في 2026 هي واجهة API مستضافة لجمع البيانات: طلب HTTPS واحد يعيد لك قناة، أو فيديوهاتها أو Shorts الخاصة بها، أو تعليقات فيديو، أو قائمة تشغيل، أو النص المفرّغ لفيديو بصيغة JSON. مع crawlfeed، يكلّف كل طلب على YouTube رصيدًا واحدًا، ولا يحتاج إلا إلى مفتاح API بدلًا من مشروع على Google Cloud، ويعيد البنية نفسها التي تعيدها بيانات TikTok وInstagram وX.
YouTube أكبر مكتبة فيديو على الويب، وهو في كثير من الموضوعات أفضل مصدر أوّلي متاح: مراجعات المنتجات، والمحاضرات، والمقابلات، ومكالمات الإعلان عن الأرباح. وفي أعمال البحث والذكاء الاصطناعي، كثيرًا ما تكون النصوص المفرّغة أثمن من الفيديوهات نفسها. يشرح هذا الدليل كيف تسحب بيانات YouTube العامة (القنوات والفيديوهات وShorts والتعليقات وقوائم التشغيل ومنشورات المجتمع والنصوص المفرّغة) بطلبات HTTPS عادية، مع أمثلة عملية بـ cURL وJavaScript وPython.
لماذا يصعب الحصول على بيانات YouTube أكثر مما يبدو؟
لدى YouTube واجهة API رسمية، وهذا يجعله أسهل من معظم المنصات. لكن العقبات تظهر حين تبدأ البناء عليها:
- حصة، لا مجرد مفاتيح. تحتاج YouTube Data API إلى مشروع على Google Cloud، وتحتسب الاستخدام بوحدات حصة يومية. بعض الطلبات، والبحث تحديدًا، يستهلك وحدات أكثر بكثير من غيره، فيصل المنتج الذي يعتمد على البحث إلى السقف بسرعة.
- النصوص المفرّغة ليست متاحة فعليًا. نقاط نهاية الترجمة المصاحبة مصمَّمة للفيديوهات التي تديرها أنت. أما الحصول على الكلام المنطوق في فيديو يملكه غيرك فليس طلب API بسيطًا.
- بعض الأقسام غائبة أو مربكة. Shorts ومنشورات المجتمع والبث المباشر إما غائبة عن الواجهة الرسمية أو مختلطة بكل شيء آخر.
يمكنك جمع بيانات YouTube بنفسك، لكن بيانات الصفحة كتلة ضخمة شديدة التداخل تتغير باستمرار، ومع الحجم الكبير ستصطدم بصفحات الموافقة واختبارات كشف الروبوتات.
| الطريقة | القنوات والفيديوهات | النصوص المفرّغة لأي فيديو عام | Shorts ومنشورات المجتمع |
|---|---|---|---|
| YouTube Data API | نعم، ضمن الحصة اليومية | لا | جزئيًا |
| أداة جمع خاصة بك | نعم | نعم، بجهد إضافي | نعم، بجهد إضافي |
| واجهة API لجمع البيانات (crawlfeed) | نعم | نعم | نعم |
ما بيانات YouTube التي يمكنك الحصول عليها؟
كل الطلبات أدناه تعمل على crawlfeed اليوم. الجدول مولَّد من فهرس الواجهة نفسها، فنقاط النهاية والأسعار هي بالضبط ما ستُحاسَب عليه:
| العملية | نقطة النهاية | المُعاملات المطلوبة | الرصيد |
|---|---|---|---|
| الملف الشخصي | /v1/youtube/profile | handle | 1 |
| المنشورات | /v1/youtube/posts | handle | 1 |
| منشور | /v1/youtube/post | id | 1 |
| التعليقات | /v1/youtube/comments | post_id | 1 |
| البحث | /v1/youtube/search | q | 1 |
| الحسابات المرتبطة | /v1/youtube/linked-profiles | handle | 10 |
| المقاطع القصيرة | /v1/youtube/reels | handle | 1 |
| فيديوهات البث المباشر | /v1/youtube/live/videos | handle | 1 |
| الوسم | /v1/youtube/hashtag | tag | 1 |
| الرائج | /v1/youtube/trending | — | 1 |
| النص المفرّغ | /v1/youtube/transcript | id | 1 |
| الملخص | /v1/youtube/summary | id | 4 |
| البحث في المنشورات | /v1/youtube/search/posts | q | 1 |
| اقتراحات البحث | /v1/youtube/search/suggestions | q | 1 |
| المجموعات | /v1/youtube/collections | handle | 1 |
| مجموعة | /v1/youtube/collection | id | 1 |
| منشورات المجموعة | /v1/youtube/collection/posts | id | 1 |
| منشورات المجتمع | /v1/youtube/community/posts | id | 1 |
| منشور في مجتمع | /v1/youtube/community/post | id | 1 |
كل شيء يعود بالأنواع الموحّدة في crawlfeed (Profile وPost وComment وغيرها)، وهي نفسها في المنصات كلها، وعددها 26. القناة Profile، والفيديو أو Short أو منشور المجتمع Post.
احصل على قناة YouTube
تحتاج إلى مفتاح API (تحصل الحسابات الجديدة على 100 من الرصيد المجاني) وإلى معرّف القناة من دون @:
curl -G https://api.crawlfeed.dev/v1/youtube/profile \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "handle=MrBeast"الاستجابة Profile داخل الغلاف المعتاد. الحقل followers هو عدد المشتركين، وposts_count عدد الفيديوهات. بعد الاختصار، وبأرقام توضيحية، تبدو هكذا:
{
"data": {
"platform": "youtube",
"handle": "MrBeast",
"display_name": "MrBeast",
"verified": true,
"followers": 1234567,
"posts_count": 1234,
"bio": "…",
"country": "…",
"links": ["…"]
},
"meta": { "credits_used": 1, "credits_remaining": 99, "cache": "MISS", "data_age_s": 0 }
}تكلّف القناة رصيد واحد. أما الحقل الذي لا يكشفه YouTube، مثل following، فيعود بالقيمة null بدلًا من أن يختفي.
اعرض فيديوهات قناة
تعيد /v1/youtube/posts ما رفعته القناة، الأحدث أولًا، صفحةً واحدة في كل طلب:
curl -G https://api.crawlfeed.dev/v1/youtube/posts \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "handle=MrBeast"كل عنصر Post يضم العنوان والوصف في text، وcreated_at، وmedia (رابط الفيديو url وthumbnail_url وduration_s)، وengagement (views وlikes وcomments)، وhashtags وmentions.
للحصول على الصفحة التالية، مرّر meta.next_cursor مرة أخرى في cursor. وإذا غاب next_cursor فقد وصلت إلى نهاية القناة. كل صفحة تُحتسب، فتوقّف حين يكفيك ما جمعته:
import os, requests
videos, cursor = [], None
while True:
params = {"handle": "MrBeast", **({"cursor": cursor} if cursor else {})}
res = requests.get(
"https://api.crawlfeed.dev/v1/youtube/posts",
params=params,
headers={"Authorization": f"Bearer {os.environ['CRAWLFEED_KEY']}"},
)
body = res.json()
videos.extend(body["data"])
cursor = body["meta"].get("next_cursor")
if not cursor or len(videos) >= 150:
breakولفيديو واحد تعرفه مسبقًا، مرّر معرّفه (قيمة v= في الرابط) إلى /v1/youtube/post.
احصل على تعليقات فيديو
مرّر معرّف الفيديو في post_id:
curl -G https://api.crawlfeed.dev/v1/youtube/comments \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "post_id=<post_id>"لكل Comment الحقول text وauthor وlikes وcreated_at وreply_to_id. وتتنقل بين صفحات التعليقات عبر cursor كما في الفيديوهات. وفي أبحاث الجمهور، تكون سلاسل التعليقات عادةً موطن الإشارات المفيدة.
احصل على النص المفرّغ لفيديو YouTube
هذا هو الطلب الذي يأتي من أجله معظم الناس. مرّر معرّف الفيديو أو رابطه:
curl -G https://api.crawlfeed.dev/v1/youtube/transcript \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "id=<id>"يكلّف النص المفرّغ رصيد واحد ويتضمن التوقيتات متى توفرت، فتستطيع ربط أي اقتباس باللحظة الدقيقة في الفيديو. وهو المُدخل الطبيعي للملخصات وفهارس البحث ومسارات الاسترجاع التي تغذّي نموذجًا لغويًا كبيرًا.
Shorts والبث المباشر وقوائم التشغيل ومنشورات المجتمع
قناة YouTube أكثر من مجرد قائمة ما رفعته، ولكل قسم طلبه الخاص:
- Shorts: تعرض
/v1/youtube/reels?handle=…مقاطع Shorts الخاصة بالقناة وحدها. - البث المباشر: تعرض
/v1/youtube/live/videos?handle=…البث المباشر الحالي والسابق للقناة. - قوائم التشغيل: تعرض
/v1/youtube/collections?handle=…قوائم تشغيل القناة، وتصف/v1/youtube/collection?id=…قائمة واحدة، وتعيد/v1/youtube/collection/posts?id=…الفيديوهات التي فيها. - منشورات المجتمع: تأخذ
/v1/youtube/community/posts?id=…معرّف القناة وتعيد تبويب المجتمع فيها؛ وتجلب/v1/youtube/community/post?id=…منشورًا واحدًا عبر رابطه.
curl -G https://api.crawlfeed.dev/v1/youtube/collection/posts \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "id=<id>"البحث والوسوم والرائج
لاكتشاف فيديوهات بدلًا من قراءة قناة تعرفها:
- البحث: تشغّل
/v1/youtube/search?q=…بحث YouTube نفسه، وتعيد/v1/youtube/search/posts?q=…الفيديوهات المطابقة بصيغة منشورات. - الوسوم: تعيد
/v1/youtube/hashtag?tag=…الفيديوهات التي تستخدم وسمًا معيّنًا، من دون#. - الرائج: تعيد
/v1/youtube/trendingما هو رائج الآن، مع مُعاملcountryاختياري.
curl -G https://api.crawlfeed.dev/v1/youtube/search/posts \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "q=coffee"لا يمسّ أيٌّ منها حصة Google Cloud: فالبحث يكلّف رصيد واحد مثل أي طلب آخر.
تعامل مع الأخطاء وحدّ الطلبات
الأخطاء بصيغة problem details وفق RFC 9457 مع code ثابت، فابنِ منطقك على الرمز لا على الرسالة:
| الرمز | معناه | ما تفعله |
|---|---|---|
not_found | القناة أو الفيديو أو قائمة التشغيل غير موجودة أو خاصة | تحقق من المعرّف؛ ولا تُعِد المحاولة |
invalid_request | مُعامل مطلوب مفقود أو مكتوب بصيغة خاطئة | صحّح الطلب |
rate_limited | أرسلت طلبات أسرع من الحد المسموح لك | انتظر retry_after ثانية |
insufficient_credits | رصيدك أقل من سعر الطلب | اشحن رصيدك؛ لم يُخصم شيء |
platform_unavailable | تعطّل YouTube أو المصدر | أعد المحاولة لاحقًا؛ استُردّت قيمة الطلب |
تُستردّ قيمة الطلب الفاشل تلقائيًا، فإعادة المحاولة لا تحاسبك مرتين أبدًا.
أضف تحليل المشاعر واللهجة العربية
إذا كان جمهورك يعلّق بالعربية، فأضف enrich=arabic إلى طلب القناة أو الفيديو أو التعليقات. يحصل كل عنصر على حقل enrichment فيه اللهجة والمشاعر والكيانات والموضوعات، مقابل 3 أرصدة إضافية لكل طلب.
استخدم بيانات YouTube من Claude أو Cursor
إذا كنت تفضّل السؤال على كتابة الكود، فاربط خادم MCP من crawlfeed ليحصل مساعدك على الطلبات نفسها بصفتها أدوات:
claude mcp add --transport http crawlfeed https://mcp.crawlfeed.dev/mcp \
--header "Authorization: Bearer $CRAWLFEED_KEY"ثم اسأل شيئًا مثل: «لخّص النص المفرّغ لأحدث فيديو لـ MrBeast واذكر أبرز الموضوعات في تعليقاته». وتجد خطوات الإعداد لكل عميل في دليلنا إلى MCP.
الخلاصة
تؤدي YouTube Data API الغرض ضمن حصتها، لكن واجهة API لجمع البيانات تمنحك النصوص المفرّغة وShorts وقوائم التشغيل ومنشورات المجتمع بلا مشروع Cloud ولا تخطيط للحصة. مع crawlfeed، يكلّف كل طلب على YouTube رصيدًا واحدًا، والكود نفسه يعمل مع TikTok وInstagram وX وLinkedIn. وتجد المرجع الكامل في /docs/platforms/youtube.
أسئلة شائعة
هل جمع بيانات YouTube قانوني؟
جمع البيانات المتاحة للعامة مشروع عمومًا في كثير من الولايات القضائية، لكن ذلك يتوقف على مكانك وما تجمعه وما تفعله به. لا يعيد crawlfeed إلا البيانات العامة ولا يسجّل الدخول إلى أي حساب أبدًا. إذا خزّنت بيانات شخصية، فأنت مسؤول عن وجود أساس قانوني لذلك بموجب قوانين مثل GDPR، وعن تلبية طلبات الحذف.
هل أستخدم واجهة YouTube Data API الرسمية بدلًا من ذلك؟
تناسبك YouTube Data API إذا كانت حصتها اليومية تغطي حجم استخدامك ولا تمانع إدارة مشروع على Google Cloud. وعادةً تلجأ الفرق إلى واجهة API لجمع البيانات حين تحتاج إلى النصوص المفرّغة لفيديوهات الآخرين، أو حين تستنفد أعمال البحث الكثيفة الحصة، أو حين تريد بيانات YouTube بالصيغة نفسها التي تأتي بها المنصات الأخرى.
كم يكلّف الحصول على بيانات YouTube مع crawlfeed؟
كل طلب على YouTube يكلّف رصيدًا واحدًا: قناة، أو صفحة من الفيديوهات أو Shorts، أو صفحة من التعليقات، أو قائمة تشغيل، أو بحث، أو نص مفرّغ. تحصل الحسابات الجديدة على رصيد مجاني، وتُستردّ قيمة الطلبات الفاشلة.
ما مدى حداثة البيانات؟
تُخزَّن الاستجابات تخزينًا مؤقتًا لمدة قصيرة لتبقى الطلبات المتكررة سريعة ورخيصة. يخبرك الحقلان meta.cache وmeta.data_age_s بعمر الاستجابة؛ وأضف fresh=true لجلبها مباشرةً بضعف السعر.
هل يمكنني الحصول على النص المفرّغ لأي فيديو على YouTube؟
يمكنك طلب النص المفرّغ لأي فيديو عام عبر /v1/youtube/transcript. ينجح الطلب إذا كان للفيديو ترجمة مصاحبة، سواء رفعها صانع المحتوى أو أُنشئت تلقائيًا؛ أما الفيديو الذي لا ترجمة له إطلاقًا فليس له نص مفرّغ يُعاد، وتُستردّ قيمة ذلك الطلب الفاشل.
جرّبه على بياناتك
كل الأمثلة أعلاه تعمل كما هي. تحصل الحسابات الجديدة على 100 رصيد مجاني، دون بطاقة دفع.
احصل على مفتاح API