HouseMuslim
Referensi API

Waktu Salat

Hitung waktu salat harian atau bulanan untuk koordinat mana pun, dengan resolusi zona waktu otomatis, 18+ metode, aturan lintang tinggi, dan elevasi.

Ambil waktu salat

GET /api/v1/prayer/times

Mengembalikan Imsak, Fajr, Sunrise, Dhuhr, Asr, Sunset, Maghrib, Isha, dan ketiga sepertiga malam untuk satu hari.

Parameter kueri

ParamTypeDefaultDeskripsi
latfloat— (wajib)Lintang, −90…90
lngfloat— (wajib)Bujur, −180…180
datestringhari iniYYYY-MM-DD
methodstringKemenagMetode perhitungan (daftar)
madhabstringshafishafi atau hanafi (Asar)
high_latstringnoneAturan lintang tinggi
shafaqstringgeneralUntuk MoonsightingCommittee
precisionstringstandardstandard atau high
elevationfloat0Meter, −500…9000
tzstringautoNama IANA (Asia/Jakarta) atau offset menit (420)

Zona waktu otomatis

Jika tz tidak diberikan, engine akan me-resolve zona waktu IANA dari lat/lng menggunakan poligon batas yang tertanam (mendukung DST). Respons melaporkan sumber yang digunakan melalui timezone_source: explicit, offset, lookup, atau longitude.

Respons juga menyertakan objek place (kota/wilayah/negara) hasil reverse-geocode offline dari koordinat — tanpa panggilan API eksternal.

GET/prayer/timesLangsung
GET /prayer/times?lat=-6.20&lng=106.85&method=Kemenag&madhab=shafi&precision=high&high_lat=none

Contoh

curl "https://api.housemuslim.org/api/v1/prayer/times?lat=-6.20&lng=106.85&method=Kemenag&precision=high"
const params = new URLSearchParams({
  lat: '-6.20', lng: '106.85', method: 'Kemenag', precision: 'high',
});
const res = await fetch(`https://api.housemuslim.org/api/v1/prayer/times?${params}`);
const { data } = await res.json();
console.log(data.times.fajr);
{
  "success": true,
  "data": {
    "date": "2026-06-20",
    "method": "Kemenag",
    "madhab": "shafi",
    "precision": "high",
    "timezone_offset_min": 420,
    "timezone": "Asia/Jakarta",
    "timezone_source": "lookup",
    "elevation": 0,
    "place": {
      "lat": -6.2, "lng": 106.85,
      "city": "Jakarta", "region": "Jakarta",
      "country": "Indonesia", "country_code": "ID",
      "nearest_city_km": 0.4
    },
    "times": {
      "imsak": "2026-06-20T04:23:00+07:00",
      "fajr": "2026-06-20T04:37:00+07:00",
      "sunrise": "2026-06-20T06:01:00+07:00",
      "dhuhr": "2026-06-20T11:54:00+07:00",
      "asr": "2026-06-20T15:16:00+07:00",
      "sunset": "2026-06-20T17:47:00+07:00",
      "maghrib": "2026-06-20T17:47:00+07:00",
      "isha": "2026-06-20T19:02:00+07:00",
      "first_third": "2026-06-20T21:24:00+07:00",
      "midnight": "2026-06-20T23:12:00+07:00",
      "last_third": "2026-06-21T01:00:00+07:00"
    }
  }
}

Contoh lainnya

# Lintang tinggi (London, Juni) dengan aturan senja berbasis sudut
curl ".../prayer/times?lat=51.5&lng=-0.13&high_lat=twilight_angle&method=MWL"

# Moonsighting Committee dengan shafaq mega putih
curl ".../prayer/times?lat=40.7&lng=-74.0&method=MoonsightingCommittee&shafaq=abyad"

# Zona waktu IANA eksplisit + elevasi
curl ".../prayer/times?lat=-6.9&lng=107.6&tz=Asia/Jakarta&elevation=768"

Ambil satu bulan penuh

GET /api/v1/prayer/times/month

Parameter sama seperti di atas, ditambah month=YYYY-MM (default-nya mengikuti bulan dari date). Mengembalikan array berisi objek times harian.

curl ".../prayer/times/month?lat=-6.20&lng=106.85&month=2026-03"

Di halaman ini