Quran Gallery Pengembang
API Waktu Salat Gratis: Tanpa Kunci
Empat endpoint publik mengembalikan waktu salat dalam JSON, feed kalender, pencarian kota, dan masjid terdekat. Tanpa akun, tanpa kunci API, tanpa biaya.
Tanpa kunci APIJSON dan iCalGratis
URL dasar
https://qurangallery.com/prayer
Semua endpoint di bawah berada di alamat ini. Input yang salah mengembalikan 400 dan terlalu banyak permintaan mengembalikan 429. API tidak mengirim header CORS, jadi panggil dari server Anda, bukan dari halaman browser di situs lain.
Waktu salat untuk sebuah lokasi
GET /prayer/api/times
Subuh, terbit, Zuhur, Asar, Magrib, dan Isya hari ini untuk sepasang koordinat, plus Subuh besok. Setiap waktu adalah instan ISO 8601 dalam UTC. Waktu yang tidak ada pada lintang itu di hari itu tidak disertakan.
Parameter
latwajib- Lintang dalam derajat desimal.
lngwajib- Bujur dalam derajat desimal.
methodopsional- ID metode perhitungan, misalnya muslim-world-league, north-america atau karachi. Bawaan: metode kota terdekat.
madhabopsional- Hanafi atau Shafi, yang menentukan waktu Asar. Bawaan: kebiasaan umum di negara kota terdekat.
hlropsional- Aturan lintang tinggi: auto, middle-of-the-night, seventh-of-the-night, atau twilight-angle. Bawaan: auto.
faopsional- Sudut Subuh kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.
iaopsional- Sudut Isya kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.
Contoh
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();Respons
{
"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"
}Feed kalender (iCal)
GET /prayer/api/calendar/feed.ics
Feed .ics yang bisa dilanggani berisi waktu salat dan hari besar Islam untuk sebulan ke depan secara bawaan, dan hingga 12 bulan dengan parameter months. Tambahkan URL sebagai langganan kalender di Google Calendar, Apple Calendar atau Outlook.
Parameter
latwajib- Lintang dalam derajat desimal.
lngwajib- Bujur dalam derajat desimal.
methodopsional- ID metode perhitungan, misalnya muslim-world-league, north-america atau karachi. Bawaan: metode kota terdekat.
madhabopsional- Hanafi atau Shafi, yang menentukan waktu Asar. Bawaan: kebiasaan umum di negara kota terdekat.
authorityopsional- Otoritas kalender Hijriah untuk acara, misalnya umm_al_qura atau diyanet. Bawaan: otoritas negara kota terdekat.
monthsopsional- Jumlah bulan yang dicakup feed, dari 1 sampai 12. Bawaan: 1.
alarmopsional- Menit sebelum setiap sholat untuk membunyikan pengingat, dari 0 sampai 120. 0 berarti tanpa alarm. Bawaan: 10.
a_<prayer>opsional- Menit alarm untuk satu sholat, dari 0 sampai 120, menggantikan alarm. Pakai fajr, dhuhr, asr, maghrib, atau isha sebagai ganti <prayer>, misalnya a_fajr=15.
o_<prayer>opsional- Geser satu sholat sebanyak menit ini, dari -60 sampai 60. Pakai fajr, dhuhr, asr, maghrib, atau isha sebagai ganti <prayer>, misalnya o_isha=5. Bawaan: 0.
sunriseopsional- Isi 1 untuk menambahkan waktu terbit ke feed. Bawaan: nonaktif.
travelopsional- Isi 1 untuk menambahkan catatan pada Dzuhur, Ashar, dan Isya bahwa sholat diringkas menjadi 2 rakaat saat bepergian. Bawaan: nonaktif.
ramadanopsional- Isi 1 untuk menambahkan Sahur berakhir (saat Subuh), Buka puasa (saat Magrib) dan Tarawih (mulai 15 menit setelah Isya, satu jam) pada hari-hari Ramadan. Hari mengikuti parameter authority. Bawaan: mati.
jumuahopsional- Isi 1 untuk menamai acara Zuhur “Jumat” pada hari Jumat. Bawaan: mati.
jumuahLeadopsional- Menit sebelum Jumat untuk pengingatnya, dari 0 sampai 120; 0 berarti tanpa pengingat. Menggantikan pengingat Zuhur pada hari Jumat dan memerlukan jumuah=1. Bawaan: pengingat Zuhur.
busyopsional- Isi 1 untuk menandai acara sholat sebagai sibuk (TRANSP:OPAQUE). Bawaan: luang (TRANSP:TRANSPARENT).
hlropsional- Aturan lintang tinggi: auto, middle-of-the-night, seventh-of-the-night, atau twilight-angle. Bawaan: auto.
faopsional- Sudut Subuh kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.
iaopsional- Sudut Isya kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.
Contoh
curl 'https://qurangallery.com/prayer/api/calendar/feed.ics?lat=21.4225&lng=39.8262'Respons
Dokumen text/calendar (iCalendar) berisi acara sebulan secara bawaan, hingga 12 bulan dengan months.
Pencarian kota
GET /prayer/api/location/search
Mengubah nama tempat menjadi koordinat, kode negara, dan zona waktu. Pencarian dimulai dari daftar kota kami sendiri. Kueri tanpa hasil mengembalikan array kosong.
Parameter
qwajib- Nama tempat, maksimal 200 karakter.
Contoh
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();Respons
[
{
"lat": 21.4266,
"lon": 39.8256,
"displayName": "Makkah, Saudi Arabia",
"countryCode": "SA",
"timezone": "Asia/Riyadh"
}
]Masjid terdekat
GET /prayer/api/mosques/nearby
Masjid di sekitar sebuah titik, dari yang terdekat, berdasarkan data OpenStreetMap. Jaraknya dalam meter. Jawabannya 503 bila layanan data peta tidak tersedia.
Parameter
latwajib- Lintang dalam derajat desimal.
lngwajib- Bujur dalam derajat desimal.
radiusopsional- Radius pencarian dalam meter, dari 100 sampai 50000. Bawaan: 2000.
Contoh
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();Respons
[
{
"id": 1234567,
"name": "Example Mosque",
"lat": 21.4231,
"lng": 39.8269,
"address": "Example Street 12",
"distance": 96.4
}
]Batas permintaan
Batas menghitung permintaan per alamat IP dalam jendela satu menit. Setelah melewati batas, Anda mendapat HTTP 429.
- Waktu salat: tidak ada batas tersendiri. Simpan jawaban tiap lokasi untuk satu hari alih-alih memanggilnya di setiap tampilan halaman.
- Feed kalender: 30 permintaan per menit.
- Pencarian kota dan masjid terdekat berbagi satu jatah: 30 permintaan per menit.
Pertanyaan yang Sering Diajukan
Apakah API waktu salat ini gratis dan perlukah kunci API?
Ya, gratis dan tidak perlu kunci, akun, atau pendaftaran. Kirim permintaan GET ke endpoint dengan parameter di atas. Mohon patuhi batas permintaan dan simpan hasilnya.
Bagaimana cara mendapat waktu salat dari nama kota?
Panggil endpoint pencarian kota dengan q, ambil lat dan lon dari hasil pertama, lalu berikan sebagai lat dan lng ke endpoint waktu salat.
Metode perhitungan dan aturan Asar apa yang dipakai API secara bawaan?
Bila Anda tidak mengirim method, API memakai metode kota yang paling dekat dengan koordinat Anda. Bila tidak mengirim madhab, dipakai aturan Asar yang lazim di negara kota itu. Kirim method dan madhab untuk menetapkan keduanya.
Mengapa ada salat yang hilang dari respons?
Di dekat kutub saat musim panas atau dingin, matahari bisa tidak pernah mencapai sudut Subuh atau Isya, sehingga tidak ada waktu yang bisa diberikan. API melewatkan salat itu, bukan mengembalikan tanggal yang tidak valid.
Bisakah saya memanggil API dari JavaScript di browser?
API tidak mengirim header CORS, jadi halaman di situs lain tidak dapat membaca responsnya. Panggil dari server Anda, atau pakai widget yang bisa disematkan tanpa kode.
Seberapa sering saya perlu meminta waktu salat?
Sekali per lokasi per hari sudah cukup. Simpan responsnya dan hitung hitung mundur di kode Anda sendiri. Subuh besok disertakan untuk jam-jam setelah Isya.
Bagaimana menambahkan waktu salat ke aplikasi kalender?
Langganan URL feed kalender dengan koordinat Anda. Kalender Google, Apple, dan Outlook memperbaruinya sesuai jadwal masing-masing, dan feed ini mencakup 30 hari ke depan.
Pengembang
Tanpa kode? Pasang widget
Tempel satu iframe untuk menampilkan waktu salat kota atau kalender bulanan di situs Anda, dalam 7 bahasa. Tidak perlu kunci juga.
