Lewati ke konten

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

lat wajib
Lintang dalam derajat desimal.
lng wajib
Bujur dalam derajat desimal.
method opsional
ID metode perhitungan, misalnya muslim-world-league, north-america atau karachi. Bawaan: metode kota terdekat.
madhab opsional
Hanafi atau Shafi, yang menentukan waktu Asar. Bawaan: kebiasaan umum di negara kota terdekat.
hlr opsional
Aturan lintang tinggi: auto, middle-of-the-night, seventh-of-the-night, atau twilight-angle. Bawaan: auto.
fa opsional
Sudut Subuh kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.
ia opsional
Sudut Isya kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.

Contoh

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();

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

lat wajib
Lintang dalam derajat desimal.
lng wajib
Bujur dalam derajat desimal.
method opsional
ID metode perhitungan, misalnya muslim-world-league, north-america atau karachi. Bawaan: metode kota terdekat.
madhab opsional
Hanafi atau Shafi, yang menentukan waktu Asar. Bawaan: kebiasaan umum di negara kota terdekat.
authority opsional
Otoritas kalender Hijriah untuk acara, misalnya umm_al_qura atau diyanet. Bawaan: otoritas negara kota terdekat.
months opsional
Jumlah bulan yang dicakup feed, dari 1 sampai 12. Bawaan: 1.
alarm opsional
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.
sunrise opsional
Isi 1 untuk menambahkan waktu terbit ke feed. Bawaan: nonaktif.
travel opsional
Isi 1 untuk menambahkan catatan pada Dzuhur, Ashar, dan Isya bahwa sholat diringkas menjadi 2 rakaat saat bepergian. Bawaan: nonaktif.
ramadan opsional
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.
jumuah opsional
Isi 1 untuk menamai acara Zuhur “Jumat” pada hari Jumat. Bawaan: mati.
jumuahLead opsional
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.
busy opsional
Isi 1 untuk menandai acara sholat sebagai sibuk (TRANSP:OPAQUE). Bawaan: luang (TRANSP:TRANSPARENT).
hlr opsional
Aturan lintang tinggi: auto, middle-of-the-night, seventh-of-the-night, atau twilight-angle. Bawaan: auto.
fa opsional
Sudut Subuh kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.
ia opsional
Sudut Isya kustom dalam derajat, dari 10 sampai 25. Bawaan: sudut bawaan metode.

Contoh

curl
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.

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

q wajib
Nama tempat, maksimal 200 karakter.

Contoh

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();

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

lat wajib
Lintang dalam derajat desimal.
lng wajib
Bujur dalam derajat desimal.
radius opsional
Radius pencarian dalam meter, dari 100 sampai 50000. Bawaan: 2000.

Contoh

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();

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.