← Blog
Artikel

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_id memakai 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.

Mulai Sekarang

Mulai Integrasi
Hari Ini

Daftar gratis, ambil API key, dan langsung call endpoint pertama Anda — tanpa kartu kredit, tanpa proses approval yang ribet.

Visualisasi gelombang titik