الانتقال إلى المحتوى
Renewable Vision

المطورون

البيانات خلف اللوحات، لبرمجياتك الخاصة.

كل سجل وسلسلة ورقم محسوب تقرؤه اللوحات يُقدَّم من هذا النطاق بصيغة JSON، وعبر بروتوكول سياق النموذج لمساعدي الذكاء الاصطناعي. لا حاجة إلى مفتاح. ويضيف المفتاح المجاني حصة يومية خاصة به وعدًّا لما استُخدم منها.

نظرة عامة

ما تقدّمه الواجهة.

الصفوف نفسها التي ترسمها اللوحات، مع الجهة الناشرة والوحدة والفترة في كل سلسلة، والمصدر في كل رقم محسوب.

السجلات الرسمية
سجل مشاريع الطاقة المتجددة لدى المشتري الرئيس، ومحفظة مشاريع المياه لدى الشركة السعودية للشراكات، وفهرس البيانات المفتوحة لهيئة المياه السعودية، تُحدَّث أسبوعيًا، ويمكن إعادة بناء كل منها لتاريخ سابق من سجل التغيّرات.
السلاسل المنسوخة
30 سلسلة من بوابة بيانات الطاقة لدى كابسارك ومن الجهات الناشرة المذكورة مع كل منها: الأحمال والقدرات والتعرفات والتحلية وتوازن النفط والأسعار وغيرها، وكل نقطة بفترتها ومنطقتها ووحدتها.
سجل التغيّرات والجدول
كل تغيّر على مستوى الصف في سجل أو سلسلة مع القيمة قبله وبعده، وما يُتوقَّع تحديثه تاليًا.
مخرجات النماذج
ميزان القدرات مقابل مستهدف 2030، ونموذج توازن النفط وفق سيناريوهات مسمّاة، والأسبوع المقبل للأسطول الشمسي. وتنص الاستجابة على الأرقام المنمذجة.
المنشورات
الموجز الأسبوعي بعنوان دائم لكل أسبوع، ومكتبة التقارير مع تعريفات كل تقرير ومصادره.

دون مفتاح

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

مع مفتاح مجاني

حصة يومية لا يشاركك فيها أي طالب آخر خلف العنوان نفسه، وعدّاد لطلبات اليوم في صفحة حسابك، واستجابات تصل دائمًا من الخادم الأصلي. وتُصدَر المفاتيح لأعضاء العضوية المجانية.

كل مجموعة بيانات ومصدرها وترخيصها مدرجة في فهرس البيانات.

المصادقة

المفتاح اختياري، ويُرسَل في إحدى ترويستين.

أنشئ مفتاحًا من صفحة حسابك. يظهر المفتاح مرة واحدة عند إنشائه، فاحفظه حيث تقرأ برمجياتك الأسرار، وألغه من الصفحة نفسها إذا انكشف.

إحدى الترويستين

Authorization: Bearer rv_live_…
X-API-Key: rv_live_…

المفتاح المُرسَل يجب أن يكون صالحًا

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

احفظ المفاتيح على الخادم. فالمفتاح المكتوب في شيفرة المتصفح يطّلع عليه كل من يفتح الصفحة.

حدود الطلبات

الحصص بحسب الطالب.

تحافظ الحدود على إتاحة الخدمة لكل طالب. تُحدّ الطلبات دون مفتاح لكل عنوان على مدى عشر دقائق، وتُحدّ طلبات المفتاح لكل يوم بالتوقيت العالمي.

الطالبالنقاطالحصةأساس العدّ
دون مفتاح/api/status, /api/data/*, /api/brief*, /api/reports*300 طلب كل 10 دقائقالعنوان، لكل نسخة من الخادم
دون مفتاح/api/search240 طلب كل 10 دقائقالعنوان، لكل نسخة من الخادم
دون مفتاح/api/mcp300 طلب كل 10 دقائقالعنوان، لكل نسخة من الخادم
مفتاح مجانيكل النقاط المحسوبة5,000 طلب لكل يوم بالتوقيت العالميالمفتاح، عبر كل النسخ
مفتاح مرخّصكل النقاط المحسوبةيحددها الترخيصالمفتاح، عبر كل النسخ

كل استجابة محسوبة تبيّن موقعك من الحصة

X-RateLimit-Limit
الحصة في الفترة الحالية.
X-RateLimit-Remaining
الطلبات المتبقية بعد هذا الطلب.
X-RateLimit-Reset
موعد بدء الفترة من جديد بثواني حقبة يونكس. وللمفتاح: منتصف الليل التالي بالتوقيت العالمي.
Retry-After
مع الرمز 429 فقط: الثواني اللازمة قبل إعادة المحاولة.

عند تجاوز الحد

تكون الإجابة برمز 429 مع نص JSON يسمّي الحد: نطاقه وفئته والحصة والفترة وموعد بدئها من جديد.

HTTP/1.1 429 Too Many Requests

{
  "ok": false,
  "error": "tooManyRequests",
  "message": "This key has made its 5,000 requests for the day. The count starts again at 00:00 UTC (2026-09-25T00:00:00.000Z).",
  "limit": {
    "scope": "key",
    "tier": "free",
    "requests": 5000,
    "window": "day",
    "windowSeconds": 86400,
    "resetAt": "2026-09-25T00:00:00.000Z"
  },
  "retryAfter": 3600,
  "docs": "https://renewablevision.com.sa/en/developers#limits"
}

قد تُقدَّم الاستجابات دون مفتاح من ذاكرة الحافة المؤقتة، فلا تُعَدّ ولا تُحدَّث ترويساتها. أما استجابات المفتاح فتُعلَّم خاصةً وتصل دائمًا إلى الخادم الأصلي، فيُعَدّ كل منها.

النقاط

كل نقطة عامة، من وثيقة OpenAPI.

يُعرض هذا المرجع من وثيقة OpenAPI 3.1 نفسها التي تقرؤها أدوات توليد الشيفرة. استخدمها لتوليد عميل برمجي، أو استوردها في أداة واجهات برمجية.

وثيقة OpenAPI 3.1 · https://renewablevision.com.sa/api/openapi.json

البيانات

النقطةما تُعيدهالمعاملاتحقول الاستجابة
GET /api/status

محسوبة

حداثة كل سلسلة وسجل منسوخ

  • endpoints

checkedAt, sources, stale, degraded, series, registers, summary, feeds, endpoints, historySince, method

حقول الاستشهاد: series[].publisher, registers[].publisher, checkedAt

GET /api/data/portal/{series}

محسوبة

سلسلة منسوخة واحدة: بياناتها الوصفية وكل نقاطها

  • series (إلزامي)

series, points

حقول الاستشهاد: series.publisher, series.source_url, series.licence, series.last_success_at

GET /api/data/registers/{register}

محسوبة

سجل رسمي كما نُسخ آخر مرة، أو كما كان في يوم سابق

  • register (إلزامي)
  • asOf

register, rows, vintage

حقول الاستشهاد: register.publisher, register.source_url, register.last_success_at, vintage.asOf

GET /api/data/projects/{id}

محسوبة

مشروع واحد من متتبع الطاقة المتجددة السعودية، كما تعرضه صفحته

  • id (إلزامي)
—

حقول الاستشهاد: source, asOf, citation, note

GET /api/data/companies/{company}

محسوبة

مطوّر أو مساهم واحد، وكل مشروع مرصود يرد فيه اسمه

  • company (إلزامي)
—

حقول الاستشهاد: source, asOf, citation, note

GET /api/data/changes

محسوبة

سجل التغيّرات: كل تغيّر على مستوى الصف، الأحدث أولًا

  • since
  • domain
  • source
  • limit

count, changes

حقول الاستشهاد: changes[].sourceId, changes[].occurredOn

GET /api/data/due

محسوبة

ما يُتوقَّع تحديثه تاليًا، وما تأخر

  • days

asOf, windowDays, overdue, items, note

حقول الاستشهاد: items[].publisher, asOf

GET /api/data/power-balance

محسوبة

القدرة التشغيلية مقابل المشاريع المتعاقد عليها ومستهدف 2030

  • asOf

month, operational, construction, tendered, trackedMw, target, system, reconciliation, stageOverrides, change, comparedWith, vintage, sources, method

حقول الاستشهاد: sources[], method, month, vintage.computedAt

GET /api/data/oil-model

محسوبة

نموذج توازن النفط على المدخلات الحية

  • scenario
  • horizon

asOf, scenario, levers, sources, context, calibration, summary, months, method

حقول الاستشهاد: sources[], method, asOf

GET /api/data/fleet-outlook

محسوبة

الأسبوع المقبل للأسطول الشمسي السعودي المتتبَّع

لا شيء

asOf, stale, days, plants, capacityMw, expectedGwh, normalGwh, deltaPct, daily, heat, sources, method

حقول الاستشهاد: sources[], method, asOf

المنشورات

النقطةما تُعيدهالمعاملاتحقول الاستجابة
GET /api/brief

محسوبة

كل موجز أسبوعي منشور، الأحدث أولًا

  • limit

count, briefs

حقول الاستشهاد: briefs[].url, briefs[].issued

GET /api/brief/latest

محسوبة

الموجز الأسبوعي الحالي

  • locale

week, issued, locale, subject, preheader, blocks, social, summary, url, api

حقول الاستشهاد: url, issued, week

GET /api/brief/{week}

محسوبة

موجز أسبوع واحد بعنوانه الدائم

  • week (إلزامي)
  • locale

week, issued, locale, subject, preheader, blocks, social, summary, url, api

حقول الاستشهاد: url, issued, week

GET /api/reports

محسوبة

كل تقرير منشور، الأحدث إصدارًا أولًا

  • limit

count, reports

حقول الاستشهاد: reports[].url, reports[].edition, reports[].contentUpdated

GET /api/reports/{id}

محسوبة

تقرير واحد: النص التعريفي والتعريفات المقتبسة والمصادر وصفحات المعاينة

  • id (إلزامي)

report

حقول الاستشهاد: report.url, report.sources, report.definitions, report.contentUpdated

البحث

النقطةما تُعيدهالمعاملاتحقول الاستجابة
GET /api/search

محسوبة

نتائج مرتبة عبر مجموعات البيانات والسلاسل والتحليلات والمشاريع

  • q (إلزامي)
  • locale

groups

حقول الاستشهاد: groups[].items[].href

MCP

النقطةما تُعيدهالمعاملاتحقول الاستجابة
POST /api/mcp

محسوبة

بروتوكول سياق النموذج على نقل Streamable HTTP

  • jsonrpc (في نص الطلب، إلزامي)
  • id (في نص الطلب)
  • method (في نص الطلب، إلزامي)
  • params (في نص الطلب)
—

حقول الاستشهاد: result.structuredContent.source, result.structuredContent.asOf, result.structuredContent.citation

GET /api/mcp

غير محسوبة

لا يُفتح بث أحداث من الخادم

لا شيء
—
DELETE /api/mcp

غير محسوبة

إنهاء الجلسة

لا شيء
—

البطاقات والخصائص

النقطةما تُعيدهالمعاملاتحقول الاستجابة
GET /api/cards/{card}

غير محسوبة

بطاقة مشاركة بمقاس 1200 × 630 بالأرقام الحالية

  • card (إلزامي)
  • locale
—
GET /api/properties

غير محسوبة

خصائص ديناميكا حرارية من معادلات الحالة المرجعية في CoolProp

  • op (إلزامي)
  • fluid
  • T
  • P
  • pathway
—

نقاط المطورين

النقطةما تُعيدهالمعاملاتحقول الاستجابة
GET /api/openapi.json

غير محسوبة

وثيقة OpenAPI 3.1 لكل النقاط العامة

لا شيء
—
POST /api/licence-requests

غير محسوبة

طلب ترخيص بيانات

  • name (في نص الطلب، إلزامي)
  • email (في نص الطلب، إلزامي)
  • organisation (في نص الطلب، إلزامي)
  • role (في نص الطلب)
  • licence_type (في نص الطلب، إلزامي)
  • datasets (في نص الطلب)
  • use_case (في نص الطلب، إلزامي)
  • language (في نص الطلب)
  • consent (في نص الطلب، إلزامي)

message

نماذج الموقع

تخدم نماذج الموقع صفحات هذا الموقع نفسه، وتُدرج هنا لتكتمل الوثيقة. ولا تقبل مفتاحًا، وليست جزءًا من واجهة البيانات.

النقطةما تُعيدهالمعاملاتحقول الاستجابة
POST /api/privacy-requests

غير محسوبة

تقديم طلب وفق نظام حماية البيانات الشخصية

  • type (في نص الطلب، إلزامي)
  • email (في نص الطلب، إلزامي)
  • details (في نص الطلب)
  • language (في نص الطلب)
  • consent (في نص الطلب، إلزامي)

message

POST /api/inquiries

غير محسوبة

نموذج التواصل

لا شيء

message

POST /api/subscribe

غير محسوبة

الانضمام إلى قائمة مواد RV Plus وRV X بتأكيد مزدوج

لا شيء

message

GET /api/subscribe/confirm

غير محسوبة

رابط التأكيد: ينقل الزائر إلى صفحة التأكيد

لا شيء
—
POST /api/subscribe/confirm

غير محسوبة

تأكيد الاشتراك من صفحة التأكيد

لا شيء
—
GET /api/subscribe/unsubscribe

غير محسوبة

رابط إلغاء الاشتراك: يفتح الصفحة التي تؤكد الإزالة

لا شيء
—
POST /api/subscribe/unsubscribe

غير محسوبة

مغادرة القائمة من الصفحة، أو بنقرة واحدة من برنامج البريد

لا شيء

message

POST /api/experts/apply

غير محسوبة

التقدم للانضمام إلى لجنة الخبراء

لا شيء

message

POST /api/experts/briefs

غير محسوبة

طلب رأي مكتوب من لجنة الخبراء

لا شيء

message

POST /api/ask

غير محسوبة

RV Analyst: إجابة عن سؤال من بيانات هذا الموقع (للأعضاء)

لا شيء
—
GET /api/materials/{id}

غير محسوبة

ملف للأعضاء: تقرير بصيغة PDF أو حزمة بيانات

  • id (إلزامي)
—

أمثلة برمجية

طلب واحد بثلاث طرق.

يجلب كل مثال أحدث موجز أسبوعي باستخدام مفتاح ويطبع ترويسات حدود الطلبات. احذف سطر المفتاح لإرسال الطلب دون مفتاح.

curl

curl -i https://renewablevision.com.sa/api/brief/latest \
  -H "Authorization: Bearer $RV_API_KEY"

Python

import os
import requests

res = requests.get(
    "https://renewablevision.com.sa/api/brief/latest",
    headers={"Authorization": f"Bearer {os.environ['RV_API_KEY']}"},
    timeout=30,
)
res.raise_for_status()
brief = res.json()
print(brief["subject"], brief["url"])
print(res.headers["X-RateLimit-Remaining"], "requests left today")

JavaScript

const res = await fetch('https://renewablevision.com.sa/api/brief/latest', {
  headers: { Authorization: `Bearer ${process.env.RV_API_KEY}` }
});
if (res.status === 429) {
  const { limit, retryAfter } = await res.json();
  throw new Error(`Limit of ${limit.requests} per ${limit.window}; retry in ${retryAfter} s`);
}
const brief = await res.json();
console.log(brief.subject, brief.url);
console.log(res.headers.get('X-RateLimit-Remaining'), 'requests left today');

MCP

اربط مساعدًا ذكيًا.

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

POST https://renewablevision.com.sa/api/mcp

إعداد العميل

{
  "mcpServers": {
    "renewable-vision": {
      "type": "http",
      "url": "https://renewablevision.com.sa/api/mcp",
      "headers": {
        "Authorization": "Bearer rv_live_…"
      }
    }
  }
}

لاحتساب طلبات المساعد على مفتاحك، أضف المفتاح في ترويسة Authorization ضمن إعداد العميل. ودونه تجيب النقطة وفق الحد المتاح لكل عنوان.

سجل الاستكشاف: /.well-known/mcp/server.json

ذكر المصدر

اذكر الجهة الناشرة ورينيوبل فيجن.

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

  1. اذكر الجهة الناشرة الأصلية الواردة في الاستجابة، ورينيوبل فيجن، مع الصفحة التي تشير إليها الاستجابة.
  2. اذكر تاريخ سريان الرقم كما يرد في الاستجابة، لا تاريخ جلبه.
  3. أبقِ الرقم المنمذج موصوفًا بأنه منمذج، إذ تبيّن الاستجابة الأرقام المنمذجة.
  4. تحتفظ سلاسل الأطراف الثالثة بتراخيص جهاتها الناشرة. وحيث تقصر شروط المصدر الاستخدام على الأغراض غير التجارية، تسري الشروط نفسها على أي إعادة استخدام.
  5. تجميعات رينيوبل فيجن مرخّصة بموجب CC BY-NC 4.0 ما لم ينص ترخيص على خلاف ذلك.

التراخيص وشروط المصادر

سجل الإصدارات

ما تغيّر، ومتى.

تُضاف النقاط دون تغيير ما نُشر منها. ويُدرج هنا كل تغيير قد يلاحظه المستخدم.

القيود نفسها، مع سائر تغييرات المنصة، في سجل التحديثات

التاريخالتغييرالنقاط
2026-09-24تضيف نقطة الحالة وتيرة كل مصدر وحالته وآخر خطأ سُجّل له، وفحصًا ذاتيًا لكل نقطة وصول عامة، وسجل الفحوص المحفوظة حيثما وُجد. وتُقدَّم طلبات الخصوصية من النموذج المتاح في الموقع./api/status, /api/privacy-requests
2026-09-24مفاتيح API اختيارية بحصة يومية وعدّاد للاستخدام، وترويسات حدود الطلبات في كل استجابة محسوبة، ووثيقة OpenAPI 3.1، وطلبات تراخيص البيانات./api/openapi.json, /api/licence-requests
2026-09-24مشروع واحد من المتتبّع وشركة واحدة بصيغة JSON، مع حقول الإسناد./api/data/projects/{id}, /api/data/companies/{company}
2026-09-22نقطة بروتوكول سياق النموذج./api/mcp
2026-09-22مكتبة التقارير بصيغة JSON./api/reports, /api/reports/{id}
2026-09-21الموجز الأسبوعي بصيغة JSON، بعنوان دائم لكل أسبوع./api/brief, /api/brief/latest, /api/brief/{week}
2026-09-20سجل التغيّرات، وجدول ما يُتوقَّع تحديثه، وميزان القدرات، وتوقعات إنتاج الأسطول الشمسي./api/data/changes, /api/data/due, /api/data/power-balance, /api/data/fleet-outlook
2026-09-20المعامل asOf: السجل كما كان في نهاية يوم سابق، وميزان القدرات كما حُفظ لشهر سابق./api/data/registers/{register}, /api/data/power-balance
2026-09-14نموذج توازن النفط، مع سيناريوهات مسمّاة وإمكانية ضبط كل رافعة عبر الاستعلام./api/data/oil-model
2026-09-13حداثة البيانات، والبحث في الموقع، وبطاقات المشاركة./api/status, /api/search, /api/cards/{card}
2026-09-12السلاسل المنسوخة من بوابة بيانات الطاقة لدى كابسارك، والسجلات الرسمية الثلاثة./api/data/portal/{series}, /api/data/registers/{register}

هل تحتاج إلى استخدام البيانات تجاريًا أو إعادة توزيعها؟

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