الرابط الأساسي
تُقدَّم جميع النقاط أدناه من هذا الرابط الأساسي. أضِف معامل اللغة (en أو ar) حيثما كان مدعوماً.
https://econmetrics.dev.shibli.me/em-api
المصادقة
نقاط التصفح العامة تعمل دون بيانات اعتماد:
/v1/series/v1/series/facets/v1/series/featured/v1/series/latest?series_ids={id}/v1/series/{id}/v1/series/{id}/children/v1/series/{id}/related/v1/series/{id}/regions/v1/series/{id}/partners/v1/series/{id}/forecast/v1/series/{id}/observations?preview=true/v1/series/compare?series_ids={ids}&preview=true/v1/series/rankings/v1/datasets/v1/datasets/{slug}/v1/datasets/{slug}/series/v1/datasets/{slug}/facets/v1/datasets/{slug}/tree/v1/datasets/{slug}/state/v1/indicators/v1/indicators/{slug}/v1/catalog/filters/v1/calendar/v1/calendar.ics/v1/coverage/v1/source-agencies/v1/source-agencies/{agency_id}/logo
الأسطح المقيّدة تتطلب مفتاح API أو رمز جلسة مستخدم — السجل الكامل للملاحظات خارج نافذة المعاينة، وتنزيلات .csv و .xlsx، ومفاتيح API، والسلاسل المحفوظة، وWebhooks، والمؤسسات، والفوترة، ومسارات الحساب، و/admin:
X-API-Key: em_…— مفاتيح API للوصول البرمجي، تُنشأ من لوحة التحكم (الخطة الاحترافية) -- ويلزم المفتاح للسجل الكامل للملاحظات وتنزيل CSV وXLSX.Authorization: Bearer …— رموز الجلسة من POST /auth/login أو /auth/register.
بدء سريع
يعمل المثالان أدناه كما هما، دون مفتاح: يستخدم المثال السلسلة SA.CPI.CAT.00.YOY المنشورة فعليًا. استخدم q= للبحث في السلاسل بالاسم أو المعرف، وpreview=true لنافذة الملاحظات العامة؛ أما السجل الكامل وCSV وXLSX فتحتاج مفتاح الخطة الاحترافية (Pro).
import requests
API = "https://econmetrics.dev.shibli.me/em-api"
# The two calls below are public -- no API key required.
# SA.CPI.CAT.00.YOY is a real published series (GASTAT: CPI, year-on-year % change).
# List published series (name or id search via q=)
series = requests.get(
f"{API}/v1/series",
params={"q": "CPI", "published_only": "true"},
).json()
# Fetch observations for one series
# preview=true returns the public window on a published series.
# Full history, CSV and XLSX need a Pro API key.
obs = requests.get(
f"{API}/v1/series/SA.CPI.CAT.00.YOY/observations",
params={"preview": "true"},
).json()مواصفة OpenAPI التفاعلية
جرّب كل نقطة مباشرة مع مخططات الطلب والاستجابة من توثيق OpenAPI التفاعلي:
النقاط الأساسية
نقاط النهاية الأكثر استخداماً:
| الطريقة | المسار | الوصول | الوصف |
|---|---|---|---|
| GET | /v1/series | عام | عرض والبحث في السلاسل المنشورة (الاسم، المعرف، الموضوع، المنطقة، الجهة، …) |
| GET | /v1/series/{id} | عام | بيانات السلسلة بالمعرف |
| GET | /v1/series/{id}/observations | معاينة عامة | ملاحظات السلاسل الزمنية بصيغة JSON |
| GET | /v1/series/{id}/observations.csv | مفتاح API | تصدير الملاحظات بصيغة CSV |
| GET | /v1/series/{id}/observations.xlsx | مفتاح API | تصدير الملاحظات بصيغة Excel (.xlsx) |
| GET | /v1/series/featured | عام | سلاسل مميزة مختارة للصفحة الرئيسية |
| GET | /v1/series/compare | معاينة عامة | محاذاة حتى 20 سلسلة على محور زمني مشترك |
| GET | /v1/series/join | مفتاح API | اشتقاق نسبة لكل فرد أو مؤشر عابر للسلسلة من سلسلتين |
| GET | /v1/series/rankings | عام | ترتيب السلاسل المنشورة حسب أحدث قيمة أو التغير خلال الفترة أو التغير السنوي |
| GET | /v1/catalog/filters | عام | فئات الكتالوج المتاحة (الموضوعات، الجهات، المناطق، أنواع القياس، …) |
| GET | /v1/datasets | عام | مجموعات البيانات المنشورة |
| GET | /v1/datasets/{slug}/series | عام | السلاسل التابعة لمجموعة بيانات |
| GET | /v1/calendar | عام | تقويم الإصدارات القادمة |
| GET | /v1/calendar.ics | عام | موجز تقويم الإصدارات القابل للاشتراك (ICS، iCalendar) |
| GET | /v1/coverage | عام | إحصائيات تغطية مجموعات البيانات |
| GET | /v1/source-agencies | عام | قائمة الجهات المصدرة |
صيغ البيانات
تُرجع الملاحظات بثلاث صيغ — اختر ما يناسب خط أنابيبك:
- JSON — سجلات منظمة بالقيم والتكرارات والبيانات الوصفية
- CSV —
/observations.csv(تصدير جدولي مسطّح للجداول وخطوط ETL) - Excel —
/observations.xlsx(مصنف Excel مع الحفاظ على التنسيق)
عوامل التصفية
يدمج GET /v1/series جميع عوامل التصفية باستخدام AND. يطابق البحث (q) اسم السلسلة الموضعي (جزء من النص) أو معرّف السلسلة (بادئة، مثل "SA.CPI").
| المسار | الوصف |
|---|---|
| q | بحث حر: اسم السلسلة (جزء من النص) أو معرّف السلسلة (بادئة) |
| topic | معرّف الموضوع، مثل inflation |
| source_agency | الجهة المصدرة، مثل GASTAT |
| dataset_id | معرّف أو معرّف مختصر لمجموعة البيانات |
| measure_type | نوع القياس، مثل YoY |
| region | بُعد المنطقة، مثل national |
| classification_system | نظام التصنيف |
| source_publication | المنشور المصدر |
| country_code | رمز الدولة (الافتراضي SA) |
| published_only | السلاسل المنشورة فقط (الافتراضي true) |
| locale | لغة الاستجابة: en أو ar |
| limit | حجم الصفحة، الافتراضي 50 والحد الأقصى 200 |
| offset | إزاحة الترقيم، الافتراضي 0 |
المعاينة مقابل الكامل
تعيد الملاحظات السجل الكامل افتراضيًا. مرّر preview=true للحصول على نافذة محدودة للسلاسل المنشورة:
- السلاسل الشهرية: آخر 12 شهرًا
- السلاسل السنوية: آخر 5 سنوات
- السلاسل اليومية/الأسبوعية: المعاينة غير متاحة (ترجع preview_blocked مع السبب granular)
تتطلب الملاحظات الكاملة أن تكون السلسلة منشورة؛ وعند تفعيل الاستحقاقات في البيئة، يلزم وجود خطة نشطة (Pro).
حدود المعدل
الحدود المكوّنة (لكل مستخدم أو عنوان IP؛ التطبيق قابل للتهيئة حسب البيئة):
- الافتراضي: 100 طلب/دقيقة
- النقاط العامة غير الموثقة: 30 طلب/دقيقة
- تطبق حدود شهرية لطلبات API حسب الخطة — 3,000 طلب في تجربة Pro لمدة 7 أيام.
قد يُخفَّف التطبيق في بيئات التطوير؛ تفرض بيئة الإنتاج الحدود المكوّنة.
Webhooks
استقبل استدعاءات HTTP موقّعة عند نشر بيانات السلاسل أو تحديثها.