تُباع خدمات أخبار API عادةً بناءً على الطلب، وتكون محجوبة خلف مفتاح، وتُقتصر على مئة طلب يومياً في الخطة المجانية. Free News API لا تفعل أيّاً من ذلك: 21.5 مليون مقال عبر نافذة زمنية متحركة مدتها 90 يوماً، وأكثر من 25000 ناشر، بدون مفتاح، بدون تسجيل، بدون حد استهلاك، مع السماح بالاستخدام التجاري. إليك السطح الكامل — البحث، والإحصائيات، والاتجاهات، والأسواق، والتغذيات (Feeds)، وMCP — بالإضافة إلى تقييم صادق لما قد تخطئ فيه البيانات.
طبيعة المشكلة
اسأل وكيل الذكاء الاصطناعي عن ما يكتبه العالم حالياً، وستجد أمامه ثلاثة خيارات سيئة. يمكنه الحفر (Scraping) في مواقع الناشرين مباشرة، وهو أمر هش، وبطيء، ومشبك من الناحية القانونية. يمكنه الاتصال بخدمة أخبار API تجارية، مما يعني وجود حساب، ومفتاح، وفاتورة شهرية، و— في كل الخطط المجانية في السوق — مئة طلب يومياً وتأخر في المقالات لمدة أربع وعشرين ساعة. أو يمكنه التخمين بناءً على بيانات التدريب التي توقفت منذ أشهر.
تزيل Free News API سعر وخوارزمية الخيار الأوسط دون أن تزيل قدرته. طلب GET واحد، بدون بيانات اعتماد، عبر مجموعة بيانات تحتوي وقت كتابة هذا السطر على 21,557,044 مقالاً من أكثر من خمسة وعشرين ألف ناشر، محفوظة في نافذة زمنية متحركة مدتها تسعون يوماً ومحدثة باستمرار — حيث يكون أحدث مقال في الفهرس عمره عادةً أقل من دقيقتين.
أربع نقاط نهاية أساسية، وأكثر
تتمحور الخدمة حول أربع نقاط نهاية GET، جميعها تحت النطاق https://freenewsapi.ai، وتُرجع بيانات JSON بتنسيق UTF-8 مع رأس Access-Control-Allow-Origin: * مما يسمح لكود المتصفح باستدعائها مباشرة، كما تُبلغ جميعها عن الوقت المستغرق على الخادم في الحقل took_ms.
| نقطة النهاية | السؤال الذي تجيب عليه |
|---|---|
GET /v1/search | بحث كامل النصوص مع خيارات التصفية. وهي النقطة التي ستستخدمها في 95% من الأوقات. |
GET /v1/stats | إحصائيات مجمعة لأي قسم — حسب البلد، اللغة، الامتداد (TLD)، الناشر واليوم. |
GET /v1/article | مقال واحد بناءً على معرفه الدقيق URL، بما في ذلك نص المقال الكامل. |
GET /health | مؤشر الحيوية بالإضافة إلى العدد الحالي للمستندات. رخيص بما يكفي للاستعلام عنه بشكل متكرر. |
حول هذا النواة، توجد أربع عائلات إضافية، كل منها سيكون منتجاً خاصاً به في مكان آخر: الاتجاهات (تجميع القصص الحية حسب البلد)، الأسواق (سلاسل الأسعار الممحاذاة مع حجم التغطية)، مشاعر العملات المشفرة (كتلة بيتكوين ذات سبعة نقاط نهاية)، والتوزيع (نفس البحث يتم تقديمه كـ RSS، Atom أو JSON Feed). يتم تغطية جميعها أدناه.
curl "https://freenewsapi.ai/v1/search?q=climate+summit&size=2"{
"took_ms": 41,
"total": 1284,
"total_is_lower_bound": false,
"size": 2,
"offset": 0,
"results": [
{
"id": "9c1f8a4b2d3e5f6071829304a5b6c7d8",
"url": "https://example-news.com/world/climate-summit-opens",
"title": "Climate summit opens with a call for binding targets",
"description": "Delegates from 190 countries gathered on Monday ...",
"published_at": "2026-08-17T09:12:00Z",
"crawled_at": "2026-08-17T10:48:31Z",
"host": "example-news.com",
"sitename": "Example News",
"country": "GB",
"country_source": "cctld",
"lang": "en",
"tld": "com"
}
]
}ثلاثة حقول في هذا الاستحقاق تستحق اهتماماً فورياً، لأنها تشفر صدقية مجموعة البيانات بأكملها. يخبرك total_is_lower_bound متى بلغ عدد المطابقات سقفه البالغ 10,000 وتوقف عن العد. يخبرك country_source كيف تم تحديد البلد — لأنه في أي مجموعة بيانات إخبارية، يشكل استنتاج البلدان نسبة كبيرة من قيم البلد، وليست حقائق. وcrawled_at هو الطابع الزمني الموثوق: يقوم الناشرون عادةً بتأريخ published_at إلى الوراء، لكن وقت الزحف يُسند بواسطة خط الأنابيب ويتحرك للأمام فقط.
البحث: كل معلمة ذات أهمية
جميع المعاملات اختيارية. يؤدي الاستدعاء الأساسي إلى إرجاع أحدث المقالات في الفهرس.
الاستعلام
- q يتم مطابقته مع العنوان (وزن 3)، الوصف (وزن 2) ونص المقال. دلالات AND — يجب أن يكون كل مصطلح موجوداً، لذا فإن إضافة كلمة تضيق النتائج بدلاً من توسيعها. الحد الأقصى 500 حرف.
opec production cut يعمل. what did OPEC decide about oil لا يعيد أي شيء.المصفات
تتحد المصفات مع AND عبر المعاملات وOR ضمن معامل واحد. لذا فإن country=DE,AT&lang=de يُقرأ كـ "مقالات باللغة الألمانية من ألمانيا أو النمسا". يقبل كل منها قائمة مفصولة بفواصل من ما يصل إلى خمسين قيمة.
| مصف | التنسيق | ملاحظات |
|---|---|---|
country | رمز ISO 3166-1 alpha-2، بحروف كبيرة | دولة الناشر. مستنتج، غير مُصرّح به — انظر country_source و strict_country. |
lang | رمز ISO 639-1، بحروف صغيرة | يُكتشف من المستند نفسه. تغطية بنسبة 99.9%. |
tld | بدون نقطة | منطقة النطاق الخاصة بالناشر. tld=ua هو حقيقة؛ بينما country=UA هو استنتاج. |
host | أسماء النطاقات الدقيقة | كما تظهر في URL — أضف www. إذا كان الناشر يستخدمها. |
date | اليوم · الأمس · 24 ساعة · 48 ساعة · 7 أيام · 30 يومًا | فترة محددة مسبقاً، تُقيّم بناءً على published_at. |
from / to | تواريخ بتنسيق ISO | نافذة واضحة عندما لا تتناسب الإعدادات المسبقة. |
strict_country | true/false | احسب فقط المقالات التي يكون فيها البلد حقيقة ثابتة وليس استنتاجاً. |
التحكم في المخرجات
| المعلمة | القيم | التأثير |
|---|---|---|
sort | date · date_asc · crawled · crawled_asc · relevance | رتّب حسب crawled عند الاستعلام عن مقالات جديدة — تنشر الناشرات تواريخ النشر بأثر رجعي؛ بينما يتقدم وقت الزحف فقط إلى الأمام. |
size | 1–100 | النتائج المعروضة في كل صفحة. |
offset | 0–9900 | إزاحة التصفح. |
full_text | true/false | تضمين نص المقال. غير مفعّل افتراضيًا. |
highlight | true/false | إرجاع المقاطع المطابقة. |
fields | CSV | تقليص الاستجابة لتشمل فقط الحقول التي تستخدمها فعليًا. |
curl "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=date&size=10"curl "https://freenewsapi.ai/v1/search?q=merger&country=DE&date=48h&sort=date&size=20"العد قبل البحث
أقل نقاط النهاية استخدامًا في الخدمة هي /v1/stats. غالبًا ما يكون السؤال المفيد ليس «ما هي المقالات؟» بل «هل يوجد محتوى هنا من الأساس، وأين هو؟». يوفر العدّ إجابةً على هذا السؤال بتكلفة أقل بكثير — نحو مئتي رمز مقابل عدة آلاف لصفحة نتائج — ما يجعله الاستدعاء الأول الصحيح لأي وكيل يقرر ما إذا كان تشغيل البحث يستحق العناء.
curl "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"يُرجع العدّ حسب البلد، واللغة، ونطاق المستوى الأعلى (TLD)، والناشر، واليوم، محسوبة على المجموعة الكاملة المطابقة وليس الصفحة الحالية. وهو أيضًا الطريقة التي تقيس بها التغطية قبل أن تثق بالنتائج. لقطة غير مصفاة في وقت الكتابة:
أفضل الدول
| الدولة | المقالات |
|---|---|
| الهند | 2,286,014 |
| الولايات المتحدة | 2,180,797 |
| تركيا | 1,499,897 |
| روسيا | 1,436,556 |
| إيطاليا | 1,057,479 |
| الأرجنتين | 826,947 |
| إسبانيا | 812,347 |
| أوكرانيا | 662,041 |
| البرازيل | 551,013 |
| ألمانيا | 543,132 |
| فرنسا | 502,846 |
| اليونان | 460,372 |
| اليابان | 437,209 |
| فيتنام | 408,934 |
| المكسيك | 402,320 |
| كوريا الجنوبية | 362,945 |
| رومانيا | 354,229 |
| المملكة المتحدة | 334,379 |
| إيران | 291,782 |
| بولندا | 255,599 |
أبرز اللغات
الإنجليزية 5,513,650 · الإسبانية 2,699,457 · الروسية 1,785,796 · التركية 1,501,004 · الإيطالية 992,200 · الألمانية 733,677 · الفرنسية 689,136 · العربية 664,016 · البرتغالية 637,607 · الهندية 560,840 · اليونانية 466,504 · اليابانية 427,085 · الفيتنامية 385,719 · الرومانية 358,766 · الصينية 352,720 · الأوكرانية 345,809 · الكورية 335,079 · الفارسية 268,126 · البولندية 238,904 · البلغارية 183,204.
توزيع اللغات هذا يستحق التأمل لحظة، لأنه عكس ما تقدمه معظم منصات الأخبار API المعتادة. مجموعة البيانات الإنجليزية-أمريكية الأولى ليست ما نبحث عنه هنا: فالهند تتفوق على الولايات المتحدة، والتركية تتفوق على الألمانية، ولغات مثل اليونانية والفارسية والبلغارية والفيتنامية لها تمثيل بأرقام سداسية (أكثر من 100,000). إذا كان سؤالك يتعلق بصحافة غير إنجليزية، فهذا مجموعة بيانات مختلفة تماماً من حيث المحتوى.
الحجم
المنحنى اليومي في by_day يغطي كامل نافذة التسعين يوماً. الأيام الأخيرة تقع في نطاق يتراوح بين 400,000 و700,000 مقال يومياً؛ أما في بداية النافذة، قبل إضافة طبقة RSS بجانب استيراد الأرشيف، كان الحجم اليومي يتراوح بين 130,000 و230,000. كلا الرقمين واضحين في نفس الاستجابة، وهذا هو الهدف — الخدمة تعرض لك مسار نموها الفعلي بدلاً من الاستناد إلى متوسط تسويقي.
الاتجاهات: ما تغطيه الصحافة فعلياً الآن
البحث يجيب على سؤال "ماذا كُتب عن X". الاتجاهات تجيب على سؤال مختلف وأفضل غالباً: "ماذا يحدث" — دون الحاجة إلى تحديد X.
تقوم خوارزمية (روبوت) بتجميع المقالات إلى قصص حسب كل دولة وتحديثها باستمرار. كل خمس دقائق، تُلصق المقالات الجديدة بالقصص المعروفة من خلال الكلمات المفتاحية المحددة لها، دون أي استدعاء لنموذج ذكاء اصطناعي؛ وكل بضع ساعات، تمر كل دولة بمرحلة مراجعة شاملة حيث يقرأ نموذج لغوي العناوين ويعيد تسمية القصص من الصفر. في وقت كتابة هذا التقرير، تغطي طبقة الاتجاهات 115 دولة، ويتم إعادة حساب كل منها خلال الدقائق القليلة الماضية.
curl "https://freenewsapi.ai/v1/trends?country=US&window=24h&size=5"{
"window": "24h",
"filters": { "country": ["US"], "min_publishers": 1 },
"trends": [
{
"title": "Hurricane Marie threatens Labor Day weather",
"slug": "hurricane-marie-threatens-labor-day-weather",
"country": "US",
"category": "weather",
"articles": 57,
"publishers": 24,
"first_seen": "2026-09-05T19:24:36Z",
"latest": "2026-09-06T19:00:04Z",
"url": "https://freenewsapi.ai/trends/us/hurricane-marie-…",
"headlines": [ … ]
}
]
}تأتي كل قصة مع عددين لهما معنيان مختلفان. articles (المقالات) يشير إلى حدة التغطية؛ بينما publishers (الناشرون) يشير إلى اتساع التغطية. قصة تحتوي على 200 مقال من 4 جهات هي هوس غرفة أخبار واحدة. أما قصة تحتوي على 60 مقالاً من 40 جهة فهي حدث. الترتيب الافتراضي يكون حسب عدد الناشرين، ويمكنك ضبط المعيار الخاص بك باستخدام min_publishers / min_articles.
تُصنَّف كل قصة ضمن فئة ثابتة من بين: politics (سياسة)، business (أعمال)، markets (أسواق)، tech (تكنولوجيا)، sport (رياضة)، health (صحة)، science (علوم)، culture (ثقافة)، crime (جريمة)، conflict (صراع)، weather (طقس)، society (مجتمع).
النافذة الزمنية هي خيار القارئ، وليس خيار الخوارزمية
هذا قرار تصميمي أنيق حقاً. تُخزَّن كل مقالة مع وقت نشرها وتُربط بقصتها، لذا فإن أي نافذة زمنية — سواء كانت خمسة عشر دقيقة، أو ساعة، أو يوماً، أو تاريخاً محدداً من التقويم — هي مجرد استعلام نطاق (range query) على البيانات المخزَّنة نفسها. عملية حسابية واحدة تخدم جميع النوافذ في آن واحد. تعمل window=15m، وwindow=1h، وwindow=24h، وdate=2026-09-01، أو زوج since/until الصريح، جميعها على نفس الفهرس (index) دون الحاجة إلى إعادة حساب.
الكلمات المفتاحية: الكلمات التي تُبنى عليها الأخبار
curl "https://freenewsapi.ai/v1/trends/keywords?country=US&size=8"تعود كل كلمة مفتاحية مع عدد القصص المميزة التي تحملها، وعدد المقالات التي تحتويها تلك القصص، و—وهو الجانب الأكثر إثارة—عدد الصحف الوطنية التي تستخدمها. هذا الرقم الأخير هو الفارق بين حدث عالمي وحدث محلي. الكلمة التي تظهر في سبعين دولة هي قصة عالمية؛ والكلمة التي تهيمن على صحف دولة واحدة هي قصة محلية، بغضّ النظر عن حجم الضجيج الذي تثيره هناك.
الدول النشطة حالياً
curl "https://freenewsapi.ai/v1/trends/countries"يعيد قائمة كل دولة يتم تتبعها مع عدد قصصها الحية المباشرة وعدد الدقائق التي مضت على آخر إعادة حساب — فالدول مثل تركيا وروسيا وإيران واليونان والهند وإيطاليا وأوكرانيا ورومانيا والأرجنتين وألمانيا والبرازيل تحمل حالياً آلاف القصص الحية، ويتم إعادة حسابها خلال آخر عشر دقائق. كما أن المسار /v1/trends/{cc}/{slug} يفتح أي قصة مفردة مع قائمة مقالاتها الكاملة.
الأسواق مقابل التغطية: السعر على محور، والاهتمام على المحور الآخر
هذا هو أكثر شيء غير اعتياداً في الخدمة، وهو موجود لأن مجموعة البيانات (corpus) تجعل بنائه شبه مجاني. ضع سلسلة الأسعار بجانب حجم الكتابة العالمية عن ذلك الشيء في نفس الساعات، على خط زمني واحد.
curl "https://freenewsapi.ai/v1/markets"يتم تتبع أربعة عشر أداة (instrument)، عبر فئات أصول أربع:
| الفئة | الأدوات | الفترة الزمنية | المصدر |
|---|---|---|---|
| العملات المشفرة | بيتكوين، إيثيريوم، سولانا، إكس آر بي (XRP)، بي إن بي (BNB)، دوغيكوين | ساعة | Binance |
| المعادن | الذهب (USD/oz) | ساعة | Binance |
| الفوركس | EUR/USD, USD/JPY, USD/TRY, USD/INR, USD/BRL, USD/PLN | يوم | ECB |
| الطاقة | سعر الكهرباء الألماني (EUR/MWh) | ساعة | Energy-Charts |
curl "https://freenewsapi.ai/v1/markets/usd-try?window=30d"يكفي هذا الاتصال البسيط للحصول على سعر الليرة مقابل الدولار وحجم التغطية الصحفية التركية خلال الفترة نفسها، مُطابَقًا ساعة بساعة. وتُعدّ الصحافة التركية الشريحة الثالثة الأكبر في هذا المجموع، وهو بالضبط ما يجعل هذا الاقتران يُنتج نتائج ذات مغزى وليس ضوضاء عشوائية.
ومجموعة كاملة من مؤشرات مشاعر البيتكوين
تستحق بيتكوين عائلتها الخاصة المكونة من سبع نقاط نهاية، كونها الأداة الوحيدة التي يُجادل فيها باستمرار حول نبرة الأخبار وتحركات السعر، ونادراً ما يتم قياسها:
| نقطة النهاية | النتائج |
|---|---|
/v1/btc/summary | أحدث الأسعار، التحركات الأخيرة، ونبرة التغطية الإخبارية اليوم. |
/v1/btc/price | شموع BTC/USDT حسب الفاصل الزمني. |
/v1/btc/sentiment | نبرة الأخبار لكل فترة. |
/v1/btc/series | محاذاة السعر والنبرة على خط زمني واحد. |
/v1/btc/correlation | الارتباط بين نبرة الأخبار وتحرك السعر بفارق زمني — هل تسبق التغطية السعر، أم تتبعه؟ |
/v1/btc/news | مقالات عن العملات المشفرة مع تصنيف المشاعر الخاص بها، وقابلة للتصفية حسب التصنيف، المضيف، اللغة والاستعلام. |
/v1/btc/sources | أي وسائل الإعلام تغطي أخبار العملات الرقمية، وكيف يميل كل منها. |
تأتي تسميات المشاعر من نموذج لغوي يعمل على تحليل أحدث مقالات العملات الرقمية كل خمس دقائق، مقابل قائمة عملات معايرة. يُعد المسار /v1/btc/correlation مع معلمة max_shift هو الخيار الأمثل إذا أردت اختبار ادعاء "الأخبار تسبب الحركة" بدلاً من تكراره.
نفس البحث، كخيار نشر
تأخذ ثلاث نقاط نهاية إضافية معايير البحث نفسها وتعرض النتائج بتنسيقات نشر بدلاً من JSON:
GET /v1/rss— RSS 2.0GET /v1/atom— Atom 1.0GET /v1/feed.json— JSON Feed 1.1
https://freenewsapi.ai/v1/rss?q=semiconductor+export+controls&lang=en&date=7d&sort=dateوهذا يعني أن أي بحث محفوظ يصبح خيار نشر يمكنك لصقه في قارئ، أو عقدة n8n، أو تكامل Slack، أو محفز Zapier، أو مولد مواقع ثابتة — بدون كود وبدون مفتاح. إنها ميزة صغيرة تزيل طبقة تكامل كاملة بصمت للمستخدمين غير المبرمجين.
MCP: ثمانية وعشرون أداة، طبقتان
يعيش خادم MCP في عنوان URL واحد، ويتكلم بـ HTTP القابل للنشر (JSON-RPC 2.0 عبر POST، إصدار البروتوكول 2025-06-18)، ويدعم الدفعات، و—مثل كل شيء آخر هنا—لا يتطلب خطوة مصادقة ولا معرف جلسة.
claude mcp add --transport http freenewsapi https://freenewsapi.ai/mcpيُعرّض 28 أداة في طبقتين متعمدتين.
الطبقة الأولى: ست اختصارات تجيب على سؤال كامل في استدعاء واحد
| الأداة | لأجل |
|---|---|
search_news | "ماذا كُتب عن X" — بحث في النص الكامل، مع نتائج مختصرة. |
get_trends | "ما الذي يحدث" — قصص مُجمَّعة بدلاً من قائمة بالمقالات. |
trend_keywords | الكلمات التي تُبنى عليها الأخبار حالياً، مع عددها وأين تنتشر جغرافياً. |
find_publishers | البحث عن وسائل الإعلام: الاسم، النطاق، البلد، اللغة، وعدد المقالات يومياً. |
list_countries | أي البلدان تحتوي على قصص حية، كم عددها، وكم هي حداثة. |
market_vs_news | سلسلة أسعار بجانب حجم التغطية. استدعِ الدالة بدون أداة لمعرفة ما هو متاح. |
الطبقة الثانية: كل نقطة نهاية، مُولَّدة من الخدمة نفسها
تحت الاختصارات، تُكشف كل نقطة نهاية خام كأداة مستقلة تحتوي على كل المعاملات التي يقبلها الـ API — news_get_search، news_get_stats، news_get_article، news_get_trends، news_get_trends_keywords، news_get_markets_slug، عائلة news_get_btc_* كاملة، ومُصيِّرات التغذية (feed renderers)، وnews_get_health. هذه مُولَّدة من الخدمة الحية، لذا لا يمكن أن تنحرف عن ما يقبله الـ API فعلياً.
أداتان ميتاتان تُغلق الحلقة: تُعيد news_list_endpoints فهرس كل ما هو موجود، بينما يُنفِّذ news_get طلب GET خام على أي مسار — لذا يمكن للوكيل الذي يواجه نقطة نهاية غير مغطاة في قائمة أدواته الوصول إليها.
curl "https://freenewsapi.ai/mcp?format=json"طلب GET واحد، بدون مصافحة، وستحصل على فهرس كامل قابل للقراءة الآلية: الخادم، بروتوكول النقل، البروتوكول، عدد الأدوات، كل أداة مع وصفها، وكل نقطة نهاية مع قائمة معاملاتها.
مُصمَّمة لتكون مقروءة بواسطة الآلات
الوثائق ليست فكرة لاحقة مُلصقة على الـ API — بل هي ناتج أساسي منها. الموقع يُصدّر 665 صفحة ثابتة، وتوجد بعضها خصيصاً لضمان عدم حاجة النموذج لقراءة HTML:
- /openapi.json مخطط OpenAPI الكامل.
- /llms.txt ملف توجيهي موجز — يوضح طبيعة الخدمة، نقاط النهاية (Endpoints)، كيفية إجراء الاستعلامات بشكل جيد، وأخطاء API.
- /llms-full.txt الوثائق الكاملة في ملف نصي واحد، يتجاوز حجمه مئة كيلوبايت، مما يتيح للوكيل الذكي استيعاب الدليل بأكمله في عملية جلب واحدة.
- /agents ثلاثون وتسعون صفحة موجهة خصيصًا لمطوري الوكلاء: تتضمن تعريفات وظائف OpenAI الجاهزة، تعريفات استخدام الأدوات الخاصة بـ Anthropic، أوامر النظام لاسترجاع الأخبار، وصفات RAG، جداول تكلفة الرموز المميزة (Tokens)، ووصفات الوكلاء.
- /agents/models أكواد استدعاء الأدوات لكل عائلة نماذج — Qwen، DeepSeek، MiniMax، Kimi، GLM، Doubao، Hunyuan، ERNIE، Yi، Step، GPT، Claude، Gemini، Grok، Mistral، Llama، Command، Nova، Phi، Jamba، Sonar، OpenRouter، Ollama، vLLM.
- /data محتوى المجموعة البياناتية، المنهجية المستخدمة، مخطط الفهرسة، وصفحة بعنوان جودة البيانات توثّق الأخطاء التي قد تحتوي عليها المجموعة.
- /sources كتالوج قابل للتصفح يضم 11,668 ناشرًا، يمكن تصفيته حسب الدولة، اللغة ومنطقة النطاق.
- /compare صفحات مقارنة جنبًا إلى جنب مع NewsAPI.org، GNews.io، NewsData.io، Mediastack، Currents، TheNewsAPI، NewsCatcher، WorldNewsAPI، Perigon، APITube و FreeNewsAPI.io.
إضافة إلى 168 صفحة للبلدان، و121 صفحة للغات، و275 صفحة لامتدادات النطاقات (TLDs) — كل شريحة من مجموعة البيانات لها سطح تصفح خاص بها، يعرض ما تحتويه فعلياً.
مصدر المقالات
مساران للاستيعاب يغذيان نفس الفهرس، والفرق بينهما مهم.
مسار الأرشيف
كل عشر دقائق، يتحقق مهمة مجدولة من أرشيف CC-NEWS الخاص بـ Common Crawl بحثاً عن ملفات WARC جديدة، وتعالج أي محتوى لم تره من قبل، باستخدام أربعين عاملاً متوازياً. يستخرج المستخرج كل مقال من بيانات الزحف الخام باستخدام تسلسل هرمي موثق لكل حقل — وقد تم قياس التسلسلات الهرمية مقابل بيانات حقيقية بدلاً من افتراضها:
| الحقل | التسلسل الهرمي | التغطية |
|---|---|---|
| الوصف | JSON-LD → meta → OpenGraph → بطاقة Twitter → articleBody → الفقرة الافتتاحية | 98.1% |
| اللغة | <html lang> → JSON-LD inLanguage → og:locale | 99.9% |
| البلد | ccTLD → JSON-LD addressCountry → لغة-منطقة → og:locale | 79.1% |
| التاريخ | JSON-LD datePublished → meta → trafilatura → وقت الزحف | 100% |
هذه النسبة الخاصة بالدولة هي الأكثر صدقاً، ولهذا السبب يتم تعريض country_source في كل مقال: فحوالي خُمس السجلات لا تحتوي على إشارة موثوقة للدولة على الإطلاق، وحوالي ثلث القيم الموجودة هي استنتاجات وليست حقائق. يخبرك API بكيفية التمييز بين الحالتين بدلاً من التظاهر.
المسار المباشر
يتمكّن روبوت ثانٍ من استعلام مصادر RSS الخاصة بالنشر كل خمس دقائق، ضمن دورة تتضمن طلبات مشروطة — حيث يكلف استعلام المصدر الذي يعود بـ 304 Not Modified كلفة ضئيلة جداً، ويتم ضبط فترة الاستعلام لكل مصدر وفقاً لتكرار نشره فعلياً. فلا يتم إغراق منشور ينشر خمس مقالات يومياً باستعلامات كل خمس عشرة دقيقة.
كما أنه يأخذ فقط ما وضعه الناشر في المصدر: العنوان، المقدمة، والنص الكامل إذا كان المصدر يحتوي عليه. لا يتنقل إلى موقع الناشر لجلب المزيد. هذا حد متعمد، وهو السبب الذي يجعل الخدمة قادرة على الوعود التي تقدمها في صفحة شروطها القانونية الموجهة للناشرين.
والآليات المحيطة بهما
حول مسارَي الاستيعاد هذين، توجد عشرات الروبوتات الأخرى العاملة وفق جداول زمنية: اكتشاف المصادر ومزامنتها، حل مشكلة تحديد الدولة لكل نطاق، بناء الاتجاهات ومراجعتها، تعبئة الكلمات المفتاحية، تحليل المشاعر في العملات المشفرة، سحب بيانات السوق، فهرسة التصنيفات، الاحتفاظ (يُنفذ نافذة التسعين يوماً عبر استعلام ليلي على published_at وليس عبر عمر الفهرس)، التحقق من التاريخ، إعادة فحص المقالات الفارغة، وحارس الصحة الذي يعيد تشغيل أي شيء توقف. توجد مجموعة البيانات على عناقيد Elasticsearch مخصصة.
ما يغفل عنه هذا المجموعة من البيانات
تُعلن الخدمة عن قيودها الخاصة، وهي أسرع طريقة لتقييم ما إذا كانت تناسب مشكلتك.
- الدولة مستنتجة اطّلع على
country_sourceفي كل مقال، وأضفstrict_country=trueعندما تقوم بالعد حسب الدولة بدلاً من التصفح. - تاريخ النشر مقدم من الناشر تأريخ المقالات في الماضي أمر شائع. رتّب النتائج حسب
crawledعندما تقوم باستعلام ما هو جديد. - العدد الإجمالي محدود بـ 10,000 من أجل السرعة. يخبرك
total_is_lower_boundعندما تصل إلى الحد الأقصى. - لا يوجد استخراج للمشاعر أو الكيانات خارج كتلة البيتكوين، لا تحمل المقالات درجة للمشاعر ولا كيانات مسماة. هذا ليس ضمن النطاق.
- تسعة أيام فقط، وليس أكثر لا يوجد أرشيف أعمق. إذا كنت بحاجة إلى بيانات عام 2019، فهذه الأداة ليست الخيار المناسب.
- لا يوجد ضمان لمستوى الخدمة (SLA) الأداة مجانية. كما أنها تخضع للمراقبة والحماية، لكن لا يوجد أي التزام مكتوب.
- النصوص ملك للنُشّار تشمل كل استجابة النص الأصلي URL، ويُتوقع من المستخدمين أن يربطوا به.
الاستخدام الأمثل: التكلفة، التصفح (Paging) والأخطاء
ضبط استخدام الرمز المميز (Token)
بالنسبة للوكيل البرمجي (Agent)، يُعد حجم الاستجابة هو التكلفة الحقيقية. الشكل الموثق لذلك:
| المكالمة | التكلفة التقريبية بالرموز المميزة (Tokens) | متى |
|---|---|---|
/v1/stats | ~200 | أولاً: قرر ما إذا كانت عملية البحث تستحق التنفيذ من الأساس. |
/v1/search للمعطيات (Metadata) فقط | بضع آلاف لكل صفحة | المسح والاختيار. |
/v1/search?full_text=true | ~900 لكل مقال | فقط للأقلية القليلة التي اخترتها فعليًا. |
عشرون مقالًا مع full_text=true تمثل حوالي 40,000 رمز. النمط الموصى به دائمًا هو نفسه: العد، ثم المسح، ثم جلب النصوص الكاملة للأقلية التي تحتاجها.
التصفح ما بعد الحد الأقصى
offset يتوقف عند 9,900. للتنقل عبر مجموعة كبيرة، لا تُقاوم الحد الأقصى — بل قسّم حسب الوقت بدلًا من ذلك. كرر العملية يومًا بيوم، أو ساعة بساعة في حالة الاستعلامات المزدحمة، باستخدام from/to وsort=date. تحتوي الوثائق على صفحة مخصصة للتنقل عبر يوم كامل.
الأخطاء
العقد صريح وسهل البرمجة ضده: تعني 4xx أن الطلب خاطئ — أصلحه ولا تعيد المحاولة. تعني 5xx أن الخدمة معطلة — تراجع. تعني 429 إبطاء المعدل وإعادة المحاولة. تُتجاهل معلمات الاستعلام غير المعروفة بدلاً من رفضها، لذا فإن إضافة حقل لا يمكن أن يكسر أي متصل قائم.
عرّف عن نفسك (اختياري، واختياري حقًا)
بدون مفتاح، لا توجد طريقة للوصول إلى المتصل. مجاملة مقترحة هي رأس يحدد وكيلك، الإطار الذي يعمل من خلاله، والنموذج الذي يقوده:
X-Agent: agent_name=<agent>; software=<langchain|llamaindex|n8n|claude-desktop|cursor|openai-assistants|crewai|custom>; model=<model>; version=<v>; purpose=<rag|monitoring|research|digest>; contact=<url or mailto>
User-Agent: <agent>/<version> (+<contact url>)نفس القيم تعمل كمعلمات استعلام عادية، وهو ما يكون أسهل عادةً:
https://freenewsapi.ai/v1/search?q=climate&agent_name=newsbot&software=langchain&model=gpt-4oالمفاتيح غير المعروفة تُتجاهل، لذا فإن إرسال مفاتيح إضافية آمن دائمًا. لا يتم التحقق من صحة أي شيء، ولا يتم تقييد المعدل بسبب عدم إرساله، والتعليمة الوحيدة ثابتة: لا تضع أبدًا بيانات المستخدمين الشخصية في هذه الحقول.
مواجهة أخبار Paid News APIs
تغطي صفحات المقارنة في الموقع أحد عشر منافسًا بشكل فردي. الفروق الهيكلية التي تبقى في جميعها:
100 طلب في اليوم، مع تأخير لمدة 24 ساعة
الشكل القياسي لطبقة أخبار مجانية من API: دلو رمزي ضيق بما يكفي ليكون نسخة تجريبية، مع احتفاظ المقالات الجديدة في الانتظار لعملاء الاشتراك.
- مفتاح مطلوب
- حد يومي
- مقالات مؤجلة
- للاستخدام غير التجاري فقط
بدون حد، بدون تأخير، بدون مفتاح
20 طلباً في الثانية لكل عنوان IP هو الحد الوحيد. عادةً ما يكون عمر أحدث مقال أقل من دقيقتين، ويُسمح بالاستخدام التجاري.
- بدون مفتاح، بدون تسجيل
- بدون حد يومي أو شهري
- تحديث مستمر
- يُسمح بالاستخدام التجاري
الأولوية للإنجليزية والولايات المتحدة
تُبنى معظم مجموعات البيانات من قائمة منشورات باللغة الإنجليزية، مع إضافة بقية العالم.
- هيمنة اللغة الإنجليزية
- تغطية رقيقة للغات غير اللاتينية
الهند > الولايات المتحدة، التركية > الألمانية
حوالي 100 لغة بحجم بيانات سداسي الأرقام في اليونانية، الفيتنامية، الفارسية، الأوكرانية والبلغارية.
- 100 دولة
- ~100 لغة
- 11,668 مصدرًا مدرجًا في الكتالوج
ما تقدمه الخدمات المدفوعة حاليًا ولا تقدمه هذه الأداة: درجات المشاعر واستخراج الكيانات كحقول قياسية، وأرشيفات تعود لسنوات، وعقد يضمن مستوى خدمة (SLA). هذه ميزات حقيقية، وإذا كنت بحاجة إليها، فيجب عليك شراؤها.
وصفات
مراقب مباشر للدول
curl "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=crawled&size=50"هل هذه القصة عالمية أم محلية؟
curl "https://freenewsapi.ai/v1/trends/keywords?size=30"
# read `countries` on each keyword: 1 country = domestic, 70 = world eventتأسيس نموذج على التغطية الحالية، بتكلفة منخفضة
# 1. count first
curl "https://freenewsapi.ai/v1/stats?q=semiconductor+export+controls&date=7d"
# 2. scan metadata
curl "https://freenewsapi.ai/v1/search?q=semiconductor+export+controls&date=7d&lang=en&size=20&sort=relevance"
# 3. fetch bodies for the three you picked
curl "https://freenewsapi.ai/v1/article?url=<exact-url>&full_text=true"هل تتصدر التغطية السعر؟
curl "https://freenewsapi.ai/v1/btc/correlation?interval=hour&max_shift=12"تحويل بحث محفوظ إلى تغذية (Feed)
https://freenewsapi.ai/v1/rss?q=central+bank+rate&lang=en&date=24h&sort=date&size=50اكتشف وسائل الإعلام ذات الأهمية في السوق
curl "https://freenewsapi.ai/v1/stats?country=BR&date=30d&top=50"
# the `hosts` block is a ranked publisher list for that sliceالنسخة المختصرة
تقدم Free News API بحثاً نصياً كاملاً عبر أكثر من 21.5 مليون مقال إخباري من أكثر من 25,000 ناشر في 100 دولة وحوالي 100 لغة، ضمن نافذة زمنية متحركة تمتد تسعين يوماً، مع تحديث مستمر، وبدون مفتاح API، أو تسجيل حساب، أو حد استهلاك يتجاوز حد معدل الطلبات لكل عنوان IP. بالإضافة إلى البحث، تتوفر تجميعات أخبار حية حسب الدولة عبر 115 دولة، وتحليل للكلمات المفتاحية يميز بين الأحداث العالمية والمحلية، وأدوات سوقية أربعة عشر تُعرض مقابل حجم التغطية، وكتلة مشاعر البيتكوين المكونة من سبعة نقاط نهاية، وخدمات توزيع RSS/Atom/JSON لأي استعلام، وخادم MCP مكون من 28 أداة تم إنشاؤه من الخدمة نفسها.
توثّق معدلات الأخطاء الخاصة بها، وتكشف كيفية اشتقاق كل قيمة دولة، وتنشر صفحة توضح الأخطاء المحتملة في البيانات. بالنسبة إلى وكيل ذكي يحتاج إلى معرفة ما يُقال في العالم — باللغة التركية، أو اليونانية، أو الهندية، في الوقت الفعلي — فإن هذا المزيج من الميزات يصعب العثور عليه بأي سعر، وهذا المنتج مجاني.
يعمل البحث باستخدام عملية AND عبر جميع المصطلحات. استخدم 2–5 كلمات مفتاحية، وليس سؤالاً بصيغة اللغة الطبيعية.
Free News API، حول كيفية إجراء الاستعلامات بشكل جيد
ابدأ من هنا: freenewsapi.ai · MCP على freenewsapi.ai/mcp · الدليل الكامل كملف واحد في /llms-full.txt.