·
دليلAPIمقارنة

أفضل TCG API في 2026 — الدليل الشامل للمطورين

مقارنة شاملة لواجهات برمجة تطبيقات بطاقات التداول للمطورين: الأسعار والميزات وجودة SDK وحدود المعدل لبوكيمون وMTG وYu-Gi-Oh! وغيرها.

تحتاج إلى بيانات أسعار بطاقات التداول. تفتح المتصفح وتبحث عن “TCG API” فتجد نفسك غارقاً في بحر من الخدمات المتروكة في المنتصف، ومتاهات OAuth، وقيود لعبة واحدة، ومنتجات لم تُحدَّث منذ عام 2023. بعضها ميت. بعضها مخبأ خلف عملية موافقة مؤسسية. بعضها يحجب عنوان IP لمدة ساعة إذا أرسلت طلباً واحداً بسرعة كبيرة.

هذا الدليل يقطع عبر كل ذلك.

قيّمنا جميع واجهات برمجة تطبيقات TCG الرئيسية المتاحة في 2026: تغطية الألعاب، وحداثة البيانات، وجودة SDK، وتعقيد المصادقة، والأسعار، وحدود المعدل، ودعم البطاقات المصنفة، وما إذا كانت الخدمة ستبقى حية بعد ستة أشهر. فحصنا الأرقام وقرأنا التوثيق واختبرنا نقاط النهاية.

الخلاصة: واجهة برمجة تطبيقات واحدة تتفوق بوضوح على جميع الأخريات، ومورد ثانٍ يجعل التطوير المبني عليها أسهل بكثير. أما الباقي فتتراوح بين “محدود بشكل ملحوظ” و”خطير بشكل نشط للاعتماد عليه”.

إذا كنت تبني متتبع أسعار، أو أداة إدارة مجموعات، أو بوت Discord، أو أداة محفظة، أو أي شيء يمس أسعار بطاقات التداول عبر ألعاب متعددة — هذا هو دليل المقارنة الذي يجب عليك قراءته قبل كتابة سطر واحد من الكود.


ما الذي يجعل TCG API قابلاً للاستخدام فعلياً؟

ليس كل مطور يحتاج إلى نفس الشيء. لكن هناك متطلبات أساسية تفصل بين الواجهات البرمجية التي تُعدّ لعباً واتي يمكنك فعلاً بناء منتج عليها. إليك الإطار الذي استخدمناه لتقييم جميع الخدمات في هذا الدليل.

تغطية الألعاب

إذا كانت الواجهة البرمجية تغطي لعبة واحدة فقط، فأنت تُحصر نفسك في زاوية. سوق TCG في 2026 يمتد عبر بوكيمون وMagic: The Gathering وYu-Gi-Oh! وLorcana وOne Piece وStar Wars Unlimited وFlesh and Blood وغيرها. المستخدمون ينتقلون بين الألعاب. المنتجات التي تغطي ألعاباً متعددة تحتفظ بالمستخدمين لفترة أطول. الواجهة البرمجية التي تُرغمك على تجميع أربعة خدمات مختلفة لتغطية أربعة ألعاب ليست واجهة برمجية — إنها دين تقني.

أسعار الوقت الفعلي من أسواق متعددة

تتحرك أسعار البطاقات بسرعة. Charizard الذي كان بـ 80 دولاراً يوم الاثنين قد يكون بـ 120 دولاراً يوم الخميس بعد نتائج بطولة. الواجهة البرمجية التي تجلب من سوق واحدة فقط تُدخل نقطة فشل واحدة في التسعير. المعيار الذهبي هو الأسعار من مصدرين — TCGPlayer وeBay معاً بشكل مستقل، مما يتيح المقارنة المرجعية واكتشاف الاختلافات وتوفير بيانات أغنى للمستخدمين.

أسعار حسب الحالة والأسعار المصنفة

Near Mint وLightly Played ليسا البطاقة ذاتها. PSA 10 وPSA 7 ليسا الأصل ذاته. الواجهة البرمجية التي توفر “سعراً” واحداً للبطاقة دون تصنيف الحالة أو الدرجة تقدم بيانات ناقصة. أصبحت البطاقات المصنفة بشكل خاص قطاعاً هائلاً من السوق — درجات BGS وPSA وCGC تؤثر تأثيراً كبيراً على القيمة، والمطورون الذين يبنون أدوات المجمّعين والمستثمرين يحتاجون هذه البيانات.

سجل الأسعار

الأسعار في وقت محدد هي ميزة مسلّم بها. ما يفصل الواجهة البرمجية المفيدة عن الرائعة هو البيانات التاريخية — اتجاهات 7 أيام و30 يوماً و90 يوماً وسنة كاملة. بدون السجل، لا يمكنك إنشاء مخططات، أو حساب المتوسطات المتحركة، أو تحديد ارتفاعات الأسعار، أو إظهار ما إذا كانت البطاقة ترتفع أو تنخفض قيمتها لمستخدميك.

جودة SDK وتغطية اللغات

مواصفة OpenAPI ضرورية لكنها غير كافية. SDK الرسمية المُصانة باللغات التي يستخدمها المطورون فعلاً — JavaScript/TypeScript وPython وGo وRust وPHP — تُحدث فرقاً بين تكامل نهاية الأسبوع وأسبوع من قراءة الكود المصدري. المكتبات التي يصونها المجتمع هي دين: تصبح قديمة، وتفوت نقاط نهاية جديدة، وليس عليها التزام بالحفاظ على التوافق.

بساطة المصادقة

تدفق كود تفويض OAuth 2.0. توقيع HMAC-SHA1 مع OAuth 1.0. كانت هذه المخططات منطقية للتطبيقات المواجهة للمستخدمين على الأسواق. لا معنى لها للمطور الذي يريد استدعاء نقطة نهاية الأسعار. الواجهات البرمجية الحديثة يجب أن تصادق بترويسة واحدة: X-API-Key: your-key. هذا كل شيء.

الخطة المجانية والأسعار الشفافة

إذا كنت لا تستطيع اختبار API دون تقديم طلب والانتظار للحصول على موافقة والتفاوض على الشروط — فهو لم يُبنَ للمطورين، بُني لمبيعات المؤسسات. الواجهة البرمجية الصديقة للمطورين حقاً تحتوي على خطة مجانية ببيانات حقيقية، وأسعار علنية واضحة، وبيئة للبدء بدون بطاقة ائتمان.

حدود معدل يمكن التنبؤ بها

حدود المعدل في حد ذاتها ليست مشكلة. حدود المعدل غير القابلة للتنبؤ — أو الأسوأ، حجب IP لمدة ساعة عند تجاوز حد ناعم — هي المشكلة. أنت بحاجة إلى ترويسات استجابة تُخبرك بالضبط بوضعك، حتى تتمكن من تطبيق منطق التراجع دون تخمين.


المركز الأول: TCG Price Lookup API — الفائز الواضح

لا يوجد هنا مركز ثانٍ بفارق ضئيل. TCG Price Lookup هو أكثر واجهات برمجة تطبيقات TCG اكتمالاً وأكثرها صداقةً للمطورين وأغناها بالبيانات في 2026. يتفوق على جميع أبعاد إطار التقييم. دعنا نتعمق.

تغطية الألعاب: 8 ألعاب، أكثر من 300,000 بطاقة

يغطي TCG Price Lookup بوكيمون وبوكيمون اليابانية وMagic: The Gathering وYu-Gi-Oh! وLorcana وOne Piece وStar Wars Unlimited وFlesh and Blood — 8 ألعاب بمفتاح API واحد وSDK واحد وترويسة مصادقة واحدة. هذا السوق الكامل لـ TCG الرئيسية بنية نقطة نهاية واحدة.

جميع الواجهات البرمجية الأخرى في هذه المقارنة تغطي لعبة واحدة. أحياناً اثنتين. يغطي TCG Price Lookup ثمانياً بـ أكثر من 300,000 بطاقة مفهرسة.

الأسعار من مصدرين: TCGPlayer + eBay

معظم واجهات برمجة الأسعار تجلب من مصدر واحد وتسميها “وقت فعلي”. يجلب TCG Price Lookup من TCGPlayer وeBay بشكل مستقل. هذا مهم لأسباب عدة:

  • التحقق عبر الأسواق — إذا كان TCGPlayer يعرض 45 دولاراً وeBay يعرض 80 دولاراً، فهناك شيء مثير للاهتمام يحدث. هذه الإشارة قيّمة.
  • المرونة — إذا كان هناك فجوات في البيانات أو تأخير في أحد الأسواق، تبقى بياناتك متاحة.
  • أسعار المبيعات المنجزة على eBay تعكس المعاملات الفعلية، وليس مجرد أسعار الإدراج. هذا إشارة مختلفة جوهرياً — وغالباً أكثر دقة.

أسعار حسب الحالة: من Near Mint إلى Damaged

كل بطاقة في قاعدة البيانات تتضمن أسعاراً حسب الحالة: Near Mint وLightly Played وModerately Played وHeavily Played وDamaged. هذه ليست ميزة اختيارية — فهي مُدمجة في نموذج البيانات الأساسي. كل استجابة تتضمن طيف الحالة الكامل.

أسعار البطاقات المصنفة: PSA وBGS وCGC الدرجات 1-10

هنا يتميز TCG Price Lookup فعلاً عن المنافسين. أسعار PSA وBGS وCGC المصنفة للدرجات 1-10 مضمّنة في API. هل تبني متتبع محفظة جاد للمجمّعين؟ أداة مراجحة للتصنيف؟ لوحة تحليل استثماري؟ هذه البيانات غير متاحة في أي مكان آخر عبر API. فقط هنا.

سجل الأسعار: 7 أيام و30 يوماً و90 يوماً وسنة كاملة

سجل الأسعار الكامل عبر أربع نوافذ زمنية — 7 أيام و30 يوماً و90 يوماً وسنة — لكل بطاقة. ارسم مخططات الاتجاه. احسب المتوسطات المتحركة. أخبر المستخدمين عند ارتفاع البطاقة. اعرض التقدير من عام لعام. لا شيء من هذا ممكن بدون البيانات التاريخية، وTCG Price Lookup يمتلكها كلها.

5 SDK رسمية — مُصانة من فريق API

هذا ليس “هناك مكتبة مجتمعية في GitHub آخر تحديث لها منذ 14 شهراً”. يوفر TCG Price Lookup 5 SDK رسمية باللغات التي يستخدمها المطورون فعلاً:

تعالج جميع SDK التقطيع التلقائي للطلبات المجمّعة (حتى 20 معرفاً في الطلب، بتقطيع تلقائي) والأخطاء المكتوبة بالأنواع وتحليل ترويسات حد المعدل وأنواع TypeScript/تلميحات الأنواع الكاملة.

المصادقة: ترويسة واحدة

curl https://api.tcgpricelookup.com/v1/search?q=charizard \
  -H "X-API-Key: your-api-key"

هذا كل شيء. لا OAuth. لا توقيع. لا بيانات اعتماد متعددة. ترويسة واحدة. كما يجب أن يكون.

الأسعار: الخطة المجانية + خطط واضحة ومنشورة

  • مجاني: 200 طلب/يوم، لغير الاستخدام التجاري
  • Trader ($14.99/شهر): 10,000 طلب/يوم، أسعار eBay، أسعار مصنفة، سجل الأسعار، استخدام تجاري
  • Business ($89.99/شهر): 100,000 طلب/يوم، 3 طلبات/ثانية، تكاملات مخصصة

لا طلبات. لا موافقات. لا مفاوضات. تسجّل وتحصل على مفتاح. للتجربة، لا تحتاج حتى بطاقة ائتمان.


البدائل: ما الذي يوفره الباقون

Scryfall API

Scryfall هو المعيار الذهبي لبيانات بطاقات Magic: The Gathering — ولكنه لـ MTG فقط. بيانات البطاقات ممتازة: صور عالية الجودة ومعلومات قانونية وإمكانية بحث قوية. مشكلتان رئيسيتان:

  1. لا أسعار TCGPlayer حقيقية. يتضمن Scryfall أسعاراً من TCGPlayer لكنها محدودة ولا تغطي كامل بيانات الأسعار والحالة التي يوفرها TCG Price Lookup.
  2. لعبة واحدة. إذا تعامل مستخدموك مع بوكيمون أو Yu-Gi-Oh! أيضاً، فأنت تحتاج API إضافياً.

حالة الاستخدام المثالية: أداة MTG فقط لا تحتاج بيانات أسعار أعمق.

pokemontcg.io

قاعدة بيانات بطاقات بوكيمون التحريرية الرائدة. الصور ممتازة، البيانات شاملة، وAPI واضح وسهل الاستخدام. لكن:

  1. لا أسعار TCGPlayer. الواجهة البرمجية تتضمن بيانات TCGPlayer القديمة لكنها ليست أسعاراً في الوقت الفعلي يمكنك الاعتماد عليها في أداة تجارية.
  2. بوكيمون فقط.
  3. لا أسعار مصنفة، لا سجل أسعار.

حالة الاستخدام المثالية: التطبيقات التي تحتاج بيانات تحريرية شاملة لبوكيمون وليس الأسعار.

TCGPlayer API المباشر

TCGPlayer هو أكبر سوق TCG في أمريكا الشمالية، وله API. المشكلة: لا تستطيع الحصول عليه ببساطة. يتطلب شراكة رسمية ومفاوضات عقد وعملية موافقة مطوّلة. ليس مخصصاً للمطورين الأفراد أو الشركات الصغيرة.

حتى لو حصلت عليه، ستحتاج واجهة برمجية منفصلة لـ eBay، وأخرى لأسعار التصنيف، وأخرى لكل لعبة ليست بوكيمون أو MTG. التعقيد يتراكم بسرعة.

حالة الاستخدام المثالية: المؤسسات الكبيرة مع فرق هندسية مخصصة ومتطلبات التكامل المحدد لـ TCGPlayer.

بناء كاشط مخصص

بعض المطورين يلجأ إلى كشط TCGPlayer أو eBay أو المواقع الأخرى مباشرة. تحذير قانوني: كلاهما تحظر الكشط صراحةً في شروط الخدمة الخاصة بهما.

حتى لو تجاهلنا الجانب القانوني، فالتكاليف الهندسية هائلة: الحفاظ على الكاشطات عبر تغييرات الموقع، والتعامل مع الحظر، وتطبيع البيانات عبر تنسيقات مختلفة، والتعامل مع تعطلات الموقع، وبناء بنية تحتية لجدولة التحديث. وهذا كله قبل بناء ميزة واحدة في منتجك الفعلي.

حالة الاستخدام المثالية: لا يوجد. الخطر القانوني والتكلفة الهندسية يجعل هذا خياراً غير عملي تقريباً.


مقارنة جنباً إلى جنب

الميزةTCG Price LookupScryfallpokemontcg.ioTCGPlayer
عدد الألعاب81 (MTG)1 (بوكيمون)متعددة
أسعار الوقت الفعليجزئي✓ (TCGPlayer)
مصادر أسعار متعددةTCGPlayer + eBayTCGPlayer فقطTCGPlayer فقط
أسعار حسب الحالة
أسعار PSA/BGS/CGC
سجل الأسعارمحدود
SDK رسمية5 لغاتلاJS واحدلا
خطة مجانية✓ 200/يوم✓ بدون أسعار✓ بدون أسعاريتطلب موافقة
المصادقةمفتاح APIمفتاح APIمفتاح APIOAuth
إمكانية الوصولفوريةفوريةفوريةطلب مطلوب

دليل التنفيذ: البدء مع TCG Price Lookup API

دعنا نُنشئ تطبيقاً عملياً: لوحة أسعار بسيطة تعرض أسعار الوقت الفعلي للبطاقات المدخلة بالمستخدم.

الخطوة 1: احصل على مفتاح API مجاني

# انتقل إلى https://tcgpricelookup.com/dashboard
# انقر على "Sign Up" — بدون بطاقة ائتمان
# انسخ مفتاح API من قسم API Keys

الخطوة 2: ثبّت SDK

# JavaScript / TypeScript
npm install @tcgpricelookup/sdk

# Python
pip install tcglookup

# Go
go get github.com/TCG-Price-Lookup/tcglookup-go

الخطوة 3: أول طلب واقعي

import { TcgLookupClient } from '@tcgpricelookup/sdk';

const tcg = new TcgLookupClient({
  apiKey: process.env.TCG_API_KEY,
});

// البحث عبر جميع الألعاب
const results = await tcg.cards.search({
  name: 'charizard',
  game: 'pokemon',
  limit: 10,
});

for (const card of results.data) {
  console.log(`${card.name} (${card.set.name})`);
  console.log(`  Near Mint: $${card.prices.nearMint?.market}`);
  console.log(`  Lightly Played: $${card.prices.lightlyPlayed?.market}`);
}

الخطوة 4: الحصول على بيانات أعمق

// الحصول على تفاصيل بطاقة محددة
const card = await tcg.cards.get('pokemon-sv4-006');

console.log(card.data.prices.nearMint.tcgplayer);  // سعر TCGPlayer
console.log(card.data.prices.nearMint.ebay);       // سعر eBay
console.log(card.data.prices.moderatelyPlayed.market); // سعر MP

// الحصول على سجل الأسعار (خطة Trader)
const history = await tcg.cards.priceHistory('pokemon-sv4-006', {
  days: 90,
});

for (const point of history.data) {
  console.log(`${point.date}: $${point.nearMint.market}`);
}

الخطوة 5: بناء مقارن متعدد الألعاب

// نفس الكود، ألعاب مختلفة
async function compareAcrossGames(cardName: string) {
  const games = ['pokemon', 'mtg', 'yugioh', 'lorcana'];
  
  const results = await Promise.all(
    games.map(game => 
      tcg.cards.search({ name: cardName, game, limit: 1 })
    )
  );
  
  return results
    .filter(r => r.data.length > 0)
    .map((r, i) => ({
      game: games[i],
      card: r.data[0].name,
      price: r.data[0].prices.nearMint?.market,
    }));
}

حالات الاستخدام الشائعة وأفضل الممارسات

متتبع المجموعة الشخصية

// جلب قائمة البطاقات المحفوظة مع الأسعار الحالية
async function getCollectionValue(cardIds: string[]) {
  // استخدام البحث المجمّع لتقليل استدعاءات API
  const cards = await tcg.cards.batch(cardIds);
  
  return cards.data.reduce((total, card) => {
    return total + (card.prices.nearMint?.market ?? 0);
  }, 0);
}

بوت Discord بسيط

// معالجة أمر /price
async function handlePriceCommand(cardName: string, game: string) {
  const results = await tcg.cards.search({
    name: cardName,
    game: game,
    limit: 1,
  });
  
  if (!results.data.length) {
    return `لم يتم العثور على "${cardName}"`;
  }
  
  const card = results.data[0];
  const nm = card.prices.nearMint?.market;
  const lp = card.prices.lightlyPlayed?.market;
  
  return `**${card.name}** (${card.set.name})
NM: $${nm?.toFixed(2) ?? 'N/A'}
LP: $${lp?.toFixed(2) ?? 'N/A'}`;
}

تنبيهات الأسعار

// فحص الأسعار يومياً وإرسال تنبيهات
async function checkPriceAlerts(watchList: Array<{id: string, threshold: number}>) {
  for (const item of watchList) {
    const card = await tcg.cards.get(item.id);
    const currentPrice = card.data.prices.nearMint?.market ?? 0;
    
    if (currentPrice >= item.threshold) {
      await sendAlert(`${card.data.name} وصلت إلى $${currentPrice}`);
    }
  }
}

الخلاصة

في 2026، TCG Price Lookup هو الخيار الواضح لأي مطور يبني شيئاً يتعلق ببيانات أسعار بطاقات التداول:

  • 8 ألعاب في API واحد بمفتاح واحد
  • مصدرا أسعار: TCGPlayer + eBay
  • أسعار حسب الحالة مُدمجة في كل استجابة
  • أسعار PSA/BGS/CGC للبطاقات المصنفة
  • سجل 90 يوماً للاتجاهات والمخططات
  • 5 SDK رسمية بلغات رئيسية
  • مصادقة بترويسة واحدة
  • خطة مجانية بدون موافقة

ابدأ على tcgpricelookup.com — مجاني، فوري، بدون بطاقة ائتمان. الخطة المجانية كافية لاختبار جميع الميزات وبناء نموذج أولي وإطلاق مشاريع الهواة.

ابدأ البناء باستخدام TCG API

احصل على مفتاح API المجاني وابدأ الاستعلام عن أسعار البطاقات في دقائق.