دليل Twitch API (Helix) في 2026: المصادقة ونقاط النهاية والحدود

دليل عملي إلى Twitch API (Helix) في 2026: تسجيل تطبيق، ورموز وصول التطبيق، وأهم نقاط النهاية، وترويسات حدود الطلبات، والتنقل بين الصفحات، وما الذي تغيّر.

إلياسقراءة في 5 دقائق
الإجابة باختصار

تقع واجهة Twitch API، المعروفة باسم Helix، على https://api.twitch.tv/helix وتحتاج إلى ترويستين في كل طلب: Client-Id وAuthorization: Bearer <token>. سجّل تطبيقًا في لوحة مطوّري Twitch (المصادقة الثنائية مطلوبة)، واحصل على رمز وصول للتطبيق عبر تدفق client credentials، فتستطيع قراءة المستخدمين والبثوث المباشرة والفيديوهات والمقاطع والقنوات والجداول. وتعتمد حدود الطلبات على رصيد من النقاط تعلنه ترويسات Ratelimit-*، ويجري التنقل بين الصفحات بمؤشر cursor.

واجهة Twitch API، المعروفة باسم Helix، واجهة REST على https://api.twitch.tv/helix. بتطبيق مسجّل واحد ورمز من تدفق client credentials، تستطيع قراءة المستخدمين والبثوث المباشرة والفيديوهات والمقاطع ومعلومات القنوات وجداول البث. يشرح هذا الدليل الإعداد، والمصادقة، ونقاط النهاية الأكثر استخدامًا، وحدود الطلبات، والتنقل بين الصفحات، والتغييرات التي تكسر الشيفرة القديمة.

ما هي Twitch Helix API؟

Helix هي واجهة Twitch API الحالية. وقد حلّت محل v5، المعروفة باسم Kraken، التي توقفت نقاط نهايتها عن العمل في 28 فبراير 2022. وتسمّيها وثائق Twitch اليوم في الغالب Twitch API، لكن الاسم باقٍ في كل رابط. ويحتاج كل طلب إلى ترويستين:

  • Client-Id: معرّف العميل الخاص بتطبيقك.
  • Authorization: Bearer <token>: رمز وصول للتطبيق أو للمستخدم.

كيف تحصل على بيانات اعتماد Twitch API؟

  1. فعّل المصادقة الثنائية في حسابك على Twitch؛ فلوحة المطوّرين تشترطها.
  2. سجّل تطبيقًا في dev.twitch.tv/console: اختر Applications ثم Register Your Application، وأدخل اسمًا ورابط إعادة توجيه OAuth (مثل http://localhost) وفئة.
  3. انسخ Client ID، وأنشئ Client Secret إن كان التدفق الذي تستخدمه يحتاج إليه.
  4. احصل على رمز وصول. لدى Twitch نوعان:
الرمزطريقة الحصول عليهاستخدامه
رمز وصول التطبيقتدفق client credentials (المعرّف + السرّ)البيانات العامة: المستخدمون والبثوث والفيديوهات والمقاطع والقنوات والجداول
رمز وصول المستخدمتدفق authorization code أو implicit أو device codeكل ما يحتاج إلى إذن المستخدم، مثل قائمة متابعيه

ولقراءة البيانات العامة يكفي رمز التطبيق:

bash
TOKEN=$(curl -s -X POST "https://id.twitch.tv/oauth2/token" \
  -d "client_id=$TWITCH_CLIENT_ID" \
  -d "client_secret=$TWITCH_CLIENT_SECRET" \
  -d "grant_type=client_credentials" | jq -r .access_token)

curl "https://api.twitch.tv/helix/users?login=twitchdev" \
  -H "Client-Id: $TWITCH_CLIENT_ID" \
  -H "Authorization: Bearer $TOKEN"

وإذا كان تطبيقك يحتفظ برموز المستخدمين، فإن Twitch تشترط التحقق منها عبر https://id.twitch.tv/oauth2/validate عند تشغيله ثم كل ساعة بعد ذلك، وتدقّق في التطبيقات التي لا تفعل.

ما نقاط نهاية Twitch API التي تحتاج إليها؟

تقبل نقاط نهاية القراءة التالية رمز وصول للتطبيق أو للمستخدم، بحسب مرجع الواجهة:

نقطة النهايةالمسارفي كل طلب
Get UsersGET /helix/usersحتى 100 قيمة id و100 قيمة login
Get Streams (من يبث الآن)GET /helix/streamsfirst حتى 100، والافتراضي 20
Get Videos (البثوث المسجّلة)GET /helix/videosfirst حتى 100، مع user_id أو game_id
Get ClipsGET /helix/clipsfirst حتى 100، والافتراضي 20
Search ChannelsGET /helix/search/channelsfirst حتى 100، والافتراضي 20
Get Channel InformationGET /helix/channelsحتى 100 قيمة broadcaster_id
Get Channel Stream ScheduleGET /helix/schedulefirst حتى 25

تأخذ معظم نقاط النهاية معرّفات رقمية لا أسماء دخول، لذا تكون الخطوة الأولى عادةً استدعاء Get Users لتحويل twitchdev إلى broadcaster_id. وللتحقق مما إذا كانت عدة قنوات تبث مباشرة، مرّر حتى 100 قيمة user_login إلى Get Streams في طلب واحد: فالقناة غير المتصلة تغيب ببساطة عن النتيجة.

المتابعون هم الاستثناء. لا تعيد Get Channel Followers القائمة الكاملة إلا لرمز مستخدم بصلاحية moderator:read:followers، صادر عن صاحب القناة أو أحد مشرفيه. وأي رمز آخر يحصل على العدد الإجمالي فقط.

كيف تعمل حدود الطلبات في Twitch API؟

تستخدم Twitch نظام token bucket. لكل نقطة نهاية تكلفة بالنقاط، 1 افتراضيًا، ويُعاد ملء الرصيد على مدى دقيقة. ولرموز التطبيق ورموز المستخدم رصيدان منفصلان. وتخبرك كل استجابة بموقفك:

  • Ratelimit-Limit: حجم الرصيد، وهو عادةً 800 نقطة في الدقيقة.
  • Ratelimit-Remaining: النقاط المتبقية.
  • Ratelimit-Reset: موعد إعادة ملء الرصيد، كطابع زمني بصيغة Unix.

اقرأ هذه الترويسات بدل تثبيت رقم في الشيفرة. وعند HTTP 429، انتظر حتى Ratelimit-Reset ثم أعد المحاولة، لكن افحص رسالة الخطأ أيضًا: فبعض أخطاء 429 لا علاقة لها بالرصيد.

كيف يعمل التنقل بين الصفحات في Twitch API؟

تعيد نقاط نهاية القوائم قيمة pagination.cursor. مرّرها كقيمة after للحصول على الصفحة التالية، وتوقف حين يصبح المؤشر فارغًا. ويحدد first حجم الصفحة، ويختلف حدّه الأقصى من نقطة نهاية إلى أخرى: 100 لمعظمها، و25 للجداول.

javascript
const headers = {
  'Client-Id': process.env.TWITCH_CLIENT_ID,
  Authorization: `Bearer ${process.env.TWITCH_TOKEN}`,
};
let after;
const clips = [];
do {
  const params = new URLSearchParams({ broadcaster_id: '141981764', first: '100', ...(after ? { after } : {}) });
  const res = await fetch(`https://api.twitch.tv/helix/clips?${params}`, { headers });
  const body = await res.json();
  clips.push(...body.data);
  after = body.pagination?.cursor;
} while (after && clips.length < 500);

ولرصد التغيّر مع الوقت، مثل بدء قناة بثًّا مباشرًا، يستهلك الاستطلاع المتكرر نقاطًا من حدود الطلبات في كل فحص. أما EventSub فيرسل الأحداث إلى webhook أو WebSocket لديك، وهو الأنسب للتنبيهات.

ما الذي تغيّر مؤخرًا في Twitch API؟

من سجل تغييرات Twitch:

التاريخالتغيير
28 فبراير 2022لم تعد نقاط نهاية v5 (Kraken) متاحة
6 سبتمبر 2023أُزيلت Get Users Follows؛ استخدم Get Channel Followers أو Get Followed Channels
15 أبريل 2025إيقاف PubSub تدريجيًا لصالح EventSub
5 فبراير 2026أُزيلت Get Hype Train Events؛ استخدم Get Hype Train Status
29 مايو 2026صارت بعض نقاط النهاية التي كانت تحتاج إلى رمز مستخدم تقبل رموز وصول التطبيق، حين يكون المستخدم قد منح الصلاحية مسبقًا

بماذا تسمح شروط مطوّري Twitch؟

استخدام الواجهة مجاني، لكن اتفاقية Developer Services Agreement تضع قواعد تحدد ما يمكنك بناؤه. لا يجوز لك تخزين بيانات Twitch لأكثر من 24 ساعة ما لم تأذن Twitch بذلك كتابيًا أو كنت تملك الحقوق، ولا يجوز لك إعادة توزيعها أو بيعها، ويحتاج استخدامها في التسويق أو الأبحاث إلى اتفاقية منفصلة مع Twitch. وإذا كنت تخطط لبناء قاعدة بيانات للقنوات بمرور الوقت، فاقرأ الاتفاقية أولًا.

بيانات Twitch إلى جانب المنصات الأخرى

إذا كانت Twitch مصدرًا واحدًا من عدة مصادر، كأن تتابع صنّاع محتوى يبثون على Twitch وينشرون على TikTok وYouTube، فإن crawlfeed يقدّم عمليات القراءة على Twitch بالمفتاح نفسه وبنى الاستجابة نفسها التي يستخدمها لبقية منصاته الـ26:

العمليةنقطة النهايةالمُعاملات المطلوبةالرصيد
الملف الشخصي/v1/twitch/profilehandle1
المنشورات/v1/twitch/postshandle1
البث المباشر/v1/twitch/livehandle1
الفعاليات/v1/twitch/eventshandle1

يكلّف الاستعلام عن قناة رصيد واحد، ويجيب استدعاء live انطلاقًا من اسم القناة، دون الحاجة إلى البحث عن معرّف رقمي أولًا:

curl -G https://api.crawlfeed.dev/v1/twitch/live \
  -H "Authorization: Bearer $CRAWLFEED_KEY" \
  --data-urlencode "handle=shroud"

والنتيجة من نوع LiveStream، وهو النوع نفسه الذي يعيده crawlfeed للبث المباشر على TikTok. راجع مرجع Twitch لكل المُعاملات. أما كل ما يعمل نيابةً عن مستخدم، مثل الدردشة أو الإشراف أو قوائم المتابعين، فاستخدم له واجهة Twitch الخاصة.

الخلاصة

سجّل تطبيقًا في dev.twitch.tv/console مع تفعيل المصادقة الثنائية، واستبدل معرّف العميل والسرّ برمز وصول للتطبيق عبر id.twitch.tv/oauth2/token، ثم استدعِ https://api.twitch.tv/helix مع ترويستي Client-Id وAuthorization: Bearer. حوّل أسماء الدخول إلى معرّفات عبر Get Users، وتنقّل بين الصفحات بمؤشر after، وراقب ترويسات Ratelimit-*، واستخدم EventSub بدل الاستطلاع المتكرر لتنبيهات البث المباشر. الواجهة مجانية، لكن شروط Twitch تقصر تخزين بياناتها على 24 ساعة دون إذن.

أسئلة شائعة

ما هي Twitch Helix API؟

Helix هو اسم واجهة Twitch API الحالية، على https://api.twitch.tv/helix. وقد حلّت محل الواجهة الأقدم v5 (Kraken)، التي توقفت نقاط نهايتها عن العمل في 28 فبراير 2022. وتسمّيها وثائق Twitch اليوم في الغالب Twitch API فحسب.

كيف أحصل على مفتاح Twitch API؟

سجّل الدخول إلى dev.twitch.tv/console مع تفعيل المصادقة الثنائية، وسجّل تطبيقًا باسم ورابط إعادة توجيه OAuth وفئة، ثم انسخ Client ID وClient Secret الخاصين به. بعد ذلك استبدلهما برمز وصول للتطبيق عبر https://id.twitch.tv/oauth2/token مع grant_type=client_credentials.

هل Twitch API مجانية؟

لا تنشر Twitch أي أسعار أو باقات مدفوعة للواجهة، وتمنح اتفاقية Developer Services Agreement ترخيصًا لاستخدامها دون رسوم. والقيود هي حدود الطلبات وقواعد الاتفاقية، مثل عدم تخزين بيانات Twitch لأكثر من 24 ساعة دون إذن، والحاجة إلى اتفاقية منفصلة لاستخدامها في التسويق أو الأبحاث.

ما حدود الطلبات في Twitch API؟

تستخدم Twitch نظام token bucket: لكل نقطة نهاية تكلفة بالنقاط، غالبًا 1، ويُعاد ملء الرصيد كل دقيقة. وتعلن كل استجابة Ratelimit-Limit وRatelimit-Remaining وRatelimit-Reset؛ والحدّ الشائع 800، لكن اقرأ الترويسة بدل تثبيت الرقم في الشيفرة. وعند تجاوز الحدّ تحصل على HTTP 429.

كيف أحصل على متابعي قناة على Twitch عبر الواجهة؟

استدعِ Get Channel Followers (GET /helix/channels/followers). تحتاج القائمة الكاملة إلى رمز وصول مستخدم بصلاحية moderator:read:followers من صاحب القناة أو أحد مشرفيه؛ وأي رمز آخر يعيد العدد الإجمالي فقط. وقد أُزيلت نقطة النهاية القديمة Get Users Follows في سبتمبر 2023.

جرّبه على بياناتك

كل الأمثلة أعلاه تعمل كما هي. تحصل الحسابات الجديدة على 100 رصيد مجاني، دون بطاقة دفع.

احصل على مفتاح API