وصول مجاني ومفتوح إلى بيانات السياحة العربية — للباحثين والمطورين والمؤسسات
يمكنك البدء في استخدام Open Data API في 3 خطوات فقط:
أضف المفتاح إلى URL باستخدام ?key=.
ستستلم البيانات بصيغة JSON منسقة وجاهزة للاستخدام.
curl "https://your-domain.com/api/open/?endpoint=stats&key=YOUR_API_KEY"
{
"success": true,
"endpoint": "stats",
"source": "المرصد السياحي العربي — Arab Tourism Observatory",
"generated_at": "2024-11-15T14:30:00+00:00",
"count": null,
"data": {
"countries": 22,
"indicators": 10,
"values": 48,
"gis_features": 10,
"events": 5,
"last_update": "2024-11-15 10:00:00"
}
}
يجب إرسال API Key مع كل طلب. يمكنك إرساله بطريقتين:
GET /api/open/?endpoint=countries&key=ato_xxxxxxxxxxxxx
GET /api/open/?endpoint=countries
X-API-Key: ato_xxxxxxxxxxxxx
| الفئة | الحد اليومي | كيفية الحصول عليها |
|---|---|---|
| مجاني (Free) | 1000 طلب / يوميًا | تلقائي عند التسجيل |
| باحث (Researcher) | 10000 طلب / يوميًا | اطلب الترقية عبر البريد |
| مؤسسي (Institutional) | 100000 طلب / يوميًا | اتصل بنا للاتفاق |
429 Too Many Requests. تتم إعادة تعيين العداد يوميًا منتصف الليل UTC.
جميع نقاط النهاية تستخدم هذا الرابط الأساسي مع معامل endpoint:
GET https://your-domain.com/api/open/?endpoint=NAME&key=YOUR_KEY
يعرض قائمة بـ 22 دولة عربية مع المعلومات الأساسية.
| المعامل | النوع | الوصف |
|---|---|---|
region |
string |
اختياري تصفية حسب المنطقة:
GCC, NorthAfrica, Levant, NileValley, RedSea |
GET /api/open/?endpoint=countries®ion=GCC&key=YOUR_KEY
{
"success": true,
"endpoint": "countries",
"count": 6,
"data": [
{
"country_id": 2,
"iso_code": "AE",
"name_ar": "الإمارات",
"name_en": "United Arab Emirates",
"region": "GCC",
"capital": "أبوظبي",
"population": null,
"currency": null
}
]
}
يعرض قاموس المؤشرات السياحية الموحّد (10 مؤشرات أساسية).
GET /api/open/?endpoint=indicators&key=YOUR_KEY
القيم الفعلية للمؤشرات على مر السنين — أهم endpoint للباحثين.
| المعامل | النوع | الوصف |
|---|---|---|
indicator |
string | اختياري رمز المؤشر (مثل: INBOUND_TOURISTS) |
country_id |
int | اختياري معرف الدولة |
year_from |
int | اختياري من سنة (افتراضي: 2015) |
year_to |
int | اختياري إلى سنة (افتراضي: السنة الحالية) |
limit |
int | اختياري الحد الأقصى (افتراضي: 1000، أقصى: 10000) |
GET /api/open/?endpoint=values&indicator=INBOUND_TOURISTS&country_id=1&key=YOUR_KEY
{
"success": true,
"endpoint": "values",
"count": 3,
"data": [
{
"country_name": "السعودية",
"iso_code": "SA",
"indicator_code": "INBOUND_TOURISTS",
"indicator_name": "عدد السائحين الوافدين",
"unit": "مليون",
"period_year": 2024,
"value": "26.5000",
"confidence_level": "official"
}
]
}
جميع المواقع السياحية مع إحداثياتها (تراث، فنادق، متاحف، مطارات...).
| المعامل | النوع | الوصف |
|---|---|---|
country_id |
int | اختياري تصفية حسب الدولة |
type |
string | اختياري نوع الموقع |
الأنواع المتاحة: heritage, attraction, hotel,
museum, airport, port, event, route
المهرجانات والمعارض والمؤتمرات في الوطن العربي.
مقارنة عدة دول على مؤشر واحد في سنة محددة.
| المعامل | النوع | الوصف |
|---|---|---|
indicator |
string | مطلوب رمز المؤشر |
countries |
string | مطلوب معرفات الدول مفصولة بفواصل (مثال: 1,7,9) |
year |
int | اختياري السنة |
GET /api/open/?endpoint=compare&indicator=INBOUND_TOURISTS&countries=1,7,9&year=2024&key=YOUR_KEY
ترتيب الدول العربية على مؤشر السياحة العربي (مؤشر مركب من 6 مؤشرات فرعية).
البحث في الدول والمؤشرات والمواقع بكلمة واحدة.
ملخص عام عن كمية البيانات المتاحة.
| الرمز | المعنى | الحل |
|---|---|---|
| 200 | نجاح ✅ | — |
| 400 | طلب غير صحيح | راجع المعاملات |
| 401 | API Key مفقودة أو غير صالحة | تحقق من المفتاح |
| 403 | API Key منتهية أو معطّلة | اطلب مفتاحًا جديدًا |
| 404 | Endpoint غير موجود | راجع قائمة الـ endpoints |
| 429 | تجاوز الحد اليومي | انتظر إعادة التصفير |
| 500 | خطأ في الخادم | أبلغ الدعم |
{
"success": false,
"error": "API key مطلوبة",
"hint": "احصل على مفتاح من: /api/open/register.php",
"docs": "/api/open/docs.php"
}
const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://your-domain.com/api/open/';
fetch(`${BASE}?endpoint=countries&key=${API_KEY}`)
.then(res => res.json())
.then(data => {
if (data.success) {
console.log(`عدد الدول: ${data.count}`);
data.data.forEach(c => console.log(c.name_ar));
}
});
import requests
API_KEY = 'YOUR_API_KEY'
BASE = 'https://your-domain.com/api/open/'
response = requests.get(
BASE,
params={
'endpoint': 'values',
'indicator': 'INBOUND_TOURISTS',
'country_id': 1,
'key': API_KEY
}
)
data = response.json()
if data['success']:
for record in data['data']:
print(f"{record['country_name']} {record['period_year']}: {record['value']}")
<?php
$api_key = 'YOUR_API_KEY';
$url = 'https://your-domain.com/api/open/?endpoint=stats&key=' . $api_key;
$response = file_get_contents($url);
$data = json_decode($response, true);
if ($data['success']) {
echo "عدد الدول: " . $data['data']['countries'];
}
?>
curl -X GET "https://your-domain.com/api/open/?endpoint=countries&key=YOUR_API_KEY" \
-H "Accept: application/json"