تخطَّ إلى المحتوى

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

واجهة برمجية مجانية لمواقيت الصلاة بلا مفتاح

أربع نقاط وصول عامة تعيد مواقيت الصلاة بصيغة JSON، وتقويمًا قابلًا للاشتراك، وبحث المدن، والمساجد القريبة. بلا حساب ولا مفتاح ولا رسوم.

بلا مفتاح APIJSON وiCalمجاني

العنوان الأساسي

https://qurangallery.com/prayer

تقع كل نقاط الوصول أدناه تحت هذا العنوان. المدخلات الخاطئة تعيد 400، وكثرة الطلبات تعيد 429. لا ترسل الواجهة ترويسات CORS، فاستدعِها من خادمك لا من صفحة متصفح على موقع آخر.

مواقيت الصلاة لموقع معيّن

GET /prayer/api/times

الفجر والشروق والظهر والعصر والمغرب والعشاء لليوم عند إحداثيات معيّنة، مع فجر الغد. كل وقت لحظة بصيغة ISO 8601 بالتوقيت العالمي UTC. يُحذف الوقت الذي لا يوجد في ذلك اليوم عند ذلك خط العرض.

المعاملات

lat مطلوب
خط العرض بالدرجات العشرية.
lng مطلوب
خط الطول بالدرجات العشرية.
method اختياري
معرّف طريقة الحساب، مثل muslim-world-league أو north-america أو karachi. الافتراضي: طريقة أقرب مدينة.
madhab اختياري
Hanafi أو Shafi، وهو ما يحدد وقت العصر. الافتراضي: المعتمد عادةً في بلد أقرب مدينة.
hlr اختياري
قاعدة خطوط العرض العالية: auto أو middle-of-the-night أو seventh-of-the-night أو twilight-angle. الافتراضي: auto.
fa اختياري
زاوية الفجر المخصصة بالدرجات، من 10 إلى 25. الافتراضي: زاوية الطريقة نفسها.
ia اختياري
زاوية العشاء المخصصة بالدرجات، من 10 إلى 25. الافتراضي: زاوية الطريقة نفسها.

مثال

curl
curl 'https://qurangallery.com/prayer/api/times?lat=21.4225&lng=39.8262'
fetch
const res = await fetch('https://qurangallery.com/prayer/api/times?lat=21.4225&lng=39.8262');
const { date, times, fajrTomorrow } = await res.json();

الاستجابة

{
  "date": "2026-10-31",
  "times": [
    { "name": "fajr", "time": "2026-10-31T02:06:00.000Z", "isCurrent": false, "isNext": true },
    { "name": "sunrise", "time": "2026-10-31T03:23:00.000Z", "isCurrent": false, "isNext": false },
    { "name": "dhuhr", "time": "2026-10-31T09:04:00.000Z", "isCurrent": false, "isNext": false },
    { "name": "asr", "time": "2026-10-31T12:20:00.000Z", "isCurrent": false, "isNext": false },
    { "name": "maghrib", "time": "2026-10-31T14:45:00.000Z", "isCurrent": false, "isNext": false },
    { "name": "isha", "time": "2026-10-31T16:15:00.000Z", "isCurrent": false, "isNext": false }
  ],
  "fajrTomorrow": "2026-11-01T02:06:00.000Z"
}

تقويم قابل للاشتراك (iCal)

GET /prayer/api/calendar/feed.ics

ملف .ics قابل للاشتراك فيه مواقيت الصلاة والمناسبات الإسلامية للشهر القادم افتراضيًا، ولغاية 12 شهرًا بالمعامل months. أضف الرابط اشتراكًا في تقويم Google أو Apple أو Outlook.

المعاملات

lat مطلوب
خط العرض بالدرجات العشرية.
lng مطلوب
خط الطول بالدرجات العشرية.
method اختياري
معرّف طريقة الحساب، مثل muslim-world-league أو north-america أو karachi. الافتراضي: طريقة أقرب مدينة.
madhab اختياري
Hanafi أو Shafi، وهو ما يحدد وقت العصر. الافتراضي: المعتمد عادةً في بلد أقرب مدينة.
authority اختياري
جهة التقويم الهجري للمناسبات، مثل umm_al_qura أو diyanet. الافتراضي: جهة بلد أقرب مدينة.
months اختياري
عدد الأشهر التي يغطيها الملف، من 1 إلى 12. الافتراضي: 1.
alarm اختياري
عدد الدقائق قبل كل صلاة لإطلاق التذكير، من 0 إلى 120. القيمة 0 تعني بلا تنبيه. الافتراضي: 10.
a_<prayer> اختياري
دقائق التنبيه لصلاة واحدة، من 0 إلى 120، وتحل محل alarm. استخدم fajr أو dhuhr أو asr أو maghrib أو isha بدل <prayer>، مثل a_fajr=15.
o_<prayer> اختياري
إزاحة صلاة واحدة بهذا العدد من الدقائق، من -60 إلى 60. استخدم fajr أو dhuhr أو asr أو maghrib أو isha بدل <prayer>، مثل o_isha=5. الافتراضي: 0.
sunrise اختياري
اجعلها 1 لإضافة الشروق إلى الملف. الافتراضي: معطّل.
travel اختياري
اجعلها 1 لإضافة ملاحظة على الظهر والعصر والعشاء بأن الصلاة تُقصر إلى ركعتين في السفر. الافتراضي: معطّل.
ramadan اختياري
اجعله 1 لإضافة انتهاء السحور (عند الفجر) والإفطار (عند المغرب) والتراويح (تبدأ بعد العشاء بـ15 دقيقة ومدتها ساعة) في أيام رمضان. الأيام تتبع المعامل authority. الافتراضي: معطّل.
jumuah اختياري
اجعله 1 لتسمية حدث الظهر «الجمعة» يوم الجمعة. الافتراضي: معطّل.
jumuahLead اختياري
عدد الدقائق قبل الجمعة للتذكير، من 0 إلى 120؛ و0 يعني بلا تذكير. يحل محل تذكير الظهر يوم الجمعة ويتطلب jumuah=1. الافتراضي: تذكير الظهر.
busy اختياري
اضبطه على 1 لتعليم أحداث الصلاة كمشغول (TRANSP:OPAQUE). الافتراضي: متاح (TRANSP:TRANSPARENT).
hlr اختياري
قاعدة خطوط العرض العالية: auto أو middle-of-the-night أو seventh-of-the-night أو twilight-angle. الافتراضي: auto.
fa اختياري
زاوية الفجر المخصصة بالدرجات، من 10 إلى 25. الافتراضي: زاوية الطريقة نفسها.
ia اختياري
زاوية العشاء المخصصة بالدرجات، من 10 إلى 25. الافتراضي: زاوية الطريقة نفسها.

مثال

curl
curl 'https://qurangallery.com/prayer/api/calendar/feed.ics?lat=21.4225&lng=39.8262'

الاستجابة

مستند text/calendar (iCalendar) يضم أحداث شهر واحد افتراضيًا، ولغاية 12 شهرًا بالمعامل months.

GET /prayer/api/location/search

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

المعاملات

q مطلوب
اسم المكان، بحد أقصى 200 حرف.

مثال

curl
curl 'https://qurangallery.com/prayer/api/location/search?q=Makkah'
fetch
const res = await fetch('https://qurangallery.com/prayer/api/location/search?q=Makkah');
const places = await res.json();

الاستجابة

[
  {
    "lat": 21.4266,
    "lon": 39.8256,
    "displayName": "Makkah, Saudi Arabia",
    "countryCode": "SA",
    "timezone": "Asia/Riyadh"
  }
]

المساجد القريبة

GET /prayer/api/mosques/nearby

المساجد حول نقطة معيّنة من الأقرب إلى الأبعد، من بيانات OpenStreetMap. المسافة بالأمتار. تكون الاستجابة 503 عند تعذّر خدمات بيانات الخرائط.

المعاملات

lat مطلوب
خط العرض بالدرجات العشرية.
lng مطلوب
خط الطول بالدرجات العشرية.
radius اختياري
نصف قطر البحث بالأمتار، من 100 إلى 50000. الافتراضي: 2000.

مثال

curl
curl 'https://qurangallery.com/prayer/api/mosques/nearby?lat=21.4225&lng=39.8262&radius=2000'
fetch
const res = await fetch('https://qurangallery.com/prayer/api/mosques/nearby?lat=21.4225&lng=39.8262&radius=2000');
const mosques = await res.json();

الاستجابة

[
  {
    "id": 1234567,
    "name": "Example Mosque",
    "lat": 21.4231,
    "lng": 39.8269,
    "address": "Example Street 12",
    "distance": 96.4
  }
]

حدود الطلبات

تُحسب الطلبات لكل عنوان IP ضمن نافذة مدتها دقيقة. بعد بلوغ الحد تحصل على HTTP 429.

  • مواقيت الصلاة: لا حد خاصًا بها. خزّن إجابة كل موقع ليومه بدل استدعائها في كل زيارة للصفحة.
  • التقويم القابل للاشتراك: 30 طلبًا في الدقيقة.
  • البحث عن المدن والمساجد القريبة يتشاركان حدًا واحدًا: 30 طلبًا في الدقيقة.

الأسئلة الشائعة

هل واجهة مواقيت الصلاة مجانية وهل أحتاج مفتاح API؟

نعم، هي مجانية ولا تحتاج مفتاحًا ولا حسابًا ولا تسجيلًا. أرسل طلب GET إلى نقطة الوصول بالمعاملات أعلاه. نرجو الالتزام بحدود الطلبات وتخزين النتائج.

كيف أحصل على مواقيت الصلاة باسم مدينة؟

استدعِ نقطة البحث عن المدن بالمعامل q، وخذ lat وlon من أول نتيجة، ثم مرّرهما كـ lat وlng إلى نقطة مواقيت الصلاة.

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

إن لم ترسل method فستُستخدم طريقة أقرب مدينة إلى إحداثياتك. وإن لم ترسل madhab فستُستخدم قاعدة العصر المعتادة في بلد تلك المدينة. أرسل method وmadhab لتثبيتهما.

لماذا تغيب إحدى الصلوات من الاستجابة؟

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

هل أستطيع استدعاء الواجهة من جافاسكربت في المتصفح؟

لا ترسل الواجهة ترويسات CORS، فلا تستطيع صفحة على موقع آخر قراءة الاستجابة. استدعِها من خادمك، أو استخدم الأداة المضمّنة التي لا تحتاج برمجة.

كم مرة أطلب مواقيت الصلاة؟

يكفي طلب واحد لكل موقع في اليوم. خزّن الاستجابة واحسب العدّ التنازلي في شيفرتك. فجر الغد مضمَّن لساعات ما بعد العشاء.

كيف أضيف مواقيت الصلاة إلى تطبيق التقويم؟

اشترك في رابط التقويم بإحداثياتك. تحدّثه تقويمات Google وApple وOutlook وفق جدولها الخاص، وهو يغطي الأيام الثلاثين القادمة.

للمطورين

بلا برمجة؟ ضمّن الأداة الجاهزة

الصق iframe واحدًا لعرض مواقيت الصلاة لمدينة أو تقويم الشهر في موقعك بسبع لغات. ولا يلزم مفتاح كذلك.