zapi.
APIsPricingDocsMCP
APIsPricingDocsMCPSign in
zapi.
APIsPricingDocsMCP
APIsPricingDocsMCPSign in
On this page
  • Playground
  • Code examples
  • Full reference
  • Related APIs
Indonesia/Jadwal Sholat & Hijriah
Logo Jadwal Sholat & Hijriah

Jadwal Sholat & Hijriah

Indonesian prayer schedules for 517 cities sourced from the Ministry of Religious Affairs dataset, plus Hijri/Gregorian conversion and qibla direction.

Endpoints
15
Requests
188
Updated
3 hours ago
For LLMs
llms.txt
Endpoint healthnot yet measured
  • source-infonot measured
  • city-listnot measured
  • city-detailnot measured
  • city-searchnot measured
  • jadwal-todaynot measured
+ 10 more endpointsShow less
  • jadwal-dailynot measured
  • jadwal-monthlynot measured
  • jadwal-rangenot measured
  • hijriah-todaynot measured
  • hijriah-convertnot measured
  • hijriah-to-masehinot measured
  • hijriah-calendarnot measured
  • qiblanot measured
  • statsnot measured
  • healthnot measured
no measurements yetdaily 01:00 WIB

Playground

15 endpoints
GET/v1/indonesia:sholat-kemenag/source-info10m cache1 paramchecking key…
Parameters
dummystring

Unused; this endpoint takes no input

·
Response
EXAMPLE
{
  "name": "Jadwal Sholat",
  "source": "bimasislam.kemenag.go.id",
  "language": "Indonesia",
  "provider": "sholat-kemenag",
  "lastUpdate": "25 November 2025",
  "description": "API jadwal Sholat bersumber dari Kementrian Agama Indonesia"
}

Code examples

Source Info
zpi-sdkrecommended
// npm i zpi-sdk
import { ZpiClient } from "zpi-sdk";

const client = new ZpiClient({ apiKey: "zpi_xxxxxxxxxxxxxxxxxxxxxxxx" });

const data = await client.run("indonesia:sholat-kemenag", "source-info", {});
console.log(data);
Full SDK reference →
request.sh
curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/source-info?dummy=" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Full reference

15 endpoints · plain text
GETSource Info/v1/indonesia:sholat-kemenag/source-infoDataset provenance and its last update date.

Parameters

dummystringoptional
Unused; this endpoint takes no input

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/source-info?dummy=" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "name": "Jadwal Sholat",
  "source": "bimasislam.kemenag.go.id",
  "language": "Indonesia",
  "provider": "sholat-kemenag",
  "lastUpdate": "25 November 2025",
  "description": "API jadwal Sholat bersumber dari Kementrian Agama Indonesia"
}
GETCity List/v1/indonesia:sholat-kemenag/city-listAll 517 regencies/cities that have a prayer schedule.

Parameters

keywordstringoptional
Filter by city name
pagenumberoptional
Page number (starts at 1). Default 1
countnumberoptional
Items per page. Default 100, max 600

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/city-list?keyword=bandung&page=1&count=" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "page": 1,
  "count": 10,
  "items": [
    {
      "city": "KAB. ACEH BARAT",
      "cityId": "c4ca4238a0b923820dcc509a6f75849b"
    },
    {
      "city": "KAB. ACEH BARAT DAYA",
      "cityId": "c81e728d9d4c2f636f067f89cc14862c"
    },
    {
      "city": "KAB. ACEH BESAR",
      "cityId": "eccbc87e4b5ce2fe28308fd9f2a7baf3"
    },
    {
      "city": "KAB. ACEH JAYA",
      "cityId": "a87ff679a2f3e71d9181a67b7542122c"
    },
    {
      "city": "KAB. ACEH SELATAN",
      "cityId": "e4da3b7fbbce2345d7772b0674a318d5"
    },
    {
      "city": "KAB. ACEH SINGKIL",
      "cityId": "1679091c5a880faf6fb5e6087eb1b2dc"
    },
    {
      "city": "KAB. ACEH TAMIANG",
      "cityId": "8f14e45fceea167a5a36dedd4bea2543"
    },
    {
      "city": "KAB. ACEH TENGAH",
      "cityId": "c9f0f895fb98ab9159f51fd0297e236d"
    }
  ],
  "total": 517,
  "hasMore": true,
  "nextPage": 2,
  "provider": "sholat-kemenag",
  "returned": 10
}
GETCity Detail/v1/indonesia:sholat-kemenag/city-detailOne city by id.

Parameters

cityIdstringrequired
City id from city-list/city-search

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/city-detail?cityId=eda80a3d5b344bc40f3bc04f65b7a357" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "city": "KOTA KEDIRI",
  "cityId": "eda80a3d5b344bc40f3bc04f65b7a357",
  "provider": "sholat-kemenag"
}
GETCity Search/v1/indonesia:sholat-kemenag/city-searchFind cities by name keyword.

Parameters

qstringrequired
City name keyword, at least 2 characters

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/city-search?q=kediri" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "count": 3,
  "items": [
    {
      "city": "KAB. BANDUNG",
      "cityId": "0777d5c17d4066b82ab86dff8a46af6f"
    },
    {
      "city": "KAB. BANDUNG BARAT",
      "cityId": "fa7cdfad1a5aaf8370ebeda47a1ff1c3"
    },
    {
      "city": "KOTA BANDUNG",
      "cityId": "fc221309746013ac554571fbd180e1c8"
    }
  ],
  "query": "bandung",
  "provider": "sholat-kemenag"
}
GETPrayer Times Today/v1/indonesia:sholat-kemenag/jadwal-todayToday's prayer schedule for one city, by id or name.

Parameters

cityIdstringoptional
City id from city-list/city-search. One of cityId or city is required
citystringoptional
City name to auto-resolve (alternative to cityId)
tzstringoptional
Timezone used to pick today's date. Default Asia/Jakarta

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/jadwal-today?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&tz=Asia%2FJakarta" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "city": "KAB. KEDIRI",
  "date": "2026-08-29",
  "isya": "18:44",
  "ashar": "14:55",
  "dhuha": "05:59",
  "imsak": "04:09",
  "subuh": "04:19",
  "cityId": "9188905e74c28e489b44e954ec0b9bca",
  "dzuhur": "11:36",
  "terbit": "05:32",
  "maghrib": "17:34",
  "provider": "sholat-kemenag",
  "province": "JAWA TIMUR",
  "dateLabel": "Sabtu, 29/08/2026"
}
GETPrayer Times by Date/v1/indonesia:sholat-kemenag/jadwal-dailyPrayer schedule for one date and city.

Parameters

cityIdstringoptional
City id from city-list/city-search. One of cityId or city is required
citystringoptional
City name to auto-resolve (alternative to cityId)
datestringrequired
Date in YYYY-MM-DD

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/jadwal-daily?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&date=2026-08-29" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "city": "KOTA JAKARTA",
  "date": "2026-08-29",
  "isya": "19:05",
  "ashar": "15:15",
  "dhuha": "06:19",
  "imsak": "04:29",
  "subuh": "04:39",
  "cityId": "58a2fc6ed39fd083f55d4182bf88826d",
  "dzuhur": "11:57",
  "terbit": "05:51",
  "maghrib": "17:56",
  "provider": "sholat-kemenag",
  "province": "DKI JAKARTA",
  "dateLabel": "Sabtu, 29/08/2026"
}
GETPrayer Times by Month/v1/indonesia:sholat-kemenag/jadwal-monthlyWhole-month prayer schedule for one city.

Parameters

cityIdstringoptional
City id from city-list/city-search. One of cityId or city is required
citystringoptional
City name to auto-resolve (alternative to cityId)
yearnumberrequired
Gregorian year
monthnumberrequired
Gregorian month, 1-12

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/jadwal-monthly?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&year=2026&month=8" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "city": "KAB. KEDIRI",
  "year": 2026,
  "count": 31,
  "items": [
    {
      "date": "2026-08-01",
      "isya": "18:47",
      "ashar": "15:02",
      "dhuha": "06:10",
      "imsak": "04:16",
      "subuh": "04:26",
      "dzuhur": "11:42",
      "terbit": "05:42",
      "maghrib": "17:35",
      "dateLabel": "Sabtu, 01/08/2026"
    },
    {
      "date": "2026-08-02",
      "isya": "18:47",
      "ashar": "15:02",
      "dhuha": "06:10",
      "imsak": "04:16",
      "subuh": "04:26",
      "dzuhur": "11:42",
      "terbit": "05:42",
      "maghrib": "17:35",
      "dateLabel": "Minggu, 02/08/2026"
    },
    {
      "date": "2026-08-03",
      "isya": "18:46",
      "ashar": "15:02",
      "dhuha": "06:10",
      "imsak": "04:16",
      "subuh": "04:26",
      "dzuhur": "11:42",
      "terbit": "05:41",
      "maghrib": "17:35",
      "dateLabel": "Senin, 03/08/2026"
    }
  ],
  "month": 8,
  "cityId": "9188905e74c28e489b44e954ec0b9bca",
  "provider": "sholat-kemenag",
  "province": "JAWA TIMUR"
}
GETPrayer Times Range/v1/indonesia:sholat-kemenag/jadwal-rangePrayer schedule across up to 12 months, paced against the source rate limit.

Parameters

cityIdstringoptional
City id from city-list/city-search. One of cityId or city is required
citystringoptional
City name to auto-resolve (alternative to cityId)
fromstringrequired
First month in YYYY-MM
tostringrequired
Last month in YYYY-MM, at most 12 months after from

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/jadwal-range?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&from=2026-08&to=2026-10" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "to": "2026-09",
  "city": "KAB. KEDIRI",
  "from": "2026-08",
  "count": 61,
  "items": [
    {
      "date": "2026-08-01",
      "isya": "18:47",
      "ashar": "15:02",
      "dhuha": "06:10",
      "imsak": "04:16",
      "subuh": "04:26",
      "dzuhur": "11:42",
      "terbit": "05:42",
      "maghrib": "17:35",
      "dateLabel": "Sabtu, 01/08/2026"
    },
    {
      "date": "2026-08-02",
      "isya": "18:47",
      "ashar": "15:02",
      "dhuha": "06:10",
      "imsak": "04:16",
      "subuh": "04:26",
      "dzuhur": "11:42",
      "terbit": "05:42",
      "maghrib": "17:35",
      "dateLabel": "Minggu, 02/08/2026"
    },
    {
      "date": "2026-08-03",
      "isya": "18:46",
      "ashar": "15:02",
      "dhuha": "06:10",
      "imsak": "04:16",
      "subuh": "04:26",
      "dzuhur": "11:42",
      "terbit": "05:41",
      "maghrib": "17:35",
      "dateLabel": "Senin, 03/08/2026"
    }
  ],
  "cityId": "9188905e74c28e489b44e954ec0b9bca",
  "hasMore": false,
  "provider": "sholat-kemenag",
  "province": "JAWA TIMUR",
  "monthsReturned": 2,
  "monthsRequested": 2
}
GETHijri Date Today/v1/indonesia:sholat-kemenag/hijriah-todayToday in both the Gregorian and Hijri calendars.

Parameters

adjnumberoptional
Whole-day offset applied by the source. Default 0

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/hijriah-today?adj=0" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "hijri": {
    "day": 17,
    "date": "Sabtu, 17 Rabiulawal 1448 H",
    "year": 1448,
    "month": 3,
    "dayName": "Sabtu",
    "monthName": "Rabiulawal"
  },
  "method": "standar",
  "provider": "sholat-kemenag",
  "gregorian": {
    "day": 29,
    "date": "Sabtu, 29 Agustus 2026",
    "year": 2026,
    "month": 8,
    "dayName": "Sabtu",
    "monthName": "Agustus"
  },
  "adjustment": 0
}
GETGregorian to Hijri/v1/indonesia:sholat-kemenag/hijriah-convertConvert a Gregorian date to Hijri; the source's method and day adjustment are returned with it.

Parameters

datestringrequired
Gregorian date in YYYY-MM-DD
adjnumberoptional
Whole-day offset applied by the source. Default 0

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/hijriah-convert?date=2026-08-29&adj=0" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "hijri": {
    "day": 17,
    "date": "Sabtu, 17 Rabiulawal 1448 H",
    "year": 1448,
    "month": 3,
    "dayName": "Sabtu",
    "monthName": "Rabiulawal"
  },
  "method": "standar",
  "provider": "sholat-kemenag",
  "gregorian": {
    "day": 29,
    "date": "Sabtu, 29 Agustus 2026",
    "year": 2026,
    "month": 8,
    "dayName": "Sabtu",
    "monthName": "Agustus"
  },
  "adjustment": 0
}
GETHijri to Gregorian/v1/indonesia:sholat-kemenag/hijriah-to-masehiConvert a Hijri date to Gregorian.

Parameters

datestringrequired
Hijri date in YYYY-MM-DD
adjnumberoptional
Whole-day offset applied by the source. Default 0

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/hijriah-to-masehi?date=1448-03-15&adj=0" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "hijri": {
    "day": 15,
    "date": "Kamis, 15 Rabiulawal 1448 H",
    "year": 1448,
    "month": 3,
    "dayName": "Kamis",
    "monthName": "Rabiulawal"
  },
  "method": "standar",
  "provider": "sholat-kemenag",
  "gregorian": {
    "day": 27,
    "date": "Kamis, 27 Agustus 2026",
    "year": 2026,
    "month": 8,
    "dayName": "Kamis",
    "monthName": "Agustus"
  },
  "adjustment": 0
}
GETHijri Calendar (Month)/v1/indonesia:sholat-kemenag/hijriah-calendarEvery day of one Gregorian month with its Hijri equivalent.

Parameters

yearnumberrequired
Gregorian year
monthnumberrequired
Gregorian month, 1-12
adjnumberoptional
Whole-day offset applied by the source. Default 0

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/hijriah-calendar?year=2026&month=8&adj=0" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "year": 2026,
  "count": 31,
  "items": [
    {
      "date": "2026-08-01",
      "dayName": "Sabtu",
      "hijriDay": 18,
      "hijriDate": "Sabtu, 18 Safar 1448 H",
      "hijriYear": 1448,
      "hijriMonth": 2,
      "hijriMonthName": "Safar"
    },
    {
      "date": "2026-08-02",
      "dayName": "Minggu",
      "hijriDay": 19,
      "hijriDate": "Ahad, 19 Safar 1448 H",
      "hijriYear": 1448,
      "hijriMonth": 2,
      "hijriMonthName": "Safar"
    },
    {
      "date": "2026-08-03",
      "dayName": "Senin",
      "hijriDay": 20,
      "hijriDate": "Senin, 20 Safar 1448 H",
      "hijriYear": 1448,
      "hijriMonth": 2,
      "hijriMonthName": "Safar"
    }
  ],
  "month": 8,
  "total": 31,
  "method": "standar",
  "hasMore": false,
  "provider": "sholat-kemenag",
  "adjustment": 0
}
GETQibla Direction/v1/indonesia:sholat-kemenag/qiblaQibla bearing in degrees from true north for a coordinate.

Parameters

latnumberrequired
Latitude, -90 to 90
lngnumberrequired
Longitude, -180 to 180

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/qibla?lat=-6.2&lng=106.8" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "latitude": -6.2,
  "provider": "sholat-kemenag",
  "direction": 295.1605319853645,
  "longitude": 106.8
}
GETSource Usage Stats/v1/indonesia:sholat-kemenag/statsMonthly request counts reported by the upstream dataset.

Parameters

yearnumberoptional
Year. Omit for the current year

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/stats?year=2026" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "year": null,
  "count": 8,
  "items": [
    {
      "hits": 1531509,
      "year": 2026,
      "month": 1
    },
    {
      "hits": 1315623,
      "year": 2026,
      "month": 2
    },
    {
      "hits": 2775884,
      "year": 2026,
      "month": 3
    },
    {
      "hits": 2217113,
      "year": 2026,
      "month": 4
    },
    {
      "hits": 2827523,
      "year": 2026,
      "month": 5
    },
    {
      "hits": 2811013,
      "year": 2026,
      "month": 6
    },
    {
      "hits": 3166694,
      "year": 2026,
      "month": 7
    },
    {
      "hits": 2256460,
      "year": 2026,
      "month": 8
    }
  ],
  "average": 2362727.38,
  "provider": "sholat-kemenag"
}
GETSource Health/v1/indonesia:sholat-kemenag/healthUpstream liveness and uptime.

Parameters

dummystringoptional
Unused; this endpoint takes no input

Request

curl -X GET "https://api.zpi.web.id/v1/indonesia:sholat-kemenag/health?dummy=" \
  -H "x-api-key: zpi_xxxxxxxxxxxxxxxxxxxxxxxx"

Example response

{
  "provider": "sholat-kemenag",
  "timezone": "Asia/Jakarta",
  "startedAt": "2026-05-26T02:00:46.816Z",
  "serverTime": "2026-08-29T09:26:32.299Z",
  "uptimeSeconds": 8234745
}

Related APIs

More in indonesia

Al-Qur'an Kemenag

indonesia/quran-kemenag

Official Indonesian Ministry of Religious Affairs Qur'an: 114 surah, 6,236 ayah with Arabic, kitabah, transliteration, Indonesian translation and footnotes, plus the full Kemenag tafsir (wajiz, tahlili, kosakata, munasabah, sabab nuzul).

242 calls·10m cache

Bimas Islam Kemenag

indonesia/bimasislam

Directorate General of Islamic Community Guidance: sharia consultation Q&A answered by the Kemenag team, official news, and directorate profile pages.

82 calls·10m cache

Cek BPOM

indonesia/cek-bpom

Pencarian registrasi produk obat, kosmetik, suplemen, dan pangan pada database resmi BPOM RI.

38 calls·5m cache

LPSE / Tender Pemerintah

indonesia/lpse

Data tender & pengadaan pemerintah Indonesia dari sumber nasional (Satu Data LKPP). Cari paket tender lintas instansi, lihat detail tender (pagu/HPS/jadwal/anggaran), dan direktori kode LPSE.

30 calls·30m cache

Cek NIK

indonesia/cek-nik

Decode structural information from a 16-digit Indonesian NIK identifier.

23 calls·5m cache

Cek Kode Pos

indonesia/cek-kode-pos

Cari kode pos Indonesia berdasarkan nama kelurahan, kecamatan, atau kota.

22 calls·5m cache
Browse APIsPricingDocsMCP serverGet an API key
zapi.One key, one response shape.
TermsPrivacyCookiesAUPRefunds© 2026