جمع بيانات TikTok: الفيديوهات والتعليقات
احصل على الملفات الشخصية والفيديوهات والتعليقات والوسوم والأصوات والنصوص المفرّغة العامة من TikTok بصيغة JSON عبر واجهة REST واحدة، دون متصفح خفي أو مراجعة تطبيق.
أبسط طريقة للحصول على بيانات TikTok العامة في 2026 هي واجهة API مستضافة لجمع البيانات: طلب HTTPS واحد يعيد لك ملفًا شخصيًا، أو فيديوهات صانع محتوى، أو تعليقات، أو فيديوهات وسم، أو النص المفرّغ لفيديو، بصيغة JSON. مع crawlfeed، يكلّف الملف الشخصي أو صفحة الفيديوهات رصيدًا واحدًا، ولا يحتاج إلا إلى مفتاح API، ويعود بالبنية نفسها التي تعود بها بيانات Instagram وYouTube وX.
يستحوذ TikTok على جزء كبير من انتباه مستخدمي الإنترنت في 2026، وهو أيضًا من أصعب المنصات في استخراج البيانات منها. يشرح هذا الدليل كيف تجمع بيانات TikTok العامة (الملفات الشخصية، والفيديوهات، والتعليقات، والوسوم، والأصوات، والنصوص المفرّغة) بطلبات HTTPS عادية، مع شيفرة جاهزة للتشغيل بلغات cURL وJavaScript وPython.
لماذا يصعب الحصول على بيانات TikTok؟
ثلاثة أمور تجعل TikTok مختلفًا عن أي موقع عادي:
- لا توجد واجهة API عامة للبيانات. واجهات TikTok الرسمية إما للأبحاث الأكاديمية المعتمدة، وإما للبيانات التي يمنحها المستخدم لتطبيقك من حسابه هو. ولا توجد نقطة نهاية تعيد الفيديوهات العامة لأي صانع محتوى لصالح منتج تجاري.
- تطبيق الويب مبني لصدّ أدوات جمع البيانات. تُعرض الصفحات من جهة المتصفح، وتتغير توقيعات الطلبات، وتخضع عناوين IP الخاصة بمراكز البيانات للتحقق. وأداة الجمع التي تعمل اليوم كثيرًا ما تتعطل الأسبوع القادم.
- بنية البيانات مربكة. تعود الأعداد نصوصًا في موضع وأرقامًا في موضع آخر، وتتداخل بيانات الفيديو والكاتب والموسيقى بطريقة مختلفة في كل نقطة نهاية.
يمكنك أن تدير أسطولًا من المتصفحات الخفية مع خوادم وسيطة سكنية، أو أن تستدعي واجهة API تتولى ذلك عنك. يتبع باقي هذا الدليل الطريقة الثانية.
ما الذي يمكنك الحصول عليه من TikTok
كل الطلبات أدناه متاحة على crawlfeed اليوم. يُولَّد الجدول من فهرس الواجهة نفسه، لذا فنقاط النهاية والأسعار هي بالضبط ما ستدفعه:
| العملية | نقطة النهاية | المُعاملات المطلوبة | الرصيد |
|---|---|---|---|
| الملف الشخصي | /v1/tiktok/profile | handle | 1 |
| المنشورات | /v1/tiktok/posts | handle | 1 |
| منشور | /v1/tiktok/post | id | 1 |
| التعليقات | /v1/tiktok/comments | post_id | 1 |
| البحث | /v1/tiktok/search | q | 1 |
| المتابِعون | /v1/tiktok/followers | handle | 1 |
| المتابَعون | /v1/tiktok/following | handle | 1 |
| الجمهور | /v1/tiktok/audience | handle | 26 |
| البث المباشر | /v1/tiktok/live | handle | 1 |
| الحسابات الرائجة | /v1/tiktok/trending/profiles | — | 1 |
| الحسابات المرتبطة | /v1/tiktok/linked-profiles | handle | 10 |
| الوسم | /v1/tiktok/hashtag | tag | 1 |
| الرائج | /v1/tiktok/trending | — | 1 |
| النص المفرّغ | /v1/tiktok/transcript | id | 10 |
| الملخص | /v1/tiktok/summary | id | 13 |
| الردود | /v1/tiktok/replies | post_id, comment_id | 1 |
| البحث في المنشورات | /v1/tiktok/search/posts | q | 1 |
| البحث في الحسابات | /v1/tiktok/search/profiles | q | 1 |
| أبرز النتائج | /v1/tiktok/search/top | q | 1 |
| اقتراحات البحث | /v1/tiktok/search/suggestions | q | 1 |
| منشورات المجموعة | /v1/tiktok/collection/posts | id | 1 |
| المقطع الصوتي | /v1/tiktok/track | id | 1 |
| منشورات تستخدم مقطعًا صوتيًا | /v1/tiktok/track/posts | id | 1 |
| البحث في المنتجات | /v1/tiktok/shop/search | q | 1 |
| منتجات المتجر | /v1/tiktok/shop/products | shop | 1 |
| منتج | /v1/tiktok/shop/product | id | 1 |
| تقييمات المنتج | /v1/tiktok/shop/reviews | id | 1 |
| واجهة صانع المحتوى | /v1/tiktok/shop/showcase | handle | 1 |
| البحث في الإعلانات | /v1/tiktok/ads/search | q | 1 |
| إعلانات معلِن | /v1/tiktok/ads | advertiser | 1 |
| إعلان | /v1/tiktok/ad | id | 1 |
تعود كل البيانات بالأنواع الموحّدة في crawlfeed (Profile وPost وComment وغيرها)، وهي نفسها على كل المنصات الـ26.
احصل على ملف شخصي من TikTok
ابدأ بملف شخصي. تحتاج إلى مفتاح API (تحصل الحسابات الجديدة على 100 رصيد مجاني) واسم المستخدم دون @:
curl -G https://api.crawlfeed.dev/v1/tiktok/profile \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "handle=charlidamelio"الاستجابة كائن Profile داخل الغلاف المعتاد. بعد الاختصار، ومع أرقام توضيحية، تبدو هكذا:
{
"data": {
"platform": "tiktok",
"handle": "charlidamelio",
"display_name": "charli d’amelio",
"verified": true,
"followers": 155000000,
"following": 1300,
"posts_count": 2800,
"bio": "…",
"links": ["…"]
},
"meta": { "credits_used": 1, "credits_remaining": 99, "cache": "MISS", "data_age_s": 0 }
}يكلّف الملف الشخصي رصيد واحد. الأعداد أرقام لا نصوص، والحقل الذي لا يكشفه TikTok يعود بالقيمة null بدل أن يختفي.
احصل على فيديوهات صانع محتوى
تعيد /v1/tiktok/posts أحدث فيديوهات صانع المحتوى، من الأحدث إلى الأقدم، صفحةً في كل طلب:
curl -G https://api.crawlfeed.dev/v1/tiktok/posts \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "handle=charlidamelio"كل عنصر كائن Post يحتوي على text، وcreated_at، وmedia (رابط الفيديو وصورته المصغّرة ومدته)، وengagement (likes وcomments وshares وviews وsaves)، وhashtags، وmentions، وis_ad.
للانتقال إلى الصفحة التالية، مرّر قيمة meta.next_cursor في المُعامل cursor. وإذا غاب next_cursor فقد وصلت إلى النهاية. تُحتسب كل صفحة، فتوقف فور حصولك على ما تحتاجه:
let cursor;
const videos = [];
do {
const params = new URLSearchParams({ handle: 'charlidamelio', ...(cursor ? { cursor } : {}) });
const res = await fetch(`https://api.crawlfeed.dev/v1/tiktok/posts?${params}`, {
headers: { Authorization: `Bearer ${process.env.CRAWLFEED_KEY}` },
});
const { data, meta } = await res.json();
videos.push(...data);
cursor = meta.next_cursor;
} while (cursor && videos.length < 100);احصل على التعليقات على فيديو
مرّر مُعرّف الفيديو في post_id:
curl -G https://api.crawlfeed.dev/v1/tiktok/comments \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "post_id=<post_id>"يحتوي كل Comment على text، وauthor، وlikes، وcreated_at، وreply_to_id. وللردود تحت تعليق واحد، استخدم /v1/tiktok/replies مع post_id وcomment_id.
البحث والوسوم والأصوات
ثلاث طرق لاكتشاف المحتوى بدل قراءة حساب تعرفه:
- البحث بالكلمات المفتاحية:
/v1/tiktok/search/posts?q=…للفيديوهات، و/v1/tiktok/search/profiles?q=…لصنّاع المحتوى. - الوسوم: تعيد
/v1/tiktok/hashtag?tag=…الفيديوهات التي تستخدم وسمًا. - الأصوات: تصف
/v1/tiktok/track?id=…مقطعًا صوتيًا، وتعرض/v1/tiktok/track/posts?id=…الفيديوهات التي تستخدمه.
curl -G https://api.crawlfeed.dev/v1/tiktok/hashtag \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "tag=coffee"احصل على النص المفرّغ لفيديو على TikTok
للأبحاث والملخصات، أو لتمرير الفيديوهات إلى نموذج لغوي كبير، فالنص المفرّغ هو عادةً ما تحتاجه:
curl -G https://api.crawlfeed.dev/v1/tiktok/transcript \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "id=<id>"يكلّف النص المفرّغ 10 أرصدة لأن إنتاجه في المصدر أعلى تكلفة. وحين تتوفر التوقيتات، يحمل كل مقطع وقت بدايته ونهايته.
تعامل مع الأخطاء وحدّ الطلبات
الأخطاء بصيغة problem details وفق RFC 9457 مع code ثابت، فاعتمد على الرمز لا على نص الرسالة:
| الرمز | معناه | ما العمل |
|---|---|---|
not_found | اسم المستخدم أو الفيديو غير موجود، أو أنه خاص | تحقق من المُعرّف، ولا تُعِد المحاولة |
rate_limited | أرسلت طلبات أسرع من حدّك المسموح | انتظر retry_after ثانية |
insufficient_credits | رصيدك أقل من سعر الطلب | اشحن رصيدك، فلم يُخصم شيء |
platform_unavailable | تعطّل TikTok أو المصدر | أعد المحاولة لاحقًا، فقد استُرد الرصيد |
يُستردّ رصيد الطلب الفاشل تلقائيًا، فلن تدفع مرتين عند إعادة المحاولة أبدًا.
أضف تحليل المشاعر واللهجة العربية
إن كان جمهورك يكتب بالعربية، فأضف enrich=arabic إلى طلب الملف الشخصي أو الفيديو أو التعليقات. يحصل كل عنصر على حقل enrichment فيه اللهجة (خليجية، أو مصرية، أو شامية، أو مغاربية، أو فصحى)، والمشاعر، والكيانات، والموضوعات، مقابل 3 أرصدة إضافية لكل طلب.
استخدم بيانات TikTok من Claude أو Cursor
إن كنت تفضّل السؤال على كتابة الشيفرة، فاربط خادم MCP من crawlfeed، وسيحصل مساعدك على الطلبات نفسها كأدوات:
claude mcp add --transport http crawlfeed https://mcp.crawlfeed.dev/mcp \
--header "Authorization: Bearer $CRAWLFEED_KEY"ثم اسأل مثلًا: «ماذا نشر حساب @charlidamelio هذا الأسبوع، وأي فيديو حصد أكثر التعليقات؟». تجد طريقة الإعداد لكل عميل في دليلنا إلى MCP.
الخلاصة
لجمع بيانات TikTok العامة، تعفيك واجهة API لجمع البيانات من صيانة المتصفحات والخوادم الوسيطة والمحللات التي تتعطل كل بضعة أسابيع. مع crawlfeed، تكلّف معظم الطلبات رصيدًا واحدًا، والشيفرة نفسها تعمل مع Instagram وYouTube وX. المرجع الكامل في /docs/platforms/tiktok.
أسئلة شائعة
هل جمع بيانات TikTok قانوني؟
جمع البيانات المتاحة للعموم قانوني عمومًا في كثير من الدول، لكنه يتوقف على مكانك، وعلى ما تجمعه، وعلى ما تفعله به. لا يعيد crawlfeed إلا البيانات العامة، ولا يسجّل الدخول إلى أي حساب أبدًا. وإذا خزّنت بيانات شخصية، فأنت مسؤول عن وجود أساس قانوني لذلك وفق قوانين مثل اللائحة العامة لحماية البيانات (GDPR)، وعن تلبية طلبات الحذف.
هل لدى TikTok واجهة API رسمية لهذا؟
يوفّر TikTok واجهة Research API للباحثين الأكاديميين المعتمدين، وواجهات للبيانات التي يأذن بها المستخدم على حسابه هو. ولا تتيح أيٌّ منهما لمنتجك قراءة أي ملف شخصي أو فيديو عام على نطاق واسع، ولهذا تعتمد معظم الفرق على واجهة API لجمع البيانات العامة.
كم تكلّف بيانات TikTok مع crawlfeed؟
تكلّف معظم طلبات TikTok رصيدًا واحدًا: ملف شخصي، أو صفحة من الفيديوهات، أو صفحة من التعليقات، أو صفحة من فيديوهات وسم، أو بحث. أما النص المفرّغ للفيديو فيكلّف 10 أرصدة، وتحليل الجمهور 26 رصيدًا، لأن المصدر يتقاضى عليهما أكثر. تحصل الحسابات الجديدة على رصيد مجاني، ويُستردّ رصيد الطلبات الفاشلة.
ما مدى حداثة البيانات؟
نخزّن الاستجابات تخزينًا مؤقتًا لفترة قصيرة حتى تبقى الطلبات المتكررة سريعة ورخيصة. يخبرك الحقلان meta.cache وmeta.data_age_s بعمر الاستجابة، وإذا أردت البيانات الحديثة مباشرة من المصدر فأضف fresh=true مقابل ضعف السعر.
هل يمكنني إدخال بيانات TikTok إلى Claude أو Cursor؟
نعم. يمنح خادم MCP من crawlfeed أي عميل MCP طلبات TikTok نفسها كأدوات، بمفتاح API نفسه والرصيد نفسه.
جرّبه على بياناتك
كل الأمثلة أعلاه تعمل كما هي. تحصل الحسابات الجديدة على 100 رصيد مجاني، دون بطاقة دفع.
احصل على مفتاح API