DaallIndex
daall.sa ↗ English طلب الوصول
Daall Index · API

API

واجهة البيانات

ملفات JSON ثابتة تحت /api/v1/ مع نسخ CSV مقابلة تحت /data/csv/؛ ويسردها جميعاً الملف /api/v1/catalog.json. لا مفتاح ولا حصّة استخدام ولا تسجيل. تحوي الملفات المجاميع المعروضة على هذا الموقع، وتُولَّد من جديد عند تحديث الموقع، شهرياً على الأقلّ. الاستخدام مجاني بشرط الإسناد "المصدر: Daall Index (index.daall.sa)".

GETJSON · CSVCORS مفتوحدون مصادقةالإصدار v1

الاستخدام

طلب GET واحد لكل ملف · الملفات نفسها التي يعرضها الموقع

كل نقطة وصول ملف. اطلبه بأي عميل HTTP؛ لا توجد سلسلة استعلام ولا تقسيم إلى صفحات ولا مفتاح. تأتي الاستجابات بصيغة application/json مع Access-Control-Allow-Origin: *، فتستطيع صفحة متصفّح على نطاق آخر قراءتها مباشرة.

ابدأ بالملف catalog.json: يسرد كل ملف مع تاريخ asof الخاص به، فيعرف العميل إن تغيّر شيء قبل جلب بقية الملفات. تُخزَّن الملفات مؤقتاً يوماً واحداً على الحافة، ويستبدلها تحديث الموقع في مكانها تحت المسارات نفسها.

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

curl -s https://index.daall.sa/api/v1/series/DGI.json | head -c 600
{
  "symbol": "DAALL:DGI",
  "name": "Daall Saudi Government Demand Index",
  "unit": "index points, 2023 average = 100",
  "frequency": "daily",
  "from": "2023-01-01",
  "asof": "2026-09-30",
  "methodology_version": "0.1",
  "preliminary_from": "2026-08-17",
  "base_sar_bn": 95.18,
  "cap": {"share": 0.1, "awards_capped": 0, "removed_sar_bn": 0},
  "points": [
    {"date": "2023-01-01", "level": 88.1, "trailing_sar_bn": 83.8, "awarded_sar_m": 12.4},
    …

مقتطف من الاستجابة. قيم الحقول توضيحية للبنية فقط؛ والمرجع هو الملف الحيّ.

نقاط الوصول

الملفات الأساسية · يسرد catalog.json كل نقاط الوصول
المسارالمحتوىالتواترالتاريخ المتاحنسخة CSV
/api/v1/catalog.jsonكل ملف، وتاريخ asof الخاص به، والترخيص والإسنادمع كل تحديث——
/api/v1/series/DGI.jsonمستوى DGI، وقيمة الترسيات لآخر 12 شهراً، وقيمة الترسيات اليوميةنقاط يوميةمنذ 1 يناير 2023dgi.csv
/api/v1/series/{CODE}.jsonالسلاسل القطاعية؛ CODE أحد الرموز CAPG وCPS وSOFT وCONS وTRAN وUTIL وTELE وHLTHنقاط شهريةمنذ ديسمبر 2022sectors.csv
/api/v1/listed.jsonقيمة الترسيات لكل شركة مدرجة في تداول ونمو، مع المعرّفاتمع كل تحديثكما هو مذكور في الملف (سنة 2025 الميلادية عند النشر)listed.csv
/api/v1/backlog.jsonالإيرادات الحكومية المتوقّعة لكل شركة مدرجة وربع، إلى جانب الإيرادات المُعلنةنقاط ربعيةكما هو مذكور في الملفbacklog.csv
/api/v1/research.jsonالمذكّرات البحثية: النتائج مع درجاتها، والآثار، والمصادر، والتحقّقمع كل تحديثكل المذكّرات—
/api/v1/evidence.jsonالاختبارات المسجَّلة مسبقاً للمؤشرات ونتائجهامع كل تحديثكل الاختبارات—

كل المسارات نسبية إلى https://index.daall.sa. تتبع رموز القطاعات مجموعات الصناعة في تداول المذكورة في المنهجية.

catalog.json

فهرس الواجهة
الحقلالنوعالمعنى
versionstringإصدار الواجهة، "v1"
generateddateيوم توليد الملفات، YYYY-MM-DD
asofdateأحدث تاريخ بيانات عبر الملفات
refreshstring"With the site, at least monthly" (مع الموقع، شهرياً على الأقلّ)
licencestring"Free with attribution" (مجاني بشرط الإسناد)
attributionstringسطر الإسناد الواجب استخدامه
endpoints[]arrayمدخل واحد لكل ملف
endpoints[].idstringمعرّف قصير: DGI وCAPG وlisted وbacklog وresearch وevidence
endpoints[].pathstringمسار ملف JSON
endpoints[].csvstring | nullمسار نسخة CSV المقابلة، إن وُجدت
endpoints[].titlestringاسم السلسلة أو الجدول
endpoints[].frequencystringdaily أو monthly أو quarterly أو refresh
endpoints[].fromdate | nullأول تاريخ بيانات
endpoints[].asofdateأحدث تاريخ بيانات في ذلك الملف
curl -s https://index.daall.sa/api/v1/catalog.json
{
  "version": "v1",
  "generated": "2026-10-29",
  "asof": "2026-09-30",
  "refresh": "With the site, at least monthly",
  "licence": "Free with attribution",
  "attribution": "Source: Daall Index (index.daall.sa)",
  "endpoints": [
    {"id": "DGI", "path": "/api/v1/series/DGI.json", "csv": "/data/csv/dgi.csv",
     "title": "Daall Saudi Government Demand Index", "frequency": "daily",
     "from": "2023-01-01", "asof": "2026-09-30"},
    {"id": "CAPG", "path": "/api/v1/series/CAPG.json", "csv": "/data/csv/sectors.csv",
     "title": "Capital Goods", "frequency": "monthly", "from": "2022-12-31", "asof": "2026-09-30"},
    …
  ]
}

series/DGI.json

يومي · من 1 يناير 2023 حتى asof · نقاط المؤشر والريال
الحقلالنوعالمعنى
symbolstring"DAALL:DGI"
namestringاسم المؤشر
unitstringوحدة المستوى: نقاط المؤشر، متوسط 2023 = 100
frequencystring"daily"
from · asofdateأول نقطة وأحدث نقطة
methodology_versionstringإصدار المنهجية الذي بُنيت به السلسلة، انظر المنهجية §9
preliminary_fromdateالنقاط في هذا التاريخ أو بعده مؤقّتة (آخر 45 يوماً)
base_sar_bnnumberمتوسط 2023 للمجموع المتحرّك، بالمليار ريال؛ النقطة الواحدة = الأساس ÷ 100
cap.sharenumberسقف الترسية الواحدة كنسبة من الأشهر الـ12 السابقة، 0.1
cap.awards_cappedintegerعدد الترسيات التي طالها سقف DGI في asof (0 في 30 سبتمبر 2026)
cap.removed_sar_bnnumberالقيمة التي أزالها السقف في asof، بالمليار ريال
points[].datedateتاريخ الترسية الذي تُؤرَّخ به النقطة
points[].levelnumberمستوى المؤشر، بمنزلتين عشريتين
points[].trailing_sar_bnnumberقيمة الترسيات بعد السقف للأيام الـ365 حتى التاريخ، بالمليار ريال، شاملة ضريبة القيمة المضافة
points[].awarded_sar_mnumber | nullالقيمة المُرسّاة في ذلك اليوم، بالمليون ريال، قبل السقف
curl -s https://index.daall.sa/api/v1/series/DGI.json \
  | python3 -c "import json,sys; d=json.load(sys.stdin); p=d['points'][-1]; print(p['date'], p['level'])"
2026-09-30 85.09

المستويات خلال 45 يوماً من asof مؤقّتة، وترتفع مع وصول الترسيات المتأخرة؛ انظر سياسة المراجعات.

series/{CODE}.json

شهري · من ديسمبر 2022 حتى asof · بالمليار ريال بعد السقف
الحقلالنوعالمعنى
symbolstring"DGI.CAPG" وهكذا
codestringCAPG أو CPS أو SOFT أو CONS أو TRAN أو UTIL أو TELE أو HLTH
namestringمجموعة الصناعة في تداول
unitstring"SAR bn, trailing 12 months, after cap" (مليار ريال، آخر 12 شهراً، بعد السقف)
frequencystring"monthly"
from · asofdateأول نهاية شهر وأحدثها
methodology_versionstringإصدار المنهجية الذي بُنيت به السلسلة
mappingstring"draft" ما دام ربط اعتماد بتداول مسوّدة
points[].datedateنهاية الشهر، YYYY-MM-DD
points[].value_sar_bnnumberقيمة ترسيات الأشهر الـ12 السابقة المربوطة بالقطاع، بعد السقف القطاعي
points[].rebasednumberالقيمة ÷ متوسط القطاع في 2023 × 100، للمقارنة فقط
for c in CAPG CPS SOFT CONS TRAN UTIL TELE HLTH; do
  curl -s "https://index.daall.sa/api/v1/series/$c.json" -o "$c.json"
done
{
  "symbol": "DGI.HLTH",
  "code": "HLTH",
  "name": "Health Care Equipment & Services",
  "unit": "SAR bn, trailing 12 months, after cap",
  "frequency": "monthly",
  "from": "2022-12-31",
  "asof": "2026-09-30",
  "methodology_version": "0.1",
  "mapping": "draft",
  "points": [
    {"date": "2022-12-31", "value_sar_bn": 1.37, "rebased": 95.1},
    …

listed.json

قيمة الترسيات لكل شركة مدرجة · الجدول المعروض في صفحة انكشاف الشركات المدرجة
الحقلالنوعالمعنى
yearintegerالسنة الميلادية للنافذة، حسب تاريخ الترسية
asofdateأحدث تاريخ ترسية مقروء
total_sar_mnumberالقيمة التي فازت بها كل الشركات المطابَقة، بالمليون ريال، شاملة ضريبة القيمة المضافة
issuers_nintegerعدد الشركات المدرجة الحاصلة على ترسية واحدة على الأقلّ
share_of_all_awards_pctnumberحصّة الشركات المدرجة من إجمالي قيمة الترسيات في النافذة، بالمئة
issuers[].tickerstringالرمز في تداول من أربعة أرقام
issuers[].name · name_arstringالاسم المسجّل، بالإنجليزية والعربية
issuers[].marketstring"TADAWUL" (السوق الرئيسية) أو "NOMU"
issuers[].isinstringISIN
issuers[].value_sar_mnumberقيمة الترسيات في النافذة، بالمليون ريال؛ 0 حيث لا تُنشر قيمة
issuers[].awardsintegerعدد الترسيات في النافذة
issuers[].share_of_listednumberالحصّة من total_sar_m، بالمئة
curl -s https://index.daall.sa/api/v1/listed.json
{
  "year": 2025,
  "asof": "2026-09-30",
  "total_sar_m": 8491.5,
  "issuers_n": 78,
  "share_of_all_awards_pct": 8.7,
  "issuers": [
    {"ticker": "8010", "name": "The Company for Cooperative Insurance",
     "name_ar": "الشركة التعاونية للتأمين", "market": "TADAWUL", "isin": "SA000A0DPSH3",
     "value_sar_m": 1951.5, "awards": 7, "share_of_listed": 22.98},
    …

المطابقة بالاسم المسجّل؛ لا تُدمج الشركات التابعة، لذا فرقم الشركة المدرجة حدٌّ أدنى. الطريقة والدقّة المقيسة: المنهجية §6.

backlog.json

الإيرادات الحكومية المتوقّعة لكل شركة مدرجة وربع · الجدول المعروض في صفحة الأعمال المتعاقد عليها
الحقلالنوعالمعنى
asofdateأحدث تاريخ ترسية مقروء
methodstringطريقة توزيع الترسيات على الأرباع، في فقرة واحدة
issuers[].tickerstringالرمز في تداول من أربعة أرقام
issuers[].name · name_arstringالاسم المسجّل، بالإنجليزية والعربية
issuers[].gov_share_ttmnumber | nullالإيرادات الحكومية المتوقّعة لآخر 4 أرباع مُعلنة ÷ الإيرادات المُعلنة لتلك الأرباع؛ null حيث لا تُعلن الإيرادات
issuers[].quarters[].qstringالربع، "2024Q1"
issuers[].quarters[].expected_gov_rev_sar_mnumberقيمة الترسيات الموزّعة على الربع، بالمليون ريال، دون ضريبة القيمة المضافة (قيمة اعتماد ÷ 1.15)، للمقارنة بالإيرادات المُعلنة
issuers[].quarters[].reported_rev_sar_mnumber | nullالإيرادات التي أعلنتها الشركة المدرجة للربع، بالمليون ريال؛ null حيث لم تُعلن بعد
curl -s https://index.daall.sa/api/v1/backlog.json \
  | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['asof'], len(d['issuers']), 'issuers')"
{
  "asof": "2026-09-30",
  "method": "Each award is spread evenly over the quarters of its stated term …",
  "issuers": [
    {"ticker": "7200", "name": "Al Moammar Information Systems Co.",
     "name_ar": "شركة المعمر لأنظمة المعلومات", "gov_share_ttm": 0.42,
     "quarters": [
       {"q": "2024Q1", "expected_gov_rev_sar_m": 118.0, "reported_rev_sar_m": 322.5},
       …
       {"q": "2027Q2", "expected_gov_rev_sar_m": 96.0, "reported_rev_sar_m": null}
     ]},
    …

الإيرادات الحكومية المتوقّعة توزيعٌ لقيمة الترسيات، لا توقّعٌ لما ستُعلنه الشركة المدرجة. والإيرادات المُعلنة هي إجمالي الشركة من كل العملاء.

research.json

المذكّرات المنشورة في صفحة الأبحاث
الحقلالنوعالمعنى
asofdateتاريخ التوليد
notes[].idstringالمعرّف النصي؛ وهو مرساة المذكّرة في صفحة الأبحاث
notes[].title · summarystringالعنوان وملخّص من 3–4 جمل
notes[].datedateتاريخ النشر
notes[].verified_ondate | nullتاريخ مطابقة النتائج مع مصادرها؛ null إن لم يتمّ بعد
notes[].findings[].textstringادّعاء واحد مع ذكر رقمه أو مصدره
notes[].findings[].gradestringA: محكَّم أو إحصاءات رسمية · B: ورقة عمل أو وثيقة رسمية · C: أخبار أو قطاع أو مزوّد
notes[].findings[].statusstring"verified" أو "corrected"
notes[].implications[]stringما يفعله Daall Index أو يقيسه نتيجةً لذلك
notes[].sources[]objecttitle وurl وtype وgrade
notes[].verificationobjectchecked وcorrected وremoved: أعداد صحيحة
curl -s https://index.daall.sa/api/v1/research.json
{
  "asof": "2026-10-30",
  "notes": [
    {"id": "procurement-leading-indicator",
     "title": "Contract-award data as a leading indicator …",
     "date": "2026-10-29", "verified_on": "2026-10-30",
     "findings": [
       {"text": "Ramey (NBER WP 15464): …", "grade": "B", "status": "verified"},
       …
     ],
     "implications": ["…"],
     "sources": [{"title": "…", "url": "https://…", "type": "working paper", "grade": "B"}],
     "verification": {"checked": 8, "corrected": 1, "removed": 0}},
    …

evidence.json

الاختبارات المنشورة في صفحة الأدلّة
الحقلالنوعالمعنى
asofdateأحدث تاريخ بيانات مستخدَم في النتائج
registereddateتاريخ تسجيل الاختبارات ومعاييرها، قبل حساب النتائج
notestringملاحظة البروتوكول
tests[].id · titlestringالمعرّف القصير والعنوان
tests[].questionstringالسؤال الذي يطرحه الاختبار
tests[].targetstringسلسلة دال المختبَرة
tests[].datastringالبيانات المستقلّة التي تُختبر السلسلة مقابلها
tests[].horizonstringالنافذة أو التقدّم/التأخّر المختبَر
tests[].criterionstringعتبة النجاح، المحدّدة عند التسجيل
tests[].result.metric · value · nstring · number · integerالإحصاءة، وقيمتها، وعدد المشاهدات
tests[].result.verdictstring"pass" أو "fail" أو "inconclusive"
tests[].detailstringما أُجري وما أظهره
tests[].tableobject | nullcols: string[] · rows: any[][]
curl -s https://index.daall.sa/api/v1/evidence.json \
  | python3 -c "import json,sys; [print(t['id'], t['result']['verdict']) for t in json.load(sys.stdin)['tests']]"
dgi-mof-goods-services pass
sector-hlth-issuer-revenue fail
…

نسخ CSV

/data/csv/ · UTF-8 · صف عناوين · مفصولة بفواصل · تواريخ ISO
الملفالأعمدةصف واحد لكل
/data/csv/dgi.csvdate, level, trailing_sar_bn, awarded_sar_mيوم، منذ 2023-01-01
/data/csv/sectors.csvdate, code, name, value_sar_bn, rebasedقطاع ونهاية شهر؛ 8 قطاعات في ملف واحد
/data/csv/listed.csvticker, name, name_ar, market, isin, value_sar_m, awards, share_of_listedشركة مدرجة
/data/csv/backlog.csvticker, name, q, expected_gov_rev_sar_m, reported_rev_sar_mشركة مدرجة وربع؛ خلية فارغة حيث لا تُعلن الإيرادات
curl -s https://index.daall.sa/data/csv/dgi.csv | head -3
date,level,trailing_sar_bn,awarded_sar_m
2023-01-01,88.10,83.8,12.4
2023-01-02,88.40,84.1,290.6

التحديث والترخيص

اقرأ قبل البناء على الملفات

التحديث

تُولَّد الملفات من جديد في التحديث الشهري يوم 3 من كل شهر، ببيانات حتى نهاية الشهر السابق. يحمل كل ملف تاريخ asof الخاص به، ويحملها catalog.json جميعاً. يُؤرشف كل إصدار من سلسلة DGI في /api/v1/vintages/<asof>__r<n>/DGI.json، ويُدرج مع بصمته SHA-256 في /api/v1/vintages/index.json.

التخزين المؤقّت

تُقدَّم الملفات بتخزين مؤقّت مدّته يوم واحد. بعد التحديث قد يرى العميل الملف السابق مدّة تصل إلى يوم؛ قارن تاريخ asof لا التقويم.

الإصدارات

يحمل المسار رقم الإصدار. أي تغيير يكسر حقول ملف سيظهر تحت مسار إصدار جديد.

القيم المؤقّتة

النقاط خلال 45 يوماً من asof مؤقّتة، وترتفع مع وصول الترسيات المتأخرة. يُؤرشف كل إصدار من سلسلة DGI والسلاسل القطاعية دون تعديل في /api/v1/vintages/، مفهرساً بتاريخ البيانات ورقم الإصدار مع بصمة SHA-256 لبياناته؛ ولا تستبدل إعادة التشغيل أي إصدار سابق، ويُعيد كل إصدار جديد حساب السلسلة من السجلّ الحالي.

الترخيص

مجاني لأي استخدام، بما فيه التجاري، بشرط الإسناد "المصدر: Daall Index (index.daall.sa)" أينما ظهرت الأرقام. دون أي ضمان. الأرقام معلومات، وليست نصيحة استثمارية.

غير المتاح

لا صفوف للترسيات المفردة ولا تصفية في الملفات المجانية. يُنزّل المستخدمون المرخَّصون مجموعة بيانات الترسيات المفردة بمفتاح شخصي من /api/licensed/. تُسلَّم بيانات الترسيات المفردة بموجب الترخيص، يدوياً.