API الأخبار لأنظمة التداول
بثّان، مقال واحد. البث الخام يوصل العنوان لحظة استيعاب finlight له. البث المُثرى يتبعه بتحليل المشاعر والرموز والكيانات بعد نحو 28 ثانية. نظامك يتفاعل أولاً ويُحسِّن ثانياً.
كيف يعمل
نفس المقال، مرتين
هذا ما يبدو عليه نمط البث الثنائي على الخط. أولاً الرسالة الخام، ثم النسخة المُثراة من نفس المقال، مُطابقة بالرابط.
{
"title": "S&P 500, Dow futures inch up as MidEast hopes offset SpaceX, AMD drag",
"link": "https://www.reuters.com/business/...",
"source": "www.reuters.com",
"summary": "Contracts tracking the S&P 500 and the Dow edged up on Wednesday ...",
"language": "en",
"publishDate": "2026-08-05T09:32:26.959Z",
"createdAt": "2026-08-05T09:32:41.103Z"
}{
"title": "S&P 500, Dow futures inch up as MidEast hopes offset SpaceX, AMD drag",
"link": "https://www.reuters.com/business/...",
"sentiment": "positive",
"confidence": "0.9702919721603394",
"categories": ["business", "markets"],
"countries": ["US"],
"companies": [
{
"ticker": "NVDA",
"name": "NVIDIA Corporation",
"exchange": "XNAS",
"isin": "US67066G1040"
},
{
"ticker": "AMD",
"name": "Advanced Micro Devices, Inc.",
"exchange": "XNAS",
"isin": "US0079031078"
}
]
}الحمولات مختصرة. كل كيان شركة يحمل إدراجاً أساسياً بالإضافة إلى إدراجات متقاطعة حسب البورصة (رموز MIC)، لذا مقال واحد يُربط بأدوات مالية عبر أسواق متعددة. مرجع الحقول الكامل في الوثائق. الوثائق.
ابدأ الآن
نمط البث الثنائي بلغتك
اشترك في كلا البثين بعميل واحد. تفاعل مع الرسالة الخام، وأثرِ عند وصول البيانات الكاملة. مفتاح API فقط هو المفقود.
import { FinlightApi } from 'finlight-client'
const api = new FinlightApi(
{ apiKey: process.env.FINLIGHT_API_KEY! },
{ takeover: true },
)
const seen = new Map<string, number>()
// Raw stream: instant delivery, react immediately
api.rawWebsocket.connect({ language: 'en' }, (raw) => {
seen.set(raw.link, Date.now())
if (/earnings|acquisition|merger|FDA|rate decision/i.test(raw.title)) {
console.log(`[SIGNAL] ${raw.title} (${raw.source})`)
// your reaction logic here
}
})
// Enriched stream: sentiment, entities, tickers
api.websocket.connect({ language: 'en', includeEntities: true }, (article) => {
const t = seen.get(article.link)
const delta = t ? `${((Date.now() - t) / 1000).toFixed(1)}s after raw` : 'new'
console.log(`[ENRICHED] ${article.title} (${delta})`)
console.log(
` sentiment=${article.sentiment} confidence=${article.confidence}`,
)
console.log(` tickers=${article.companies?.map((c) => c.ticker).join(',')}`)
seen.delete(article.link)
})حزم SDK تتولى إعادة الاتصال ونبضات القلب وتدوير الاتصالات. التثبيت عبر npm install finlight-client أو pip install finlight-client.
مقارنة صادقة
لو كنت ستبني هذا بنفسك
أسطول من أدوات الاستخراج مع مُستطلع RSS يوصلك إلى العناوين، ولمصدر واحد بدون حاجة لإزالة التكرار قد يكون هذا القرار الصائب. التكلفة تظهر لاحقاً: نفس الخبر يصل خمس مرات من خمس مُجمّعات، وتغييرات في ترميز الناشر تُعطّل المحللات في الساعة 3 فجراً، ونموذج مشاعر تحتاج الآن لصيانته إلى جانب استراتيجيتك. واجهات API الإخبارية العامة تُزيل الاستخراج لكنها تُبقي الضوضاء، لأن ربط الرموز وتنسيق المصادر المالية ذات الصلة هما بالتحديد الجزءان اللذان تتخطاهما. مهمة finlight هي تلك الطبقة الوسطى: استيعاب مع إزالة التكرار، ووسم الكيانات والرموز، وتحليل المشاعر، وبنية بث تفصل سرعة التفاعل عن عمق البيانات.
زمن الاستجابة
ما يعنيه "نحو 28 ثانية" بدقة
ادعاءات زمن الاستجابة في هذا السوق تخلط بين أربع ساعات مختلفة: متى نشر المصدر، ومتى اكتشف المزود المقال، ومتى تمت فهرسته، ومتى وصلك. نحن ننشر رقماً واحداً، وهو مُقاس داخلياً: في المتوسط، البث الخام يوصل المقال قبل النسخة المُثراة من نفس المقال بنحو 28 ثانية. هذه هي تكلفة خط الإثراء (تحليل المشاعر، تحليل الكيانات، مطابقة الرموز)، والتي يتخطاها البث الخام بالكامل. لا ننشر رقم زمن من النشر إلى التسليم لأن هذا الرقم يعتمد على طوابع زمنية من الناشرين لا نتحكم بها. إذا أعطاك مزود رقماً بالمللي ثانية دون تحديد أي ساعة يقيسها، اسأل.
نمط البث الثنائي يحوّل هذا الفارق إلى ميزة: الرسالة الخام تُخبر نظامك بوجود مقال وتتيح لمرشح العناوين الاستجابة فوراً. الرسالة المُثراة تصل بينما منطق المراكز لا يزال نشطاً وتضيف المشاعر والثقة والأدوات المالية الموسومة. إذا كنت تحتاج الإثراء لمجموعة فرعية فقط من المقالات، تخطَّ البث المُثرى واستدعِ GET /v2/articles/by-link عند الطلب للمقالات التي تهمك.
اقرأ القصة الهندسية وراء البث الخام: How I Cut 28 Seconds Off Financial News Delivery
لغة الاستعلام
صفِّ عند المصدر، لا في الكود
البث وREST API يتشاركان لغة استعلام واحدة. صفِّ حسب ticker:NVDA أو exchange:NASDAQ أو isin:US0378331005، حسب نطاق المصدر، حسب اللغة، مع منطق بولياني كامل (AND، OR، NOT، أقواس، استثناءات مثل -source:finance.yahoo.com). التصفية من جانب الخادم تعني أن نظامك يعالج فقط الرسائل التي كان سيتصرف بناءً عليها.
(+ticker:TSLA OR +ticker:NVDA) AND ("earnings" OR "guidance") AND NOT cryptoالموثوقية
مصمم لأنظمة تعمل بدون إشراف
الاتصالات تدور وفق جدول، لذا تتولى حزم SDK نبضات القلب وإعادة الاتصال نيابة عنك. حدود المعدل تُطبق عند الحافة، لذا العميل المُسيء يفشل سريعاً بدل إضعاف تغذيتك. وصول REST يغطي الاستعلامات التاريخية والتعبئة، لذا نفس الاستعلام الذي يدير بثك المباشر يدير أيضاً دفتر أبحاثك.
تدير نشراً على مستوى المكتب؟ مصادر مخصصة وفوترة سنوية وإعداد ذو أولوية متاحة. حدد المصدر ونحن ندمجه كجزء من عقدك. تواصل معنا
الأسعار
خطط مصممة للبث
وصول البث يبدأ من خطة Pro Standard. الخطط تختلف في حجم الطلبات واتصالات WebSocket وحصص الإرسال.
Pro Standard
اتصال WebSocket متزامن واحد، وصول البث مُتضمَّن
Pro Scale
3 اتصالات WebSocket متزامنة لإعدادات البث المتعدد
قارن جميع الخطط على صفحة الأسعار
طرق أخرى للاتصال
ما وراء بث WebSocket
نمط البث الثنائي هو تكامل واحد. finlight تقدم أيضاً REST وتسليم webhook.
الأسئلة الشائعة
أسئلة حول API أنظمة التداول
أسئلة شائعة حول استخدام finlight لتكامل أنظمة التداول.
وصول البث يبدأ من خطة Pro Standard. الخطط تختلف في حجم الطلبات واتصالات WebSocket وحصص الإرسال. الأسعار والحدود الحالية متاحة على صفحة الأسعار.
هل لا تزال لديك أسئلة؟
فريق الدعم المتخصص بالمطورين هنا لمساعدتك في التكامل والتوسع.
اختبره مقابل منطق الإشارات الخاص بك
أسرع طريقة لتقييم تغذية أخبار هي توجيه مرشحك إليها. احصل على مفتاح، شغّل مثال البث الثنائي، وراقب الفارق على المقالات المباشرة.
