কুরআন গ্যালারি ডেভেলপার
বিনামূল্যে নামাজের সময়ের API: কোনো কী লাগে না
চারটি পাবলিক এন্ডপয়েন্ট JSON-এ নামাজের সময়, ক্যালেন্ডার ফিড, শহর খোঁজা এবং কাছের মসজিদ দেয়। কোনো অ্যাকাউন্ট, API কী বা খরচ নেই।
API কী লাগে নাJSON ও iCalবিনামূল্যে
বেস URL
https://qurangallery.com/prayer
নিচের সব এন্ডপয়েন্ট এই ঠিকানার অধীনে। ভুল ইনপুটে 400 এবং অতিরিক্ত অনুরোধে 429 ফেরত আসে। API কোনো CORS হেডার পাঠায় না, তাই অন্য সাইটের ব্রাউজার পেজ থেকে নয়, আপনার সার্ভার থেকে কল করুন।
একটি স্থানের নামাজের সময়
GET /prayer/api/times
একজোড়া স্থানাঙ্কের জন্য আজকের ফজর, সূর্যোদয়, জোহর, আসর, মাগরিব ও এশা, সঙ্গে আগামীকালের ফজর। প্রতিটি সময় UTC-তে ISO 8601 মুহূর্ত। ওই অক্ষাংশে ওই দিনে যে সময় নেই তা বাদ দেওয়া হয়।
প্যারামিটার
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ঐচ্ছিক- ফজরের নিজস্ব কোণ ডিগ্রিতে, ১০ থেকে ২৫। ডিফল্ট: পদ্ধতির নিজস্ব কোণ।
iaঐচ্ছিক- এশার নিজস্ব কোণ ডিগ্রিতে, ১০ থেকে ২৫। ডিফল্ট: পদ্ধতির নিজস্ব কোণ।
উদাহরণ
curl 'https://qurangallery.com/prayer/api/times?lat=21.4225&lng=39.8262'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 ফিড, যাতে ডিফল্টভাবে আগামী এক মাসের এবং months প্যারামিটারে ১২ মাস পর্যন্ত নামাজের সময় ও ইসলামি দিবস আছে। URL-টি Google Calendar, Apple Calendar বা Outlook-এ ক্যালেন্ডার সাবস্ক্রিপশন হিসেবে যোগ করুন।
প্যারামিটার
latআবশ্যক- দশমিক ডিগ্রিতে অক্ষাংশ।
lngআবশ্যক- দশমিক ডিগ্রিতে দ্রাঘিমাংশ।
methodঐচ্ছিক- হিসাব পদ্ধতির আইডি, যেমন muslim-world-league, north-america বা karachi। ডিফল্ট: নিকটতম শহরের পদ্ধতি।
madhabঐচ্ছিক- Hanafi বা Shafi, যা আসরের সময় ঠিক করে। ডিফল্ট: নিকটতম শহরের দেশের প্রচলিত নিয়ম।
authorityঐচ্ছিক- অনুষ্ঠানের জন্য হিজরি ক্যালেন্ডার কর্তৃপক্ষ, যেমন umm_al_qura বা diyanet। ডিফল্ট: নিকটতম শহরের দেশের কর্তৃপক্ষ।
monthsঐচ্ছিক- ফিড কত মাস কভার করবে, ১ থেকে ১২। ডিফল্ট: ১।
alarmঐচ্ছিক- প্রতিটি নামাজের কত মিনিট আগে অনুস্মারক বাজবে, ০ থেকে ১২০। ০ মানে কোনো অ্যালার্ম নেই। ডিফল্ট: ১০।
a_<prayer>ঐচ্ছিক- একটি নামাজের জন্য অ্যালার্মের মিনিট, ০ থেকে ১২০, alarm-এর বদলে কাজ করে। <prayer>-এর জায়গায় fajr, dhuhr, asr, maghrib বা isha লিখুন, যেমন a_fajr=15।
o_<prayer>ঐচ্ছিক- একটি নামাজকে এত মিনিট এগিয়ে বা পিছিয়ে দিন, -৬০ থেকে ৬০। <prayer>-এর জায়গায় fajr, dhuhr, asr, maghrib বা isha লিখুন, যেমন o_isha=5। ডিফল্ট: ০।
sunriseঐচ্ছিক- ফিডে সূর্যোদয় যোগ করতে ১ দিন। ডিফল্ট: বন্ধ।
travelঐচ্ছিক- ভ্রমণে জোহর, আসর ও এশা ২ রাকাত কসর হয়, এই নোট যোগ করতে ১ দিন। ডিফল্ট: বন্ধ।
ramadanঐচ্ছিক- রমজানের দিনগুলোতে সাহরি শেষ (ফজরে), ইফতার (মাগরিবে) ও তারাবিহ (ইশার ১৫ মিনিট পর, এক ঘণ্টা) যোগ করতে 1 দিন। দিনগুলো authority প্যারামিটার অনুসরণ করে। ডিফল্ট: বন্ধ।
jumuahঐচ্ছিক- শুক্রবার যোহরের ইভেন্টের নাম “জুমুআ” করতে 1 দিন। ডিফল্ট: বন্ধ।
jumuahLeadঐচ্ছিক- জুমুআর রিমাইন্ডার কত মিনিট আগে, ০ থেকে ১২০; ০ মানে রিমাইন্ডার নেই। শুক্রবার যোহরের রিমাইন্ডারের জায়গা নেয় এবং jumuah=1 লাগে। ডিফল্ট: যোহরের রিমাইন্ডার।
busyঐচ্ছিক- নামাজের ইভেন্টগুলো ব্যস্ত হিসেবে চিহ্নিত করতে 1 দিন (TRANSP:OPAQUE)। ডিফল্ট: ফাঁকা (TRANSP:TRANSPARENT)।
hlrঐচ্ছিক- উচ্চ অক্ষাংশের নিয়ম: auto, middle-of-the-night, seventh-of-the-night বা twilight-angle। ডিফল্ট: auto।
faঐচ্ছিক- ফজরের নিজস্ব কোণ ডিগ্রিতে, ১০ থেকে ২৫। ডিফল্ট: পদ্ধতির নিজস্ব কোণ।
iaঐচ্ছিক- এশার নিজস্ব কোণ ডিগ্রিতে, ১০ থেকে ২৫। ডিফল্ট: পদ্ধতির নিজস্ব কোণ।
উদাহরণ
curl 'https://qurangallery.com/prayer/api/calendar/feed.ics?lat=21.4225&lng=39.8262'রেসপন্স
ডিফল্টভাবে এক মাসের, months দিয়ে ১২ মাস পর্যন্ত ইভেন্টসহ একটি text/calendar (iCalendar) নথি।
শহর খোঁজা
GET /prayer/api/location/search
স্থানের নামকে স্থানাঙ্ক, দেশের কোড ও টাইম জোনে বদলে দেয়। প্রথমে আমাদের নিজস্ব শহরের তালিকায় খোঁজে। কোনো মিল না পেলে খালি অ্যারে ফেরত আসে।
প্যারামিটার
qআবশ্যক- স্থানের নাম, সর্বোচ্চ ২০০ অক্ষর।
উদাহরণ
curl 'https://qurangallery.com/prayer/api/location/search?q=Makkah'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ঐচ্ছিক- মিটারে খোঁজার ব্যাসার্ধ, ১০০ থেকে ৫০০০০। ডিফল্ট: ২০০০।
উদাহরণ
curl 'https://qurangallery.com/prayer/api/mosques/nearby?lat=21.4225&lng=39.8262&radius=2000'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 পাবেন।
- নামাজের সময়: এর নিজস্ব কোনো সীমা নেই। প্রতিটি পেজ দেখার সময় কল না করে প্রতিটি স্থানের উত্তর দিনভর ক্যাশ করে রাখুন।
- ক্যালেন্ডার ফিড: প্রতি মিনিটে ৩০টি অনুরোধ।
- শহর খোঁজা ও কাছের মসজিদ একই সীমা ভাগ করে: প্রতি মিনিটে ৩০টি অনুরোধ।
সচরাচর জিজ্ঞাস্য
নামাজের সময়ের API কি বিনামূল্যে, আর API কী লাগবে কি?
হ্যাঁ, এটি বিনামূল্যে এবং কী, অ্যাকাউন্ট বা সাইন-আপ লাগে না। উপরের প্যারামিটারসহ এন্ডপয়েন্টে একটি GET অনুরোধ পাঠান। অনুগ্রহ করে রেট লিমিট মেনে চলুন এবং ফলাফল ক্যাশ করুন।
শহরের নাম দিয়ে নামাজের সময় কীভাবে পাব?
q দিয়ে শহর খোঁজার এন্ডপয়েন্ট কল করুন, প্রথম ফলাফলের lat ও lon নিন, তারপর সেগুলো lat ও lng হিসেবে নামাজের সময়ের এন্ডপয়েন্টে দিন।
API ডিফল্টভাবে কোন হিসাব পদ্ধতি ও আসরের নিয়ম ব্যবহার করে?
method না পাঠালে আপনার স্থানাঙ্কের নিকটতম শহরের পদ্ধতি ব্যবহার হয়। madhab না পাঠালে ওই শহরের দেশের প্রচলিত আসরের নিয়ম ব্যবহার হয়। দুটিই ঠিক করতে method ও madhab পাঠান।
রেসপন্স থেকে কোনো নামাজ বাদ পড়ল কেন?
গ্রীষ্ম বা শীতে মেরুর কাছে সূর্য ফজর বা এশার কোণে কখনো পৌঁছাতে নাও পারে, তাই দেওয়ার মতো কোনো সময় থাকে না। অবৈধ তারিখ ফেরত না দিয়ে API ওই নামাজ বাদ দেয়।
ব্রাউজারে JavaScript থেকে কি API কল করতে পারি?
API কোনো CORS হেডার পাঠায় না, তাই অন্য সাইটের পেজ রেসপন্স পড়তে পারে না। আপনার সার্ভার থেকে কল করুন, অথবা কোড ছাড়া বসানো যায় এমন উইজেট ব্যবহার করুন।
কত ঘন ঘন নামাজের সময় চাইব?
প্রতি স্থানে দিনে একবারই যথেষ্ট। রেসপন্স সংরক্ষণ করুন এবং কাউন্টডাউন নিজের কোডে হিসাব করুন। এশার পরের ঘণ্টাগুলোর জন্য আগামীকালের ফজর সঙ্গেই আসে।
ক্যালেন্ডার অ্যাপে নামাজের সময় কীভাবে যোগ করব?
আপনার স্থানাঙ্কসহ ক্যালেন্ডার ফিডের URL-এ সাবস্ক্রাইব করুন। Google, Apple ও Outlook ক্যালেন্ডার নিজেদের সময়সূচি অনুযায়ী এটি রিফ্রেশ করে, আর এটি আগামী ৩০ দিন কভার করে।
ডেভেলপার
কোড লিখবেন না? উইজেট বসান
আপনার সাইটে ৭টি ভাষায় কোনো শহরের নামাজের সময় বা মাসের ক্যালেন্ডার দেখাতে একটিমাত্র iframe পেস্ট করুন। এর জন্যও কী লাগে না।
