API Jadwal Sholat Kemenag: Integrasi 514 Kab/Kota dalam Satu Endpoint
Jadwal sholat harian dan bulanan untuk 514 kabupaten/kota dari data Kemenag. Cocok untuk aplikasi Islami, masjid, dan panel adzan. Contoh kode disertakan.
Membangun aplikasi Islami atau sistem informasi masjid hampir selalu butuh jadwal sholat yang akurat per lokasi. Masalah klasiknya: data resmi dari Kemenag tersebar di situs yang tidak punya API publik yang stabil, jadi developer sering akhirnya menghitung sendiri pakai rumus astronomi, lalu hasilnya beda beberapa menit dengan jadwal yang dipakai masjid setempat.
Kalau target aplikasi Anda adalah pengguna Indonesia, lebih aman pakai data yang sama dengan yang dipakai di lapangan. API Jadwal Sholat dari API Indonesia menyajikan jadwal sholat harian dan bulanan untuk 514 kabupaten/kota dengan data bersumber dari Kemenag.
Endpoint
Base URL: https://use.apiindonesia.id/api/v1/sholat
| Method | Endpoint | Keterangan |
|---|---|---|
| GET | /list-kota |
Daftar kabupaten/kota yang punya data |
| GET | ?kabupaten_id=&tanggal= |
Jadwal satu hari |
| GET | /monthly?kabupaten_id=&tahun=&bulan= |
Jadwal satu bulan penuh |
Contoh curl: jadwal harian
curl "https://use.apiindonesia.id/api/v1/sholat?kabupaten_id=3273&tanggal=2026-07-03" \
-H "x-api-key: $API_INDONESIA_KEY"
Response:
{
"data": {
"regency_id": "3273",
"date": "2026-07-03",
"imsyak": "04:29",
"shubuh": "04:39",
"terbit": "05:58",
"dhuha": "06:26",
"dzuhur": "11:56",
"ashr": "15:17",
"maghrib": "17:47",
"isya": "19:01",
"source": "Kemenag"
}
}
Contoh curl: jadwal bulanan
curl "https://use.apiindonesia.id/api/v1/sholat/monthly?kabupaten_id=3273&tahun=2026&bulan=7" \
-H "x-api-key: $API_INDONESIA_KEY"
Contoh Integrasi Python
Berikut pola implementasi untuk backend aplikasi masjid: fetch bulanan sekali, simpan ke cache lokal, lalu serve per hari tanpa hit API berulang.
import requests, os
from datetime import date
BASE = "https://use.apiindonesia.id/api/v1/sholat"
HEADERS = {"x-api-key": os.environ["API_INDONESIA_KEY"]}
def jadwal_bulanan(kabupaten_id: str, tahun: int, bulan: int):
res = requests.get(
f"{BASE}/monthly",
params={"kabupaten_id": kabupaten_id, "tahun": tahun, "bulan": bulan},
headers=HEADERS,
timeout=10,
)
res.raise_for_status()
return res.json()["data"]
def jadwal_hari_ini(kabupaten_id: str):
hari_ini = date.today().isoformat()
for row in jadwal_bulanan(kabupaten_id, date.today().year, date.today().month):
if row["date"] == hari_ini:
return row
return None
jadwal = jadwal_hari_ini("3273") # Kota Bandung
print(f"Maghrib di {jadwal['regency_id']}: {jadwal['maghrib']}")
Use Case
- Aplikasi adzan mobile: notifikasi otomatis 10 menit sebelum maghrib pakai field per waktu sholat.
- Panel LED / website masjid: tampilkan jadwal bulanan sekaligus, cukup satu kali fetch per bulan.
- Aplikasi Muslim lengkap: gabungkan dengan API Al-Quran dan API Kalender Hijriah dari penyedia yang sama, satu API key untuk semuanya.
- Aplikasi chauffeur/driver atau logistics Muslim-friendly: pengingat waktu sholat berdasarkan lokasi kabupaten terakhir.
Catatan Teknis
kabupaten_idmemakai kode kemendagri 4 digit, contoh 3273 untuk Kota Bandung. Ambil daftarnya dari endpoint/list-kota.- Response punya field
source: "Kemenag", jadi Anda bisa menampilkan atribusi sumber data di UI. - Endpoint bulanan mengembalikan seluruh hari dalam satu bulan, urut tanggal, cocok untuk pre-render jadwal.
- Auth pakai header
x-api-key, sama seperti semua API lain di platform API Indonesia.
Mulai Sekarang
Dapatkan API key gratis di dashboard.apiindonesia.id/register dan coba langsung. Detail parameter lengkap ada di halaman API Jadwal Sholat Indonesia dan docs.apiindonesia.id.
