# Indonesia — Zapi reference > Every Indonesia endpoint on Zapi, with parameters, request shape and an example response. **Base URL:** `https://api.zapi.ink` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a key at https://zapi.ink/dashboard/keys (free tier — 600 req/mo, no credit card). **Response envelope:** `{ status: "success" | "error", message: string, content: }` **Rate limit:** 60 req/min (free tier). Per-endpoint cache TTL is documented below. **Errors:** standard HTTP codes (`401` invalid key, `429` rate limited, `5xx` upstream). Body always has `{ status: "error", message, errors? }`. ```bash curl "https://api.zapi.ink/v1/CATEGORY:SCRAPER/ENDPOINT?param=value" \ -H "x-api-key: $ZAPI_KEY" ``` **Category page:** https://zapi.ink/category/indonesia **Full catalog:** https://zapi.ink/apis · **Index:** https://zapi.ink/llms-full.txt --- ## Bimas Islam Kemenag **Category:** indonesia · **Slug:** `bimasislam` **Detail page:** https://zapi.ink/api/indonesia/bimasislam Directorate General of Islamic Community Guidance: sharia consultation Q&A answered by the Kemenag team, official news, and directorate profile pages. **Tags:** bimas-islam, kemenag, konsultasi-syariah, fatwa, indonesia ### Consultation Categories The 14 sharia consultation categories. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-categories` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `dummy` | string | query | no | Unused; this endpoint takes no input | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-categories?dummy=VALUE" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-categories?dummy=VALUE", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-categories?dummy=VALUE", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 14, "items": [ { "label": "Al Quran dan Hadist", "category": "alquranhadist" }, { "label": "Aqidah (Paham Keagamaan)", "category": "aqidah_paham" }, { "label": "Aqidah (Aliran Keagamaan)", "category": "aqidah_aliran" }, { "label": "Aqidah (Gerakan Keagamaan)", "category": "aqidah_gerakan" }, { "label": "Fiqih (Ibadah)", "category": "fiqih_ibadah" }, { "label": "Fiqih (Muamalah)", "category": "fiqih_muamalah" }, { "label": "Fiqih (Munakahat)", "category": "fiqih_munakahat" }, { "label": "Fiqih (Produk Halal)", "category": "fiqih_produkhalal" } ], "provider": "bimasislam" } ``` --- ### Consultation List Published Q&A for one category. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-list` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `category` | enum(alquranhadist|aqidah_paham|aqidah_aliran|aqidah_gerakan|fiqih_ibadah|fiqih_muamalah|fiqih_munakahat|fiqih_produkhalal|fiqih_haji|fiqih_zakatwakaf|fiqih_waris|fiqih_hisabrukyat|akhlaktasawuf|umum) | query | yes | Consultation category (see konsultasi-categories) | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-list?category=fiqih_ibadah" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-list?category=fiqih_ibadah", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-list?category=fiqih_ibadah", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 8, "items": [ { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/masjid-dengan-menggunakan-toa-yang-mengganggu", "slug": "masjid-dengan-menggunakan-toa-yang-mengganggu", "image": null, "title": "Masjid dengan menggunakan TOA yang mengganggu", "excerpt": "Assalamualaikum Wr. Wb. Saya tinggal di apartemen yang sangat dekat dengan masjid. Masjid itu menggunakan toa dengan volume yang sangat lantang, dan banyak sekali kegiatan-kegiatan yang dilakukan di l" }, { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/muallaf", "slug": "muallaf", "image": null, "title": "Muallaf", "excerpt": "Saya ingin bertanya, mohon penjelasan nya..\nBagaimana cara mualaf?\nSyarat dokumen apa saja yang harus dipersiapkan ?" }, { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/ibadah-shalat", "slug": "ibadah-shalat", "image": null, "title": "Ibadah Shalat", "excerpt": "Assalamualaikum..\nSelamat pagi ustdaz.\nSaya mau bertanya,\n\n1.apakah kalo kita ketika shalat subuh tidak memakai kunut itu syah apa tidak ?\n2.saya kalo tahiyat ketika membaca shalawat tanpa memakai k" }, { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/shalat-dalam-kondisi-lumpuh", "slug": "shalat-dalam-kondisi-lumpuh", "image": null, "title": "Shalat dalam kondisi lumpuh", "excerpt": "Assalamualaikum\nIstri saya (68 tahun) sudah enam tahun menderita kelumpuhan karena strok. Kaki dan tangan kanannya tidak bisa digerakkan dan tidak bisa berbicara sehingga tidak dapat melakukan aktivit" }, { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/regulasi-penyelenggaraan-jenazah", "slug": "regulasi-penyelenggaraan-jenazah", "image": null, "title": "Regulasi Penyelenggaraan Jenazah", "excerpt": "assalamualaikum\nmohon regulasi tentang Penyelenggaraan jenazah..\nwassalamualaikum.." }, { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/perihal-shalat", "slug": "perihal-shalat", "image": null, "title": "Perihal Shalat", "excerpt": "Assalamualaikum..\napa yang harus saya lakukan jika istri saya tidak shalat?\nWassalamualaikum.." }, { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/mukena-bercincin", "slug": "mukena-bercincin", "image": null, "title": "Mukena Bercincin", "excerpt": "Assalamualaikum..\nBagaimana hukumnya wanita yang shalat pakai mukena yang panjang yang biasanya ada cincin kain yang nyambung dengan mukena yang dimasukkan ke jari tengah?sedangkan wanita dalm shalat" }, { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/mendoakan-orang-yang-sudah-meninggal-dengan-cara-bunuh-diri", "slug": "mendoakan-orang-yang-sudah-meninggal-dengan-cara-bunuh-diri", "image": null, "title": "Mendoakan orang yang sudah meninggal dengan cara bunuh diri", "excerpt": "Assalamu'alaikum Wr. Wb.\nSaya pernah ditanya teman saya mengenai mendo'akan orang yang sudah meninggal dengan cara bunuh diri, apakah sampai? terimakasih\nWassalamu'alaikum Wr. Wb." } ], "label": "Fiqih (Ibadah)", "category": "fiqih_ibadah", "provider": "bimasislam" } ``` --- ### Consultation Detail One consultation: the question and the Kemenag team's answer in full. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-detail` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `slug` | string | query | yes | Consultation slug from konsultasi-list | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-detail?slug=ibadah-shalat" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-detail?slug=ibadah-shalat", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:bimasislam/konsultasi-detail?slug=ibadah-shalat", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://bimasislam.kemenag.go.id/konsultasisyariah/tanyajawab/detail/ibadah-shalat", "slug": "ibadah-shalat", "title": "Ibadah Shalat", "answer": "Asalamu'alaikum Warahmatullahi Wabarakatuh...\n\nSaudara/i yang dirahmati Allah...\n\nJawaban dari pertanyaan Saudara/i adalah sebagai berikut:\n\n1. Qunut sholat fajar (subuh) disebutkan dalam banyak hadits Rasulullah pernah melakukan Qunut dan meninggalkannya, baik melakukannya dengan suara jahar (keras) atau pelan. Mensikapi hadits-hadits tersebut, ulama berbeda pendapat diantara mereka ada yang menyatakan sebagai sunnah selamanya atau sunnah yang hanya dilakukan saat terjadi bencana. Sedangkan Malikiyah dan Syafi'iyyah menyatakan sebagai Mustahab (dianjurkan) dan Hanafiyah dan Hanabilah tidak menganggapnya sebagai sunnah. Oleh karena itu qunut bukan merupakan salah satu rukun sholat, hanya sebatas sunnah (mustahab) menurut sebagian ulama sehingga bagi yang tidak melaksanakannya sholat tetap sah;\n\n2. Kata sayidana dalam tasyahud, menurut ulama as-syafi'iyyah sebagaimana disebutkan Ali As-Syibromilsi dalam kitab Hasyiyah Ala Nihayatul Muhtaj dianjurkan dan begitu pula dengan ulama Hanafiah menganjurkan. Namun Ibnu Hajar Al Atsqolani salah satu ulama as-syafi'iyyah mengatakan, mengikuti lafadz yang diriwayatkan (ma-tsur) dengan tidak menggunakan sayidana dalam sholat lebih kuat (Arjah).\n\n3. Niat dalam ibadah merupakan aktifitas hati dengan meneguhkan dan menghadirkan hati untuk melakukan sholat atau lainnya. Dalam kitab-kitab As-Syafi'iyah disebutkan dianjurkan melafalkan niat untuk membantu hati seperti halnya dalam niat ihram. Namun bila kita tidak melafalkan niat dan cukup meniatkan dalam hati maka niat tersebut telah mencukupi.\n\n4. Khusu' merupakan sikap tenang, tunduk, merendah dan menghadap secara totalitas menghadap sang Kholiq dengan kerendahan diri. Hal-hal yang dapat membantu dan menciptakan khusu' dalam sholat diantaranya: mengagungkan sholat, mengenal Allah, mempersiapkan sholat, memahami fiqih sholat,\n\nmenggunakan sutrah (pembatas), fokus saat takbiratul ihram, menghayati doa iftitah dan bacaan al-Qur'an, merendahkan diri saat rukuk, menghadirkan kedekatan diri dengan Allah saat sujud, menghayati makna tasyahud, tidak menolehkan kepala saat sholat dan bersikap tenang dalam menjalankan sholat.\n\nDemikian Jawaban dari kami. Wallahu a'lam bisshawwab.\n\nWassalamu’alaikum Warahmatullahi Wabarakatuh\n\nTIm Konsultasi Syariah Ditjen Bimas Islam", "askedBy": "Hamba Allah (Kuningan)", "provider": "bimasislam", "question": "Assalamualaikum..\n\nSelamat pagi ustdaz.\n\nSaya mau bertanya,\n\n1.apakah kalo kita ketika shalat subuh tidak memakai kunut itu syah apa tidak ?\n\n2.saya kalo tahiyat ketika membaca shalawat tanpa memakai kata sayidina, itu boleh apa tidak ? Karena menurut saya kata sayidina itu tambahan saja karena shalawat nabi yg asli setau saya tanpa kata sayidina !\n\n3. Saya klo shalat tanpa memakai usholi langsung takbir & berniat dlm hati berbarengan dengan takbir niat nya.\n\n4.gimana cara shalat khusu, saya ketika shalat susah sekali khusu pikiran kemana - mana.\n\nItu pertanyaan saya karena saya bingung ada yg bilang cara shalat saya salah. Saya mohon penjelasan nya dari ustadz. Terimaksih sebelum nya atas jawaban nya saya ucapkan terimakasih\n\nWassalammualaikum wr.wb", "answeredBy": "Tim Konsultasi Syariah (Bimas Islam)", "categoryLabel": "FIQIH (IBADAH)" } ``` --- ### Article List News, announcements and opinion pieces, paged. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:bimasislam/article-list` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `section` | enum(berita|info-penting|opini) | query | no | Article section. Default berita | | `page` | number | query | no | Page number (starts at 1, 10 per page). Default 1 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:bimasislam/article-list?section=berita&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:bimasislam/article-list?section=berita&page=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:bimasislam/article-list?section=berita&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 10, "items": [ { "url": "https://bimasislam.kemenag.go.id/post/berita/bedah-buku-hadis-dan-hak-hak-perempuan-kemenag-ajak-umat-kritis-pahami-teks-keagamaan", "slug": "bedah-buku-hadis-dan-hak-hak-perempuan-kemenag-ajak-umat-kritis-pahami-teks-keagamaan", "image": "https://bimasislam.kemenag.go.id/uploads/post/1088b8820cffb73add390c61a0b2d7fa.jpg", "title": "Bedah Buku Hadis dan Hak-Hak Perempuan, Kemenag Ajak Umat Kritis Pahami Teks Keagamaan", "excerpt": "Jakarta, Bimas Islam — Kementerian Agama mengajak umat Islam memahami hadis secara kritis dan kontekstual, terutama ha" }, { "url": "https://bimasislam.kemenag.go.id/post/berita/kemenag-fasilitasi-penyelesaian-masjid-terdampak-bendungan-jragung", "slug": "kemenag-fasilitasi-penyelesaian-masjid-terdampak-bendungan-jragung", "image": "https://bimasislam.kemenag.go.id/uploads/post/f18ba963ae8f9687c468de8dd8ecf767.jpg", "title": "Kemenag Fasilitasi Penyelesaian Masjid Terdampak Bendungan Jragung", "excerpt": "Semarang, Bimas Islam — Kementerian Agama memfasilitasi penyelesaian Masjid Jami’atur Rohim yang terdampak pembangun" }, { "url": "https://bimasislam.kemenag.go.id/post/berita/kemenag-buka-pendaftaran-inpassing-pengawas-jaminan-produk-halal-2026", "slug": "kemenag-buka-pendaftaran-inpassing-pengawas-jaminan-produk-halal-2026", "image": "https://bimasislam.kemenag.go.id/uploads/post/f254430c53e9c62ab982df35a5422b85.jpg", "title": "Kemenag Buka Pendaftaran Inpassing Pengawas Jaminan Produk Halal 2026", "excerpt": "Jakarta, Bimas Islam — Kementerian Agama membuka pendaftaran pengajuan pengangkatan Pegawai Negeri Sipil (PNS) ke dala" }, { "url": "https://bimasislam.kemenag.go.id/post/berita/kemenag-kaji-tiga-skema-harmonisasi-zakat-dan-pajak", "slug": "kemenag-kaji-tiga-skema-harmonisasi-zakat-dan-pajak", "image": "https://bimasislam.kemenag.go.id/uploads/post/affccf4bf6cf1edab1d35ef9db08a690.jpg", "title": "Kemenag Kaji Tiga Skema Harmonisasi Zakat dan Pajak", "excerpt": "Surabaya, Bimas Islam — Kementerian Agama mempertajam arah harmonisasi zakat dan pajak sebagai bagian dari penyiapan p" }, { "url": "https://bimasislam.kemenag.go.id/post/berita/cegah-konflik-perwakafan-kemenag-tingkatkan-kompetensi-pejabat-pembuat-akta-ikrar-wakaf", "slug": "cegah-konflik-perwakafan-kemenag-tingkatkan-kompetensi-pejabat-pembuat-akta-ikrar-wakaf", "image": "https://bimasislam.kemenag.go.id/uploads/post/2f9d42215d5fe4c2fa967b8860de482d.jpg", "title": "Cegah Konflik Perwakafan, Kemenag Tingkatkan Kompetensi Pejabat Pembuat Akta Ikrar Wakaf", "excerpt": "Surabaya, Bimas Islam — Kementerian Agama meningkatkan kompetensi Kepala Kantor Urusan Agama (KUA) sebagai Pejabat Pem" }, { "url": "https://bimasislam.kemenag.go.id/post/berita/kepala-kua-dituntut-makin-profesional-hadapi-dinamika-wakaf", "slug": "kepala-kua-dituntut-makin-profesional-hadapi-dinamika-wakaf", "image": "https://bimasislam.kemenag.go.id/uploads/post/8e9329259890bc40af549cd47a993be6.jpg", "title": "Kepala KUA Dituntut Makin Profesional Hadapi Dinamika Wakaf", "excerpt": "Surabaya, Bimas Islam — Sebanyak 6.000 Pejabat Pembuat Akta Ikrar Wakaf (PPAIW) mengikuti program peningkatan kapasita" }, { "url": "https://bimasislam.kemenag.go.id/post/berita/kemenag-bi-dan-pesantren-gontor-gelar-swbi-perkuat-tata-kelola-wakaf-indonesia", "slug": "kemenag-bi-dan-pesantren-gontor-gelar-swbi-perkuat-tata-kelola-wakaf-indonesia", "image": "https://bimasislam.kemenag.go.id/uploads/post/712e8f32d57ef516924df23ac168eaef.jpg", "title": "Kemenag, BI, dan Pesantren Gontor Gelar SWBI, Perkuat Tata Kelola Wakaf Indonesia", "excerpt": "Ponorogo, Bimas Islam -- Pengelolaan aset wakaf di pesantren memasuki tahap baru: bukan hanya menjaga amanah wakif, teta" }, { "url": "https://bimasislam.kemenag.go.id/post/berita/kemenag-dorong-transformasi-maritime-silk-road-menjadi-maritime-peace-road", "slug": "kemenag-dorong-transformasi-maritime-silk-road-menjadi-maritime-peace-road", "image": "https://bimasislam.kemenag.go.id/uploads/post/5abc27c4223bcba312615ba81ade985c.jpg", "title": "Kemenag Dorong Transformasi Maritime Silk Road Menjadi Maritime Peace Road", "excerpt": "Jakarta, Bimas Islam --- Kementerian Agama mendorong warisan jalur maritim yang selama berabad-abad menghubungkan Nusant" } ], "hasMore": true, "section": "berita", "lastPage": 1572, "nextPage": 2, "provider": "bimasislam", "returned": 10 } ``` --- ### Article Detail One article with date, author, image and full body. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:bimasislam/article-detail` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `slug` | string | query | yes | Article slug from article-list | | `section` | enum(berita|info-penting|opini) | query | no | Article section. Default berita | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:bimasislam/article-detail?slug=kemenag-buka-pendaftaran-inpassing-pengawas-jaminan-produk-halal-2026§ion=berita" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:bimasislam/article-detail?slug=kemenag-buka-pendaftaran-inpassing-pengawas-jaminan-produk-halal-2026§ion=berita", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:bimasislam/article-detail?slug=kemenag-buka-pendaftaran-inpassing-pengawas-jaminan-produk-halal-2026§ion=berita", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://bimasislam.kemenag.go.id/post/berita/kemenag-buka-pendaftaran-inpassing-pengawas-jaminan-produk-halal-2026", "body": "Jakarta, Bimas Islam — Kementerian Agama membuka pendaftaran pengajuan pengangkatan Pegawai Negeri Sipil (PNS) ke dalam Jabatan Fungsional Pengawas Jaminan Produk Halal (JPH) melalui mekanisme penyesuaian atau inpassing.\n\nPendaftaran ditujukan bagi PNS yang memenuhi kualifikasi. Proses pendaftaran dan pengunggahan dokumen portofolio dibuka 1 September 2026 hingga 15 September 2026 pukul 23.59 WIB.\n\nSeluruh proses pendaftaran dan pengunduhan format persyaratan dilakukan secara daring melalui https://bimasislam.kemenag.go.id/djph/.\n\nRincian kriteria umum, dokumen persyaratan, dan jadwal tahapan seleksi administrasi dapat dilihat melalui surat edaran yang tersedia di https://bimasislam.kemenag.go.id/post/info-penting/pemberitahuan-inpassing-jf-pengawas-jph-kemenag.\n\nDirektur Jaminan Produk Halal, Muhammad Fuad Nasar, mengatakan, pengawasan ekosistem halal tidak lagi hanya berkaitan dengan sertifikasi dan labelisasi. Menurutnya, konsep halal telah mencakup berbagai aspek kehidupan.\n\n“Konsep halal di Indonesia kini tidak sekadar terhenti pada proses sertifikasi dan labelisasi saja, melainkan sudah menyentuh aspek tata nilai, gaya hidup, kebersihan, hingga keramahan terhadap lingkungan,” ujar Fuad di Jakarta, Jumat (28/8/2026).\n\nIa mengingatkan ASN yang memenuhi kualifikasi agar memanfaatkan kesempatan tersebut. Menurutnya, kesempatan inpassing belum tentu dibuka kembali dalam waktu dekat atau setiap tahun.\n\nDukungan terhadap program ini juga disampaikan Kepala Biro SDM Kemenag, Muhammad Zain. Ia menyebut, percepatan inpassing berkaitan dengan penyetaraan kepangkatan dan peningkatan kesejahteraan ASN.\n\n“Aksele­rasi inpassing ini sangat erat kaitannya dengan keadilan penyetaraan kepangkatan serta peningkatan kesejahteraan ASN,” katanya.\n\nIa menilai keberadaan Pengawas JPH penting karena produk bersertifikat halal tidak hanya diminati masyarakat muslim. Jaminan kebersihan dan kualitas produk juga menjadi faktor penting dalam meningkatkan daya saing barang ekspor.\n\n“Produk bersertifikat halal kini tidak hanya dicari oleh masyarakat muslim karena jaminan kebersihan dan kebaikannya, sekaligus menjadi syarat penting untuk meningkatkan kualitas barang ekspor,” ujarnya.\n\nMenurutnya, pelaksanaan inpassing secara cepat dan tepat sasaran merupakan bagian dari pelayanan publik sekaligus implementasi manajemen karier ASN. Hal itu sejalan dengan pandangan Menag Nasaruddin Umar bahwa sertifikasi halal tidak hanya berkaitan dengan pemenuhan ketentuan keagamaan, tetapi juga menjadi strategi untuk meningkatkan daya saing produk Indonesia.\n\nPuja/Mr", "slug": "kemenag-buka-pendaftaran-inpassing-pengawas-jaminan-produk-halal-2026", "image": "https://bimasislam.kemenag.go.id/uploads/post/f254430c53e9c62ab982df35a5422b85.jpg", "title": "Kemenag Buka Pendaftaran Inpassing Pengawas Jaminan Produk Halal 2026", "author": "Barie", "section": "berita", "provider": "bimasislam", "publishedAt": "Jumat, 28 Agustus 2026" } ``` --- ### Directorate Profile History, vision and mission, duties, structure and officials. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:bimasislam/profil` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `section` | enum(sejarah|visi-dan-misi|tugas-dan-fungsi|organisasi|pejabat-bimas-islam) | query | yes | Profile section | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:bimasislam/profil?section=sejarah" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:bimasislam/profil?section=sejarah", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:bimasislam/profil?section=sejarah", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://bimasislam.kemenag.go.id/profil/sejarah", "body": "Direktorat Jenderal Bimbingan Masyarakat Islam, adalah satuan kerja tingkat I di lingkungan Departemen Agama Pusat. Dalam nomenklatur organisasi (diatur dalam Peraturan Menteri Agama Nomor 3 Tahun 2006, Ditjen Bimas Islam, nama satuan kerja ini disingkat yang dipimpin oleh seorang Direktur Jenderal. Dibawah direktur jenderal terdapat lima manajer lapis eselon II, yaitu sau orang sekretaris dan empat direktur. Sekretaris yang bertanggung jawab secara administratif dan fasilitatif ini membawahi empat kepala bagian dan kepala subbagian. Sedangkan direktur yang bertanggung jawab dalam urusan teknis membawahi beberapa kepala subdirektorat dan kepala seksi.\n\nKeberadaan \" bimbingan masyarakat Islam\" sudah berlangsung sejak lahirnya Kementerian Agama, 3 Januari 1946, meskipun saat itu belum diwadahi dalam organisasi direktorat jenderal. Tanggal 3 Januari kemudian dikenal sebagai hari ulang tahun Departemen Agama, yang sekarang dikenal dengan nama \" Hari Amal Bakti \". Dalam perjalanan selanjutnya \" bimbingan masyarakat Islam\" diwadahi dalam satu direktorat jenderal dengan nomenklatur Ditjen Bimas Islam. Pada tahun 1979 Ditjen Bimas Islam dimerjer dengan Ditjen Haji dengan nomenklatur baru, Ditjen Bimas Islam dan Penyelenggaraan Haji.\n\nBerdasarkan Keputusan Menteri Agama Nomor 1 Tahun 2001, terjadi perubahan struktur Departemen Agama Pusat. Ditjen Bimas Islam dan Urusan Haji mengalami perubahan nomenklatur menjadi Dijen Bimas Islam dan Penyelenggaraan Haji. Tidak banyak pengaruh perubahan dengan nomenklatur baru itu abgi kegiatan bimbingan masyarakat Islam. Sebagian tugas yang ada sebelumnya malah direlokasi ke direktorat jenderal lain, yakni tugas penerangan agama Islam yang berpindah ke Ditjen Binbaga Islam, bertukar tempat dengan tugas Peradilan Agama.\n\nPada tahun 2006 - berdasarkan Peraturan Menteri Agama yang disebutkan diatas, tugas Bimbingan Masyarakat Islam kembali dipisah dengan tugas perhajian. Mulai saat itulah tugas bimbingan amsyarakat Islam dilaksanakan oleh direktorat jenderal baru, Direktorat Jenderal Bimbingan Masyarakat Islam. Dengan struktur baru ini, diharapkan tugas-tugas yang diemban dapat dilaksanakan secara lebih fokus. Tugas-tugas itu adalah urusan agama Islam (selain haji), penerangan agama Islam, Zakat, dan Wakaf.\n\nDengan wadah struktur itu, Ditjen Bimas Islam membawahi lima subsatker tingakat eselon II, yakni sekretariat, Direktorat Urusan Agama Islam dan Pembinaan Syariah, Direktorat Penerangan Agama Islam, Direktorat Pemberdayaan Zakat, dan Direktorat Pemberdayaan Wakaf. Di tingkat daerah, Ditjen Bimas Islam memiliki \" kepanjangan tangan \" pada bidang-bidang (provinsi) dan seksi-seksi (kabupaten / kota). Pada lapis paling ujung, Ditjen Bimas Islam memiliki unit pelaksana teknis di tingkat Kecamatan, yakni kantor urusan agama kecamatan sebagai ujung tombak pelayanan masyarakat yang tugas utamanya melakukan pencatatan nikah dan rujuk.", "title": "Sejarah", "section": "sejarah", "provider": "bimasislam" } ``` --- ## Cek BPOM **Category:** indonesia · **Slug:** `cek-bpom` **Detail page:** https://zapi.ink/api/indonesia/cek-bpom Pencarian registrasi produk obat, kosmetik, suplemen, dan pangan pada database resmi BPOM RI. **Tags:** bpom, produk, registrasi, obat, kosmetik, indonesia ### Lookup Produk BPOM Cari produk terdaftar BPOM berdasarkan nama atau nomor registrasi. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:cek-bpom/lookup` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Nama produk atau nomor registrasi BPOM yang akan dicari (min 2 char). | | `type` | enum(nama_produk|nomor_registrasi) | query | no | Jenis pencarian: 'nama_produk' atau 'nomor_registrasi'. | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:cek-bpom/lookup?query=PARACETAMOL&type=nama_produk" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:cek-bpom/lookup?query=PARACETAMOL&type=nama_produk", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:cek-bpom/lookup?query=PARACETAMOL&type=nama_produk", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ok": true, "type": "nama_produk", "count": 20, "query": "PARACETAMOL", "results": [ { "form": "SIRUP", "brand": null, "status": "Berlaku", "registrar": "RAMA EMERALD MULTI SUKSES - Indonesia", "submitDate": "2026-05-27", "expiredDate": "2031-05-24", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "RAMA EMERALD MULTI SUKSES - Indonesia", "packagingInfo": "BOTOL @ 60 ML", "productCategory": "Obat", "registrationDate": "2026-05-24", "registrationNumber": "GBL2628921437A1", "manufacturerAddress": "DESA TENARU", "manufacturerLocation": "KAB. GRESIK" }, { "form": "KAPLET", "brand": null, "status": "Berlaku", "registrar": "AFIFARMA - Indonesia", "submitDate": "2026-05-27", "expiredDate": "2031-05-24", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "AFIFARMA - Indonesia", "packagingInfo": "DUS, 10 AMPLOP @ 1 STRIP @ 10 KAPLET", "productCategory": "Obat", "registrationDate": "2026-05-24", "registrationNumber": "GBL2201712204A2", "manufacturerAddress": "JL. MAUNI INDUSTRI NO.8", "manufacturerLocation": "KOTA KEDIRI" }, { "form": "SUPPOSITORIA", "brand": null, "status": "Berlaku", "registrar": "INTERBAT - Indonesia", "submitDate": "2026-05-27", "expiredDate": "2031-05-20", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "INTERBAT - Indonesia", "packagingInfo": "DUS, 2 BLISTER @ 6 SUPPOSITORIA", "productCategory": "Obat", "registrationDate": "2026-05-20", "registrationNumber": "GKL2617636853B1", "manufacturerAddress": "JL. H.R. MOCH. MANGUNDIPROJO NO.1 BUDURAN", "manufacturerLocation": "KAB. SIDOARJO" }, { "form": "SUPPOSITORIA", "brand": null, "status": "Berlaku", "registrar": "INTERBAT - Indonesia", "submitDate": "2026-05-27", "expiredDate": "2031-05-19", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "INTERBAT - Indonesia", "packagingInfo": "DUS, 2 BLISTER @ 6 SUPPOSITORIA", "productCategory": "Obat", "registrationDate": "2026-05-19", "registrationNumber": "GKL2617636853A1", "manufacturerAddress": "JL. H.R. MOCH. MANGUNDIPROJO NO.1 BUDURAN", "manufacturerLocation": "KAB. SIDOARJO" }, { "form": "SIRUP", "brand": null, "status": "Berlaku", "registrar": "PIM PHARMACEUTICALS - Indonesia", "submitDate": "2026-05-27", "expiredDate": "2031-05-04", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "PIM PHARMACEUTICALS - Indonesia", "packagingInfo": "BOTOL PLASTIK @ 60 ML", "productCategory": "Obat", "registrationDate": "2026-05-13", "registrationNumber": "GBL0918906537A1", "manufacturerAddress": "JL. RAYA CANDIWATES NO. 20", "manufacturerLocation": "KAB. PASURUAN" }, { "form": "SIRUP", "brand": null, "status": "Berlaku", "registrar": "PIM PHARMACEUTICALS - Indonesia", "submitDate": "2026-05-27", "expiredDate": "2031-05-04", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "PIM PHARMACEUTICALS - Indonesia", "packagingInfo": "DUS, 1 BOTOL PLASTIK @ 60 ML", "productCategory": "Obat", "registrationDate": "2026-05-13", "registrationNumber": "GBL0918906537A1", "manufacturerAddress": "JL. RAYA CANDIWATES NO. 20", "manufacturerLocation": "KAB. PASURUAN" }, { "form": "SIRUP", "brand": null, "status": "Berlaku", "registrar": "IMFARMIND FARMASI INDUSTRI - Indonesia", "submitDate": "2026-05-25", "expiredDate": "2031-05-11", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "IMFARMIND FARMASI INDUSTRI - Indonesia", "packagingInfo": "BOTOL PLASTIK @ 60 ML", "productCategory": "Obat", "registrationDate": "2026-05-11", "registrationNumber": "GBL1409608637A1", "manufacturerAddress": "DESA WONOKOYO", "manufacturerLocation": "KAB. PASURUAN" }, { "form": "KAPLET", "brand": null, "status": "Berlaku", "registrar": "PERUSAHAAN INDUSTRI FARMASI DAN DAGANG FIRST MEDIPHARMA - Indonesia", "submitDate": "2026-05-25", "expiredDate": "2031-04-25", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "PERUSAHAAN INDUSTRI FARMASI DAN DAGANG FIRST MEDIPHARMA - Indonesia", "packagingInfo": "DUS, 10 AMPLOP @ 1 STRIP @ 10 KAPLET", "productCategory": "Obat", "registrationDate": "2026-05-11", "registrationNumber": "GBL9607102904A1", "manufacturerAddress": "JL. RAYA SUMORAME NO. 41", "manufacturerLocation": "KAB. SIDOARJO" }, { "form": "DROPS", "brand": null, "status": "Berlaku", "registrar": "DEXA MEDICA - Indonesia", "submitDate": "2026-05-11", "expiredDate": "2031-04-24", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "DEXA MEDICA - Indonesia", "packagingInfo": "DUS, 1 BOTOL @ 15 ML", "productCategory": "Obat", "registrationDate": "2026-04-24", "registrationNumber": "GBL2605069636B1", "manufacturerAddress": "Jl. Jend. Bambang Utoyo No. 138", "manufacturerLocation": "KOTA PALEMBANG" }, { "form": "KAPLET", "brand": null, "status": "Berlaku", "registrar": "PABRIK PHARMASI DAN KIMIA DASA ESA FARMA - Indonesia", "submitDate": "2026-05-05", "expiredDate": "2031-04-17", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "PABRIK PHARMASI DAN KIMIA DASA ESA FARMA - Indonesia", "packagingInfo": "BOTOL PLASTIK @ 100 KAPLET", "productCategory": "Obat", "registrationDate": "2026-04-17", "registrationNumber": "GBL7204602304A1", "manufacturerAddress": "JL. RAYA KEDAMEAN NO. 78", "manufacturerLocation": "KAB. GRESIK" }, { "form": "KAPLET", "brand": null, "status": "Berlaku", "registrar": "MEGA ESA FARMA - Indonesia", "submitDate": "2026-04-08", "expiredDate": "2030-11-17", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "MEGA ESA FARMA - Indonesia", "packagingInfo": "DUS, 10 AMPLOP @ 1 STRIP @ 10 KAPLET", "productCategory": "Obat", "registrationDate": "2026-03-18", "registrationNumber": "GBL8715201504A2", "manufacturerAddress": "JL. KAPUK RAYA KAMAL NO 66", "manufacturerLocation": "KODYA JAKARTA UTARA" }, { "form": "DROPS", "brand": null, "status": "Berlaku", "registrar": "BERNOFARM - Indonesia", "submitDate": "2026-03-31", "expiredDate": "2031-03-14", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "BERNOFARM - Indonesia", "packagingInfo": "DUS, 1 BOTOL @ 10 ML", "productCategory": "Obat", "registrationDate": "2026-03-14", "registrationNumber": "GBL2602369136A1", "manufacturerAddress": "Jl. Gatot Subroto No. 68, Banjarkemantren Km. 18", "manufacturerLocation": "KAB. SIDOARJO" }, { "form": "SUSPENSI", "brand": null, "status": "Berlaku", "registrar": "DEXA MEDICA - Indonesia", "submitDate": "2026-03-29", "expiredDate": "2031-01-27", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "DEXA MEDICA - Indonesia", "packagingInfo": "DUS, 1 BOTOL PLASTIK @ 60 ML", "productCategory": "Obat", "registrationDate": "2026-01-27", "registrationNumber": "GBL2605069633A1", "manufacturerAddress": "Jl. Jend. Bambang Utoyo No. 138", "manufacturerLocation": "KOTA PALEMBANG" }, { "form": "INFUS", "brand": null, "status": "Berlaku", "registrar": "IPHA LABORATORIES - Indonesia", "submitDate": "2026-03-30", "expiredDate": "2031-01-16", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "IPHA LABORATORIES - Indonesia", "packagingInfo": "DUS, 1 VIAL @ 100 ML", "productCategory": "Obat", "registrationDate": "2026-01-16", "registrationNumber": "GKL2110403249A1", "manufacturerAddress": "Jl. Ds Cibingbin Ciampel (Jl. Terusan BPG) RT007 / RW003, desa Laksanamekar , Kecamatan Padalarang, Kabupaten Bandung Barat.", "manufacturerLocation": "KAB. BANDUNG BARAT" }, { "form": "SIRUP", "brand": null, "status": "Berlaku", "registrar": "EMDI MELIA PHARMA - Indonesia", "submitDate": "2026-03-10", "expiredDate": "2030-12-31", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "EMDI MELIA PHARMA - Indonesia", "packagingInfo": "DUS, 1 BOTOL PLASTIK @ 60 ML", "productCategory": "Obat", "registrationDate": "2025-12-31", "registrationNumber": "GBL2558402637A1", "manufacturerAddress": "JL SIMPANG PARAKAN MUNCANG KM 5 NO 14 RT 22 RW 05 KELURAHAN MEKARBAKTI", "manufacturerLocation": "KAB. SUMEDANG" }, { "form": "TABLET", "brand": null, "status": "Berlaku", "registrar": "PYRIDAM FARMA TBK - Indonesia", "submitDate": "2026-01-01", "expiredDate": "2030-12-31", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "PYRIDAM FARMA TBK - Indonesia", "packagingInfo": "DUS, 10 AMPLOP @ 1 STRIP @ 10 TABLET", "productCategory": "Obat", "registrationDate": "2025-12-31", "registrationNumber": "GBL1921024910A1", "manufacturerAddress": "Jl. Hanjawar Pacet RT 01 RW 02, Cibodas.", "manufacturerLocation": "KAB. CIANJUR" }, { "form": "KAPLET", "brand": null, "status": "Berlaku", "registrar": "PYRIDAM FARMA TBK - Indonesia", "submitDate": "2026-01-01", "expiredDate": "2030-12-31", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "PYRIDAM FARMA TBK - Indonesia", "packagingInfo": "DUS, 10 AMPLOP @ 1 STRIP @ 10 KAPLET", "productCategory": "Obat", "registrationDate": "2025-12-31", "registrationNumber": "GBL2521024904A1", "manufacturerAddress": "Jl. Hanjawar Pacet RT 01 RW 02, Cibodas.", "manufacturerLocation": "KAB. CIANJUR" }, { "form": "TABLET", "brand": null, "status": "Berlaku", "registrar": "MERSIFARMA TIRMAKU MERCUSANA - Indonesia", "submitDate": "2025-12-27", "expiredDate": "2030-06-23", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "MERSIFARMA TIRMAKU MERCUSANA - Indonesia", "packagingInfo": "DUS, 10 AMPLOP @ 1 BLISTER @ 10 TABLET", "productCategory": "Obat", "registrationDate": "2025-12-26", "registrationNumber": "GBL1533312610A1", "manufacturerAddress": "JL RAYA PELABUHAN KM 18 DESA CIKEMBAR, KECAMATAN CIKEMBAR, KABUPATEN SUKABUMI, JAWA BARAT", "manufacturerLocation": "KAB. SUKABUMI" }, { "form": "TABLET", "brand": null, "status": "Berlaku", "registrar": "MEPROFARM - Indonesia", "submitDate": "2025-12-22", "expiredDate": "2030-02-21", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "MEPROFARM - Indonesia", "packagingInfo": "DUS, 20 AMPLOP @ 1 BLISTER @ 10 TABLET", "productCategory": "Obat", "registrationDate": "2025-12-21", "registrationNumber": "GBL2215634610A1", "manufacturerAddress": "JL. SOEKARNO HATTA NO. 789", "manufacturerLocation": "KOTA BANDUNG" }, { "form": "ENEMA", "brand": null, "status": "Berlaku", "registrar": "NOVELL PHARMACEUTICAL LABORATORIES - Indonesia", "submitDate": "2025-12-17", "expiredDate": "2030-12-17", "ingredients": "PARACETAMOL", "productName": "PARACETAMOL", "manufacturer": "NOVELL PHARMACEUTICAL LABORATORIES - Indonesia", "packagingInfo": "DUS, 5 ALUBAG @ 1 RECTAL TUBE @ 2,5 ML", "productCategory": "Obat", "registrationDate": "2025-12-17", "registrationNumber": "GBL1933546558A1", "manufacturerAddress": "Jl Wanaherang No 35 Tlajung Udik", "manufacturerLocation": "KAB. BOGOR" } ], "totalMatched": 167 } ``` --- ## Cek Halal **Category:** indonesia · **Slug:** `cek-halal` **Detail page:** https://zapi.ink/api/indonesia/cek-halal Pencarian sertifikat halal produk dari database resmi BPJPH (Badan Penyelenggara Jaminan Produk Halal). **Tags:** halal, sertifikat, bpjph, produk, indonesia ### Lookup Sertifikat Halal Cari produk bersertifikat halal berdasarkan nama produk. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:cek-halal/lookup` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Nama produk halal yang akan dicari (min 2 karakter). | | `type` | enum(produk|perusahaan) | query | no | Mode pencarian: 'produk' (default, cari nama produk) atau 'perusahaan' (filter tambahan nama pelaku usaha). | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:cek-halal/lookup?query=INDOMIE&type=produk" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:cek-halal/lookup?query=INDOMIE&type=produk", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:cek-halal/lookup?query=INDOMIE&type=produk", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ok": true, "type": "produk", "count": 10, "query": "INDOMIE", "results": [ { "id": "003a8dfb-d7d7-46d5-9641-9b3c05f3db51", "brand": null, "status": "Halal", "company": "Warung Zam Zam Resto & Kopi Halim Raya", "issueDate": "23 May 2026", "certNumber": "ID31110073291550526", "validUntil": null, "productName": "Indomie Ayam Geprek/Internet/Telor - Warung Zam Zam Resto & Kopi Halim Raya", "productType": null }, { "id": "c0da778f-b23b-47d0-9ef4-75717cc423fd", "brand": null, "status": "Halal", "company": "JAMIYO/KEDAI BAKSO TIMBUL", "issueDate": "23 May 2026", "certNumber": "ID32110073256340526", "validUntil": null, "productName": "Bakso Urat Indomie", "productType": null }, { "id": "c45d72a7-6e83-478d-a609-3fa898c8073a", "brand": null, "status": "Halal", "company": "JAMIYO/KEDAI BAKSO TIMBUL", "issueDate": "23 May 2026", "certNumber": "ID32110073256340526", "validUntil": null, "productName": "Bakso Telur Indomie", "productType": null }, { "id": "31f0ad63-c82e-422a-8bb0-8cedf6f7b40d", "brand": null, "status": "Halal", "company": "CV. SUMO", "issueDate": "22 May 2026", "certNumber": "ID12110073008970526", "validUntil": null, "productName": "Indomie Bumbu Aceh", "productType": null }, { "id": "0d126b3b-bc8f-4c04-8b23-a1943f0c3b79", "brand": null, "status": "Halal", "company": "SUSANTI", "issueDate": "21 May 2026", "certNumber": "ID21110072832410526", "validUntil": null, "productName": "Indomie Goreng 'Mak Uteh'", "productType": null }, { "id": "a93a4e4c-932c-4c61-8f37-8f24a179db5e", "brand": null, "status": "Halal", "company": "SUSANTI", "issueDate": "21 May 2026", "certNumber": "ID21110072832410526", "validUntil": null, "productName": "Indomie Rebus 'Mak Uteh'", "productType": null }, { "id": "fa50f111-e2cb-45cd-818a-e99642546ddc", "brand": null, "status": "Halal", "company": "HOSU Coffee and Eatery", "issueDate": "21 May 2026", "certNumber": "ID32110072925550526", "validUntil": null, "productName": "Indomie Goreng dan Rebus", "productType": null }, { "id": "697e40ec-785c-4df8-8608-0638775c082a", "brand": null, "status": "Halal", "company": "CV. MITRA SUPLINDO PERTANIAN", "issueDate": "21 May 2026", "certNumber": "ID32110072920370526", "validUntil": null, "productName": "Indomie Goreng Telur", "productType": null }, { "id": "d9039944-3076-4b08-95bd-a094cd896214", "brand": null, "status": "Halal", "company": "CV. MITRA SUPLINDO PERTANIAN", "issueDate": "21 May 2026", "certNumber": "ID32110072920370526", "validUntil": null, "productName": "Indomie Goreng Bakso", "productType": null }, { "id": "34abfe74-59d1-4d86-9027-d472717348f5", "brand": null, "status": "Halal", "company": "CV. MITRA SUPLINDO PERTANIAN", "issueDate": "21 May 2026", "certNumber": "ID32110072920370526", "validUntil": null, "productName": "Indomie Goreng Spesial", "productType": null } ] } ``` --- ## Cek Kode Pos **Category:** indonesia · **Slug:** `cek-kode-pos` **Detail page:** https://zapi.ink/api/indonesia/cek-kode-pos Cari kode pos Indonesia berdasarkan nama kelurahan, kecamatan, atau kota. **Tags:** indonesia, kodepos, alamat, wilayah ### Lookup Kode Pos Cari kode pos berdasarkan kata kunci kelurahan/kecamatan/kota. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:cek-kode-pos/lookup` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Nama kelurahan/kecamatan/kota yang akan dicari (min 2 char). | | `limit` | number | query | no | Jumlah maksimum hasil yang dikembalikan. | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:cek-kode-pos/lookup?query=Menteng&limit=20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:cek-kode-pos/lookup?query=Menteng&limit=20", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:cek-kode-pos/lookup?query=Menteng&limit=20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ok": true, "count": 20, "query": "Menteng", "results": [ { "kota": "Serang", "kodePos": "42174", "provinsi": "Banten", "tipeKota": "Kab.", "kecamatan": "Tunjung Teja", "kelurahan": "Bojong Menteng" }, { "kota": "Bekasi", "kodePos": "17117", "provinsi": "Jawa Barat", "tipeKota": "Kota", "kecamatan": "Rawalumbu", "kelurahan": "Bojongmenteng (Bojong Menteng)" }, { "kota": "Lebak", "kodePos": "42362", "provinsi": "Banten", "tipeKota": "Kab.", "kecamatan": "Leuwidamar", "kelurahan": "Bojongmenteng (Bojong Menteng)" }, { "kota": "Jakarta Pusat", "kodePos": "10330", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Menteng", "kelurahan": "Cikini" }, { "kota": "Sukabumi", "kodePos": "43182", "provinsi": "Jawa Barat", "tipeKota": "Kab.", "kecamatan": "Curugkembar", "kelurahan": "Cimenteng" }, { "kota": "Subang", "kodePos": "41286", "provinsi": "Jawa Barat", "tipeKota": "Kab.", "kecamatan": "Cijambe", "kelurahan": "Cimenteng" }, { "kota": "Cianjur", "kodePos": "43263", "provinsi": "Jawa Barat", "tipeKota": "Kab.", "kecamatan": "Campaka", "kelurahan": "Cimenteng" }, { "kota": "Lebak", "kodePos": "42357", "provinsi": "Banten", "tipeKota": "Kab.", "kecamatan": "Cibadak", "kelurahan": "Cimenteng Jaya" }, { "kota": "Jakarta Pusat", "kodePos": "10350", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Menteng", "kelurahan": "Gondangdia" }, { "kota": "Jakarta Pusat", "kodePos": "10340", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Menteng", "kelurahan": "Kebon Sirih" }, { "kota": "Palangkaraya", "kodePos": "73111", "provinsi": "Kalimantan Tengah", "tipeKota": "Kota", "kecamatan": "Jekan Raya", "kelurahan": "Menteng" }, { "kota": "Bogor", "kodePos": "16111", "provinsi": "Jawa Barat", "tipeKota": "Kota", "kecamatan": "Bogor Barat", "kelurahan": "Menteng" }, { "kota": "Jakarta Pusat", "kodePos": "10310", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Menteng", "kelurahan": "Menteng" }, { "kota": "Jakarta Selatan", "kodePos": "12960", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Setiabudi (Setia Budi)", "kelurahan": "Menteng Atas" }, { "kota": "Jakarta Selatan", "kodePos": "12870", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Tebet", "kelurahan": "Menteng Dalam" }, { "kota": "Kapuas", "kodePos": "73593", "provinsi": "Kalimantan Tengah", "tipeKota": "Kab.", "kecamatan": "Dadahup", "kelurahan": "Menteng Karya" }, { "kota": "Cianjur", "kodePos": "43291", "provinsi": "Jawa Barat", "tipeKota": "Kab.", "kecamatan": "Cikalongkulon", "kelurahan": "Mentengsari" }, { "kota": "Jakarta Pusat", "kodePos": "10320", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Menteng", "kelurahan": "Pegangsaan" }, { "kota": "Jakarta Timur", "kodePos": "13960", "provinsi": "DKI Jakarta", "tipeKota": "Kota", "kecamatan": "Cakung", "kelurahan": "Ujung Menteng" }, { "kota": "Bogor", "kodePos": "16740", "provinsi": "Jawa Barat", "tipeKota": "Kab.", "kecamatan": "Cijeruk", "kelurahan": "Warung Menteng" } ] } ``` --- ## Cek NIK **Category:** indonesia · **Slug:** `cek-nik` **Detail page:** https://zapi.ink/api/indonesia/cek-nik Decode structural information from a 16-digit Indonesian NIK identifier. **Tags:** utility, nik, indonesia, ktp ### Decode NIK Decode province, district, birth date, and gender from NIK. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:cek-nik/decode` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `nik` | string | query | yes | NIK KTP Indonesia (16 digit angka) | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:cek-nik/decode?nik=3201011503900001" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:cek-nik/decode?nik=3201011503900001", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:cek-nik/decode?nik=3201011503900001", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ok": true, "nik": "3201011503900001", "birth": { "day": 15, "date": "1990-03-15", "year": 1990, "month": 3 }, "valid": true, "gender": "LAKI-LAKI", "source": "algorithmic", "kec_code": "01", "province": "Jawa Barat", "sequence": "0001", "kab_kota_code": "01", "province_code": "32" } ``` --- ## LPSE / Tender Pemerintah **Category:** indonesia · **Slug:** `lpse` **Detail page:** https://zapi.ink/api/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. **Tags:** lpse, tender, pengadaan, pemerintah, indonesia, lkpp, government ### Cari Tender Cari paket tender pemerintah per LPSE/instansi dengan filter keyword, kategori, status, dan tahun. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:lpse/search` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `lpseCode` | number | query | no | Kode LPSE/instansi (lihat endpoint lpse-directory). Wajib salah satu: lpseCode atau instansi | | `instansi` | string | query | no | Nama instansi LPSE untuk auto-resolve kode (alternatif lpseCode) | | `year` | number | query | no | Tahun anggaran. Default tahun berjalan | | `keyword` | string | query | no | Kata kunci nama paket (opsional) | | `category` | enum(all|konstruksi|barang|konsultansi|jasa-lainnya) | query | no | Filter kategori pekerjaan. Default all | | `status` | enum(all|berjalan|selesai|gagal|ditutup) | query | no | Filter status tender. Default all | | `page` | number | query | no | Halaman (mulai 1). Default 1 | | `count` | number | query | no | Item per halaman. Default 25, max 100 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:lpse/search?lpseCode=11&instansi=kementerian%20keuangan&year=2025&keyword=jalan&category=all&status=all&page=1&count=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:lpse/search?lpseCode=11&instansi=kementerian%20keuangan&year=2025&keyword=jalan&category=all&status=all&page=1&count=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:lpse/search?lpseCode=11&instansi=kementerian%20keuangan&year=2025&keyword=jalan&category=all&status=all&page=1&count=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "lpse": "LPSE Kementerian Keuangan", "page": 1, "year": 2025, "count": 25, "items": [ { "hps": 302150000, "lpse": "LPSE Kementerian Keuangan", "pagu": 577107860, "lokasi": "Batuphat Barat, Muara Satu, Lhokseumawe (Kota), Aceh", "satker": "KANTOR PENGAWASAN DAN PELAYANAN BC LHOK SEUMAWE", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "Pengadaan Jasa Konsultansi Perencanaan Renovasi Mess KPPBC TMP C Lhokseumawe TA 2025", "kodeTender": "10021706000", "jumlahPenawar": null, "tanggalTayang": "2025-03-25 16:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" }, { "hps": 265770000, "lpse": "LPSE Kementerian Keuangan", "pagu": 326927000, "lokasi": "Jalan Sumatera No.III/52-53, Sumbersari,Jember, Jember (Kab.), Jawa Timur", "satker": "KANTOR PENGAWASAN DAN PELAYANAN BC JEMBER", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "Pengadaan Konsultan Perencana Pembangunan Mess Pegawai KPPBC TMP C Jember Tahun Anggaran 2025", "kodeTender": "41443011", "jumlahPenawar": null, "tanggalTayang": "2024-11-21 09:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" }, { "hps": 287733090.9, "lpse": "LPSE Kementerian Keuangan", "pagu": 364000000, "lokasi": "Pondok Bambu, Jakarta Timur (Kota), DKI Jakarta", "satker": "KANTOR PUSAT DIREKTORAT JENDERAL BEA DAN CUKAI", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "Pengadaan Jasa Konsultansi Perencana Rehabilitasi Rumah Negara Pondok Bambu Kantor Pusat DJBC Tahun Anggaran 2025", "kodeTender": "10003146000", "jumlahPenawar": null, "tanggalTayang": "2024-12-10 14:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" }, { "hps": 305883122, "lpse": "LPSE Kementerian Keuangan", "pagu": 306000000, "lokasi": "Jalan Mayor Abdurahman No. 221, Kotakaler, Sumedang Utara, Sumedang, Sumedang (Kab.), Jawa Barat", "satker": "KANTOR PELAYANAN PAJAK PRATAMA SUMEDANG", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "PENGADAAN JASA KONSULTANSI PENGAWASAN KONSTRUKSI PEMBANGUNAN LANJUTAN GEDUNG KANTOR PELAYANAN PAJAK PRATAMA SUMEDANG TAHUN ANGGARAN 2025", "kodeTender": "10037854000", "jumlahPenawar": null, "tanggalTayang": "2025-06-05 13:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" }, { "hps": 3317512419, "lpse": "LPSE Kementerian Keuangan", "pagu": 3321600000, "lokasi": "Komplek Pajak Kemanggisan, Jakarta Barat (Kota), DKI Jakarta", "satker": "KANTOR PUSAT DIREKTORAT JENDERAL PAJAK", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "Pengadaan Jasa Konsultansi Manajemen Konstruksi Pembangunan Rumah Susun Negara Kementerian Keuangan (Kontrak Tahun Jamak Tahun Anggaran 2024 dan 2025)", "kodeTender": "39295011", "jumlahPenawar": null, "tanggalTayang": "2024-01-15 13:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" }, { "hps": 367262764, "lpse": "LPSE Kementerian Keuangan", "pagu": 462000000, "lokasi": "Jl. Komp. Bea Cukai No.6, Pisangan, Kec. Ciputat Timur, Tangerang Selatan (Kota), Banten", "satker": "KANTOR PUSAT DIREKTORAT JENDERAL BEA DAN CUKAI", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "Pengadaan Jasa Konsultansi Pengawas Renovasi Rumah Negara Cirendeu Kantor Pusat Direktorat Jenderal Bea dan Cukai Tahun Anggaran 2025", "kodeTender": "10018559000", "jumlahPenawar": null, "tanggalTayang": "2025-03-14 14:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" }, { "hps": 418895000, "lpse": "LPSE Kementerian Keuangan", "pagu": 575500000, "lokasi": "Kudus, Kudus (Kab.), Jawa Tengah", "satker": "KANTOR PENGAWASAN DAN PELAYANAN BEA DAN CUKAI TIPE MADYA CUKAI KUDUS", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "Pengadaan Jasa Konsultansi Perencanaan Pembangunan Mess KPPBC TMC Kudus TA 2025", "kodeTender": "41435011", "jumlahPenawar": null, "tanggalTayang": "2024-11-11 15:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" }, { "hps": 471922497, "lpse": "LPSE Kementerian Keuangan", "pagu": 804276000, "lokasi": "Jl. Raya Situbondo NO 37, Banyuwangi (Kab.), Jawa Timur", "satker": "KANTOR PENGAWASAN DAN PELAYANAN BEA DAN CUKAI TIPE MADYA PABEAN C BANYUWANGI", "status": "Tender Sedang Berjalan", "instansi": "Kementerian Keuangan", "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "namaPaket": "Pengadaan Jasa Konsultansi Perencana Mess Pegawai Kantor Pengawasan dan Pelayanan Bea dan Cukai Tipe Madya Pabean C Banyuwangi Tahun Anggaran 2025", "kodeTender": "41312011", "jumlahPenawar": null, "tanggalTayang": "2024-11-05 15:00:00", "jumlahPendaftar": null, "metodePemilihan": "Seleksi" } ], "total": 548, "status": "all", "hasMore": true, "category": "all", "lpseCode": 11, "nextPage": 2, "provider": "lpse", "returned": 25 } ``` --- ### Detail Tender Detail lengkap satu tender (pagu, HPS, metode, jadwal, anggaran, lokasi) dari kode tender + kode LPSE + tahun. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:lpse/detail` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `kodeTender` | string | query | yes | Kode tender (dari endpoint tender-list) | | `lpseCode` | number | query | yes | Kode LPSE pemilik tender (dari tender-list) | | `year` | number | query | yes | Tahun anggaran tender | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:lpse/detail?kodeTender=10006621000&lpseCode=11&year=2025" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:lpse/detail?kodeTender=10006621000&lpseCode=11&year=2025", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:lpse/detail?kodeTender=10006621000&lpseCode=11&year=2025", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "hps": 302150000, "lpse": "LPSE Kementerian Keuangan", "pagu": 577107860, "lokasi": [ { "detail": "Batuphat Barat, Muara Satu", "provinsi": "Aceh", "kabupatenKota": "Lhokseumawe (Kota)" } ], "status": "Tender Sedang Berjalan", "anggaran": [ { "nilai": 577107860, "rupId": 58664821, "tahun": 2025, "sumberDana": "APBN", "kodeRekening": "015.05.WA.4695.EBB.005.100.RB.533121" } ], "kategori": "Jasa Konsultansi Badan Usaha Konstruksi", "lpseCode": 11, "provider": "lpse", "namaPaket": "Pengadaan Jasa Konsultansi Perencanaan Renovasi Mess KPPBC TMP C Lhokseumawe TA 2025", "kodeTender": "10021706000", "jumlahPenawar": null, "tanggalDibuat": "2025-03-25", "tanggalTayang": "2025-03-25 16:00:00", "caraPembayaran": "Lumsum", "instansiSatker": [ { "rupId": 58664821, "satker": "KANTOR PENGAWASAN DAN PELAYANAN BC LHOK SEUMAWE", "paketId": 10021229000, "instansi": "Kementerian Keuangan", "jenisInstansi": "KEMENTERIAN" } ], "metodeEvaluasi": "Pagu Anggaran", "jadwalPenawaran": { "akhir": "2025-04-09", "mulai": "2025-03-28" }, "jumlahPendaftar": null, "metodePemilihan": "Seleksi", "metodePengadaan": "Pra Dua File Kualitas Biaya", "durasiTenderHari": 66, "jadwalPengumuman": { "akhir": "2025-04-09", "mulai": "2025-03-25" }, "paketKonsolidasi": false, "jenisPenetapanPemenang": "Tender Non Itemized", "jumlahKirimKualifikasi": 0 } ``` --- ### Direktori LPSE Daftar/cari kode LPSE & instansi (helper untuk memperoleh lpseCode). - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:lpse/directory` - **Cache TTL:** 1800s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `keyword` | string | query | no | Kata kunci nama LPSE/instansi (opsional) | | `page` | number | query | no | Halaman (mulai 1). Default 1 | | `count` | number | query | no | Item per halaman. Default 50, max 100 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:lpse/directory?keyword=kementerian&page=1&count=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:lpse/directory?keyword=kementerian&page=1&count=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:lpse/directory?keyword=kementerian&page=1&count=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 50, "items": [ { "nama": "LPSE Kementerian Keuangan", "lpseCode": 11, "updatedAt": "2026-01-16" }, { "nama": "LPSE Kementerian Pendidikan dan Kebudayaan", "lpseCode": 25, "updatedAt": "2026-01-16" }, { "nama": "LPSE Kementerian Pekerjaan Umum dan Perumahan Rakyat", "lpseCode": 64, "updatedAt": "2026-01-16" }, { "nama": "LPSE Kementerian Agraria dan Tata Ruang/BPN", "lpseCode": 65, "updatedAt": "2026-01-16" }, { "nama": "LPSE Kementerian Dalam Negeri", "lpseCode": 105, "updatedAt": "2026-01-16" }, { "nama": "LPSE Kementerian Energi dan Sumber Daya Mineral", "lpseCode": 109, "updatedAt": "2026-01-16" }, { "nama": "LPSE Kementerian Perhubungan", "lpseCode": 114, "updatedAt": "2026-01-16" }, { "nama": "LPSE Kementerian Perindustrian", "lpseCode": 126, "updatedAt": "2026-01-16" } ], "total": 26, "hasMore": false, "keyword": "kementerian", "nextPage": null, "provider": "lpse", "returned": 26 } ``` --- ## Perpusnas **Category:** indonesia · **Slug:** `perpusnas` **Detail page:** https://zapi.ink/api/indonesia/perpusnas Perpustakaan Nasional RI — Khastara digitised manuscripts and the OPAC national catalogue with full MARC records and digital content listings. **Tags:** perpusnas, perpustakaan, naskah, opac, katalog, indonesia ### Article Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/article` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `articleId` | string | query | yes | Article id, from the articles endpoint | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/article?articleId=9ac6c156-df29-422c-ae9f-ae5cf5536018" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/article?articleId=9ac6c156-df29-422c-ae9f-ae5cf5536018", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/article?articleId=9ac6c156-df29-422c-ae9f-ae5cf5536018", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "body": "

Jakarta—Sebanyak 14 naskah kuno diusulkan untuk menjadi Ingatan Kolektif Nasional (IKON) tahun 2026.

Jumlah naskah kuno yang diusulkan ini merupakan jumlah terbanyak dibandingkan tahun-tahun sebelumnya. Hal ini terungkap dalam rapat penilaian pengusulan naskah IKON yang diselenggarakan secara daring pada Selasa-Rabu, 18-19 Agustus 2026. Dalam rapat ini, para pengusul menyampaikan penjelasan mengenai naskah yang diusulkan kepada Dewan Pakar IKON dan Tim IKON Perpustakaan Nasional Republik Indonesia (Perpusnas). Dewan Pakar dapat menanggapi para pengusul. Kegiatan diselenggarakan secara daring dan setiap paparan dibatasi waktu.

Deputi Bidang Pengembangan Bahan Pustaka dan Jasa Informasi Perpusnas, Suharyanto, menyatakan rapat penilaian IKON Tahun 2026 merupakan bagian penting dalam upaya membangun IKON. Dia menegaskan, pembangunan bangsa tidak hanya dilakukan dengan melihat masa depan, tetapi juga dengan memahami dan merawat warisan bangsa dari masa lalu.

“Dalam konteks tersebut, IKON memiliki peran penting dalam pelestarian dan pemanfaatan warisan dokumenter,” jelasnya secara virtual pada Selasa (18/8/2026).

Program IKON merupakan program Perpusnas untuk meregistrasi naskah kuno secara nasional yang memiliki nilai penting bagi peradaban bangsa Indonesia.

Naskah kuno yang telah ditetapkan sebagai IKON akan diberi perhatian khusus untuk pengarus-utamaan naskah yang bersangkutan, pengembangan penelitian, dan akan diproyeksikan untuk diusulkan menjadi UNESCO Memory of the World (MoW).

Ditambahkan bahwa sejak 2024, Perpusnas konsisten melaksanakan program Pengarusutamaan Naskah Kuno Nusantara. Salah satu fokusnya adalah IKON yang melibatkan pemerintah daerah, akademisi, pemilik naskah, dan para pakar.

“Hingga tahun lalu, telah ditetapkan 20 naskah kuno sebagai IKON, di mana sebanyak tujuh naskah IKON pada 2024 dan enam naskah IKON pada 2025,” ujarnya.

Naskah kuno yang ditetapkan IKON, dapat diusulkan ke UNESCO Memory of the World (MoW), termasuk The Asia/Pacific Regional Committee for the Memory of the World Program (MOWCAP).

Dalam rapat penilaian kali ini disebutkan bahwa sebanyak 14 usulan IKON telah memenuhi persyaratan administrasi dan memasuki tahap pembahasan. Menurutnya, banyaknya jumlah usulan naskah kuno bukan hanya capaian kuantitatif.

“Tetapi ini juga menunjukkan meningkatnya perhatian dan kesadaran masyarakat terhadap naskah kuno serta upaya untuk mengkaji, melestarikan, dan mengangkat warisan documenter dari berbagai daerah,” ungkapnya.

Setelah proses penilaian, Dewan Pakar akan membahasnya dan memberikan rekomendasi naskah yang akan ditetapkan sebagai IKON kepada Kepala Perpusnas. Dia menekankan bahwa hasil penilaian tidak semata menentukan suatu usulan direkomendasikan atau tidak.

“Hal ini juga memberikan penguatan dan masukan bagi pengusul dalam pemanfaatan serta pengelolaan naskah yang dimiliki,” paparnya.

Reporter: Hanna Meinita

", "title": "14 Naskah Kuno Diusulkan untuk IKON Tahun 2026", "recent": [ { "title": "Menelusuri Jejak Perlawanan Akar Peradaban Bangsa", "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Pameran dengan tema “Jejak Perlawanan Akar Peradaban” ini mengangkat perjuangan masyarakat Nusantara dalam menghadapi berbagai bentuk penindasan dan mempertahankan kedaulatan, identitas, serta martabat bangsa.", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/RCFGH2YVfELr8GinR3u6s5PVu3PIoaGpmRf2161a.jpg", "articleId": "7e4b4dcd-b7f1-4f90-906b-3e46f6569919", "createdAt": "2026-08-13T08:36:55.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "pameran" }, { "title": "Aksara Lontara", "category": { "name": "Pujasintara", "type": "ARTICLE", "isIkon": false, "categoryId": "9399cc39-40c6-462b-86df-ba656a0c417d" }, "headline": "Sumber foto: https://www.omniglot.com/writing/lontara.htm#lontarabugis", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/kkRaEO3FZJm8PyHk0etq9zA6immWSzW2AdLpboqG.jpg", "articleId": "da83f7be-7fe5-453a-88bd-d67d3f389783", "createdAt": "2026-07-24T09:02:23.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "1" }, { "title": "Perpusnas Kaji Perubahan Regulasi Program IKON", "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Dengan begitu, penyelenggaraan program yang diusung Perpustakaan Nasional Republik Indonesia (Perpusnas) ini diharapkan berjalan lebih efektif, inklusif, dan berkelanjutan.", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/954hN3I2Koc2u5ytcKMRAKp9zFsPeO1mEyzT6jA5.jpg", "articleId": "b6ce4218-d5c6-46a2-a071-e1528ead730f", "createdAt": "2026-07-21T09:36:35.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "Foto" } ], "related": [ { "title": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5", "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/yaqaKF0cV2bX8on7onC5DpVr07zSRSfTwzqLYKUI.jpg", "articleId": "07ec14e3-2951-4cff-a144-e8ff7e055dbe", "createdAt": "2025-02-12T09:00:56.000000Z", "createdBy": "Admin Khastara", "imageNote": "Membaca Ramayana di Kursus Intensif Jawa Kuno ke-5" }, { "title": "Mengungkap Jejak Daluang dari Nusantara ke Dunia", "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Daluang digunakan sebagai media tulis berbagai naskah kuno Nusantara seperti Ramayana, Bhoma Kawya, Sumanasantaka, dan Rama Wijaya.", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/VZuM6ETHGnQer4ktq4MRg82akPkJ4lWgsuUnzaBG.jpg", "articleId": "0b2fdfb0-ed49-41e4-910d-b8e263ec92f3", "createdAt": "2026-03-26T08:41:33.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "Lokakarya daluang" }, { "title": "Perpustakaan Nasional Sosialisasikan Juknis Pendaftaran Naskah Kuno", "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Perpustakaan Nasional Sosialisasikan Juknis Pendaftaran Naskah Kuno", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/dz3jjTDwfa5TwPiJY9Jyqjv9FiH3q4tW33wYbnOC.jpg", "articleId": "2e038582-be9d-4459-8678-175a8610a8e1", "createdAt": "2025-07-03T06:41:54.000000Z", "createdBy": "Hanna Meinita", "imageNote": "Sosialisasi Pendaftaran Naskah Kuno" } ], "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Hal ini menunjukkan meningkatnya perhatian dan kesadaran masyarakat terhadap naskah kuno serta upaya untuk mengkaji, melestarikan, dan mengangkat warisan documenter dari berbagai daerah.", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/4qoHPVEOWnxLP4dAJQMIETtLt5YPdnXskMvXh2wS.jpg", "provider": "perpusnas", "articleId": "9ac6c156-df29-422c-ae9f-ae5cf5536018", "createdAt": "2026-08-24T12:20:58.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "foto", "updatedAt": "2026-08-30T00:47:00.000000Z", "viewCount": 8 } ``` --- ### Articles Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/articles` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `page` | number | query | no | Page number. Default 1 | | `limit` | number | query | no | Items per page. Default 10, max 100 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/articles?page=1&limit=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/articles?page=1&limit=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/articles?page=1&limit=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 3, "items": [ { "body": "

Jakarta—Sebanyak 14 naskah kuno diusulkan untuk menjadi Ingatan Kolektif Nasional (IKON) tahun 2026.

Jumlah naskah kuno yang diusulkan ini merupakan jumlah terbanyak dibandingkan tahun-tahun sebelumnya. Hal ini terungkap dalam rapat penilaian pengusulan naskah IKON yang diselenggarakan secara daring pada Selasa-Rabu, 18-19 Agustus 2026. Dalam rapat ini, para pengusul menyampaikan penjelasan mengenai naskah yang diusulkan kepada Dewan Pakar IKON dan Tim IKON Perpustakaan Nasional Republik Indonesia (Perpusnas). Dewan Pakar dapat menanggapi para pengusul. Kegiatan diselenggarakan secara daring dan setiap paparan dibatasi waktu.

Deputi Bidang Pengembangan Bahan Pustaka dan Jasa Informasi Perpusnas, Suharyanto, menyatakan rapat penilaian IKON Tahun 2026 merupakan bagian penting dalam upaya membangun IKON. Dia menegaskan, pembangunan bangsa tidak hanya dilakukan dengan melihat masa depan, tetapi juga dengan memahami dan merawat warisan bangsa dari masa lalu.

“Dalam konteks tersebut, IKON memiliki peran penting dalam pelestarian dan pemanfaatan warisan dokumenter,” jelasnya secara virtual pada Selasa (18/8/2026).

Program IKON merupakan program Perpusnas untuk meregistrasi naskah kuno secara nasional yang memiliki nilai penting bagi peradaban bangsa Indonesia.

Naskah kuno yang telah ditetapkan sebagai IKON akan diberi perhatian khusus untuk pengarus-utamaan naskah yang bersangkutan, pengembangan penelitian, dan akan diproyeksikan untuk diusulkan menjadi UNESCO Memory of the World (MoW).

Ditambahkan bahwa sejak 2024, Perpusnas konsisten melaksanakan program Pengarusutamaan Naskah Kuno Nusantara. Salah satu fokusnya adalah IKON yang melibatkan pemerintah daerah, akademisi, pemilik naskah, dan para pakar.

“Hingga tahun lalu, telah ditetapkan 20 naskah kuno sebagai IKON, di mana sebanyak tujuh naskah IKON pada 2024 dan enam naskah IKON pada 2025,” ujarnya.

Naskah kuno yang ditetapkan IKON, dapat diusulkan ke UNESCO Memory of the World (MoW), termasuk The Asia/Pacific Regional Committee for the Memory of the World Program (MOWCAP).

Dalam rapat penilaian kali ini disebutkan bahwa sebanyak 14 usulan IKON telah memenuhi persyaratan administrasi dan memasuki tahap pembahasan. Menurutnya, banyaknya jumlah usulan naskah kuno bukan hanya capaian kuantitatif.

“Tetapi ini juga menunjukkan meningkatnya perhatian dan kesadaran masyarakat terhadap naskah kuno serta upaya untuk mengkaji, melestarikan, dan mengangkat warisan documenter dari berbagai daerah,” ungkapnya.

Setelah proses penilaian, Dewan Pakar akan membahasnya dan memberikan rekomendasi naskah yang akan ditetapkan sebagai IKON kepada Kepala Perpusnas. Dia menekankan bahwa hasil penilaian tidak semata menentukan suatu usulan direkomendasikan atau tidak.

“Hal ini juga memberikan penguatan dan masukan bagi pengusul dalam pemanfaatan serta pengelolaan naskah yang dimiliki,” paparnya.

Reporter: Hanna Meinita

", "title": "14 Naskah Kuno Diusulkan untuk IKON Tahun 2026", "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Hal ini menunjukkan meningkatnya perhatian dan kesadaran masyarakat terhadap naskah kuno serta upaya untuk mengkaji, melestarikan, dan mengangkat warisan documenter dari berbagai daerah.", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/4qoHPVEOWnxLP4dAJQMIETtLt5YPdnXskMvXh2wS.jpg", "articleId": "9ac6c156-df29-422c-ae9f-ae5cf5536018", "createdAt": "2026-08-24T12:20:58.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "foto", "updatedAt": "2026-08-30T00:47:00.000000Z", "viewCount": 8 }, { "body": "

Jakarta—Perpustakaan Nasional Republik Indonesia (Perpusnas) melalui Pusat Jasa Informasi Perpustakaan dan Pengelolaan Naskah Nusantara (Pusjasintara) menyelenggarakan pameran perjalanan perjuangan bangsa Indonesia.

Pameran dengan tema “Jejak Perlawanan Akar Peradaban” ini mengangkat perjuangan masyarakat Nusantara dalam menghadapi berbagai bentuk penindasan dan mempertahankan kedaulatan, identitas, serta martabat bangsa. Pameran diselenggarakan memperingati 81 tahun kemerdekaan Republik Indonesia. Berlangsung Perpusnas, jl. Medan Merdeka Selatan pada bangunan cagar budaya Grha Literasi, lobi utama, dan lantai 16 layanan koleksi foto, peta, dan lukisan, selama 13 Agustus-31 Agustus 2026.

Deputi Bidang Pengembangan Bahan Pustaka dan Jasa Informasi Perpusnas, Suharyanto, menyatakan pameran ini tidak hanya menjadi ruang untuk melihat koleksi bersejarah, tetapi menjadi ruang dialog antara masa lalu, masa kini, dan masa depan.

“Dalam semangat memperingati 81 tahun kemerdekaan RI, marilah kita jadikan pameran ini sebagai momentum untuk meneguhkan kembali kecintaan kita kepada bangsa dan Tanah Air. Dari jejak perlawanan, kita mengenal akar peradaban. Dari akar peradaban, kita meneguhkan jati diri bangsa. Dari jati diri bangsa, kita melangkah menuju Indonesia yang maju, berdaulat, dan bermartabat,” jelasnya saat membuka pameran, pada Kamis (13/8/2026).

Pelaksana tugas (Plt.) Kepala Pusjasintara, Yeri Nurita, menjelaskan pameran ini merupakan bentuk pemanfaatan dan penyebarluasan koleksi perpustakaan kepada masyarakat. Pameran menyajikan koleksi Perpusnas yang dikelompokkan dalam dalam tiga pokok utama, yaitu koleksi naskah Nusantara, koleksi langka, dan koleksi monograf mutakhir.

“Pameran menampilkan berbagai bentuk bahan perpustakaan mulai dari naskah kuno, surat kabar terjilid, foto bersejarah, majalah terjilid, buku langka, buku kajian mutakhir, hingga peta lama,” rincinya.

Pameran dikurasi dalam dalam tiga subtema yaitu Sosok Perlawanan, Budaya Perlawanan, dan Peristiwa Perlawanan. Subtema sosok perlawanan menampilkan tokoh-tokoh dari berbagai latar belakang yang memiliki peran dalam sejarah perjuangan masyarakat Nusantara di antaranya Pangeran Diponegoro dan Untung Suropati.

Subtema Budaya Perlawanan, memperlihatkan bagaimana sastra, hikayat, kidung, doa, dan ajaran keagamaan menjadi bagian dari pembentukan keberanian, solidaritas, identitas, serta nilai-nilai perjuangan masyarakat.

“Sementara itu, subtema Peristiwa Perlawanan menghadirkan berbagai peristiwa penting yang turut membentuk perjalanan sejarah bangsa baik berupa pertempuran, strategi diplomasi, perjanjian, maupun kesaksian para pelaku sejarah,” ujarnya.

Disebutkan bahwa lebih dari 50 jumlah keseluruhan koleksi yang dipamerkan. Pameran tidak hanya diselenggarakan pada satu lokasi, tetapi tersebar di beberapa titik Gedung layanan Perpusnas. Pameran utama diselenggarakan di Graha Literasi, yang merupakan bangunan cagar budaya, lobi utama, dan didukung pameran di lantai 16 layanan koleksi foto, peta, dan lukisan.

Ditambahkan bahwa selain pameran, dalam rangka peringatan HUT ke-81 Republik Indonesia, Perpusnas juga menyelenggarakan sejumlah kegiatan pendukung yakni kelas literasi dan Seri Puspa Pemustaka ke-40 hingga ke-42.

Dia berharap pameran ini dapat melestarikan, memperkenalkan, dan mendayagunakan warisan pustaka bangsa bagi generasi masa kini dan akan datang.

Koleksi naskah yang ditampilkan yang di antaranya Kitab Sutasoma, Babad Untung Surapati, Gebug Buleleng (Ekspedisi Bali), Babad Giyanti Jilid II, Babad Mataram, serta Naskah Jihad Aceh.

Sementara koleksi langka menampilkan pergerakan masyarakat Indonesia pada abad 17, abad 18, abad 19, hingga abad 20 berupa buku langka, foto, surat kabar langka, dan majalah langka. Salah satu yang ditampilkan adalah surat kabar Soeara Asia yang terbit pada 20 Agustus 1945 dengan judul koleksi “Proklamasi Indonesia Merdeka”.

Selain itu, dipamerkan pula koleksi monograf mutakhir berupa buku-buku terbaru yang memberikan perspektif dan pemahaman baru terhadap berbagai peristiwa sejarah serta dinamika masyarakat Indonesia.

Reporter: Hanna Meinita
Dokumentasi: Humas Perpusnas

", "title": "Menelusuri Jejak Perlawanan Akar Peradaban Bangsa", "category": { "name": "Pujasintara", "type": "NEWS", "isIkon": false, "categoryId": "9cc3ae5d-4e79-4736-9e39-465a14527d91" }, "headline": "Pameran dengan tema “Jejak Perlawanan Akar Peradaban” ini mengangkat perjuangan masyarakat Nusantara dalam menghadapi berbagai bentuk penindasan dan mempertahankan kedaulatan, identitas, serta martabat bangsa.", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/RCFGH2YVfELr8GinR3u6s5PVu3PIoaGpmRf2161a.jpg", "articleId": "7e4b4dcd-b7f1-4f90-906b-3e46f6569919", "createdAt": "2026-08-13T08:36:55.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "pameran", "updatedAt": "2026-08-14T12:30:45.000000Z", "viewCount": 16 }, { "body": "

Aksara Lontara digunakan untuk menulis beberapa bahasa di Sulawesi Selatan dan Sulawesi Barat. Materi beraksara lontara paling banyak ditemukan dalam bahasa Bugis, diikuti oleh bahasa Makassar, kemudian bahasa Mandar dengan materi paling sedikit. Aksara ini secara tradisional ditulis pada media seperti daun lontar, daluang, dan kertas.

Aksara Bilang-Bilang

Aksara Bilang-Bilang adalah aksara sandi dalam tradisi Bugis yang berarti \"aksara hitungan\". Aksara ini berkembang pada abad ke-18 dengan bentuk huruf yang diadaptasi dari angka Arab-India. Penggunaan aksara ini umumnya bersifat pribadi, terutama untuk menulis puisi, catatan harian, serta surat menyurat yang sifatnya rahasia.

Aksara Jangang-jangang

Aksara ini hanya digunakan untuk menulis bahasa Makassar. Contoh naskah tertua yang diketahui pernah ditulis dengan aksara ini ialah naskah Perjanjian Bongaya yang ditulis pada sekitar abad ke-16. Sebenarnya naskah ini ditulis dengan Bahasa Belanda & Melayu (Arab), dan tulisan Jangang-jangang hanya ditemukan dalam catatan kecil di akhir halaman. Contoh lain adalah naskah koleksi KITLV Belanda yang isinya sebagian besar tentang kisah Kerajaan Gowa Tallo.

Aksara Lota

Aksara Lota Ende digunakan untuk menulis bahasa Ende yang dituturkan oleh masyarakat Suku Ende di Provinsi Nusa Tenggara Timur (NTT). Kata lota berarti \"lontar\" (daun palem) dan secara tradisional aksara ini ditulis di atas daun lontar sebagai media utama penulisan.

Aksara Mbojo (Bima)

Aksara Mbojo digunakan untuk menulis bahasa Bima dan memiliki hubungan kekerabatan dengan aksara lontara. Aksara ini telah digunakan sejak abad ke-14, terutama dalam penulisan buku dan catatan kerajaan Kesultanan Bima.

Penulis: Munasriana, Pustakawan Perpustakaan Nasional

Artikel ini merupakan kemas ulang artikel dengan judul Aksara Lontara, yang terbit pada buletin Perpustakaan Nasional, Lembaran Volume V Nomor 9 Edisi September 2025, hal. 12. Berikut tautan dokumennya: https://lembaran.pujasintara.info/arsip/2025/vol-v-no-9-september-2025.

", "title": "Aksara Lontara", "category": { "name": "Pujasintara", "type": "ARTICLE", "isIkon": false, "categoryId": "9399cc39-40c6-462b-86df-ba656a0c417d" }, "headline": "Sumber foto: https://www.omniglot.com/writing/lontara.htm#lontarabugis", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/content/kkRaEO3FZJm8PyHk0etq9zA6immWSzW2AdLpboqG.jpg", "articleId": "da83f7be-7fe5-453a-88bd-d67d3f389783", "createdAt": "2026-07-24T09:02:23.000000Z", "createdBy": "Admin Berita Lontara", "imageNote": "1", "updatedAt": "2026-08-20T01:56:15.000000Z", "viewCount": 7 } ], "limit": 3, "total": 118, "hasMore": true, "nextPage": 2, "provider": "perpusnas" } ``` --- ### Collection Files Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/collection-files` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `catalogId` | string | query | yes | INLIS catalogue id, from the collections endpoint | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/collection-files?catalogId=28639" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/collection-files?catalogId=28639", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/collection-files?catalogId=28639", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 28, "items": [ { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/10.jpg", "size": "37.74 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/11.jpg", "size": "38.30 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/12.jpg", "size": "37.62 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/13.jpg", "size": "36.57 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/14.jpg", "size": "37.04 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/15.jpg", "size": "38.03 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_001_001/files/mobile/16.jpg", "size": "38.21 KB" } ], "fileId": "170355", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "990.24 KB", "uploadedAt": "2016-05-17 10:20:00", "contentType": "alih_media" }, { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/10.jpg", "size": "30.12 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/11.jpg", "size": "35.42 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/12.jpg", "size": "35.39 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/13.jpg", "size": "27.44 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/14.jpg", "size": "34.48 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/15.jpg", "size": "34.92 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_002_001/files/mobile/16.jpg", "size": "31.43 KB" } ], "fileId": "170356", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "1020.43 KB", "uploadedAt": "2016-05-17 10:20:00", "contentType": "alih_media" }, { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/10.jpg", "size": "33.49 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/11.jpg", "size": "36.89 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/12.jpg", "size": "32.98 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/13.jpg", "size": "27.62 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/14.jpg", "size": "11.01 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/15.jpg", "size": "22.76 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_003_001/files/mobile/16.jpg", "size": "34.45 KB" } ], "fileId": "170357", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "1001.94 KB", "uploadedAt": "2016-05-17 10:20:01", "contentType": "alih_media" }, { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/10.jpg", "size": "36.32 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/11.jpg", "size": "37.25 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/12.jpg", "size": "35.40 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/13.jpg", "size": "31.71 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/14.jpg", "size": "33.22 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/15.jpg", "size": "32.66 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_004_001/files/mobile/16.jpg", "size": "35.87 KB" } ], "fileId": "170358", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "1.06 MB", "uploadedAt": "2016-05-17 10:20:01", "contentType": "alih_media" }, { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/10.jpg", "size": "35.74 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/11.jpg", "size": "38.34 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/12.jpg", "size": "39.78 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/13.jpg", "size": "38.02 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/14.jpg", "size": "35.72 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/15.jpg", "size": "38.14 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_005_001/files/mobile/16.jpg", "size": "32.47 KB" } ], "fileId": "170359", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "1.06 MB", "uploadedAt": "2016-05-17 10:20:02", "contentType": "alih_media" }, { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/10.jpg", "size": "33.98 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/11.jpg", "size": "33.34 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/12.jpg", "size": "38.08 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/13.jpg", "size": "34.77 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/14.jpg", "size": "30.85 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/15.jpg", "size": "34.88 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_006_001/files/mobile/16.jpg", "size": "41.19 KB" } ], "fileId": "170360", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "1.06 MB", "uploadedAt": "2016-05-17 10:20:02", "contentType": "alih_media" }, { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/10.jpg", "size": "37.47 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/11.jpg", "size": "37.93 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/12.jpg", "size": "35.97 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/13.jpg", "size": "37.02 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/14.jpg", "size": "31.93 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/15.jpg", "size": "36.63 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_007_001/files/mobile/16.jpg", "size": "34.41 KB" } ], "fileId": "170361", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "1.05 MB", "uploadedAt": "2016-05-17 10:20:02", "contentType": "alih_media" }, { "url": "http://file-opac.perpusnas.go.id/DigitalContentImgList.aspx?fn=Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001.zip&ws=Terbitan%20Berkala", "pages": [ { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/1.jpg", "size": "37.46 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/10.jpg", "size": "35.25 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/11.jpg", "size": "35.17 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/12.jpg", "size": "38.19 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/13.jpg", "size": "38.23 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/14.jpg", "size": "39.60 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/15.jpg", "size": "37.81 KB" }, { "url": "http://file-opac.perpusnas.go.id/uploaded_files/dokumen_isi3/Terbitan%20Berkala/Bijvoegsel_staatsblad_Tahun_1867_Jilid_008_001/files/mobile/16.jpg", "size": "31.83 KB" } ], "fileId": "170362", "available": true, "catalogId": "28639", "pageCount": 30, "totalSize": "1.06 MB", "uploadedAt": "2016-05-17 10:20:03", "contentType": "alih_media" } ], "provider": "perpusnas", "catalogId": "28639", "pageCount": 834 } ``` --- ### Collection Stats Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/collection-stats` - **Cache TTL:** 300s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/collection-stats" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/collection-stats", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/collection-stats", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "total": 34759, "authors": [ { "count": 2557, "value": "Perpustakaan Nasional" }, { "count": 1794, "value": "Yayasan Idayu" }, { "count": 261, "value": "Madrais Sadewa Alibassa Kusuma Wijayaningrat," }, { "count": 197, "value": "Topographisch Bureau" }, { "count": 194, "value": "Topographische Inrichting" }, { "count": 170, "value": "Topografische Dienst" }, { "count": 156, "value": "Ipphos" }, { "count": 154, "value": "Badan Koordinasi Survey dan Pemetaan Nasional" } ], "scripts": [ { "count": 2364, "value": "Aksara Arab" }, { "count": 2030, "value": "Aksara Jawa" }, { "count": 1266, "value": "Aksara Latin" }, { "count": 690, "value": "aksara Lontara" }, { "count": 546, "value": "Aksara Lontara" }, { "count": 505, "value": "Aksara Bali" }, { "count": 341, "value": "Aksara Arab (Pegon)" }, { "count": 220, "value": "aksara Cacarakan" } ], "provider": "perpusnas", "subjects": [ { "count": 2413, "value": "Manuskrip Jawa" }, { "count": 1800, "value": "Kesusastraan Jawa" }, { "count": 1598, "value": "Manuskrip" }, { "count": 1326, "value": "Manuskrip Arab" }, { "count": 1264, "value": "Manuskrip Melayu" }, { "count": 1123, "value": "Manuskrip Sulawesi Selatan" }, { "count": 1035, "value": "Manuskrip Sunda" }, { "count": 796, "value": "Kesusastraan Arab" } ], "languages": [ { "count": 15130, "value": "Indonesia" }, { "count": 3878, "value": "Jawa" }, { "count": 3089, "value": "Tidak tersedia" }, { "count": 2561, "value": "Belanda" }, { "count": 1154, "value": "Makassar" }, { "count": 1079, "value": "Melayu" }, { "count": 1049, "value": "Arab" }, { "count": 677, "value": "Sunda" } ], "materialTypes": [ { "count": 14592, "value": "Manuskrip" }, { "count": 11842, "value": "Bahan Campuran" }, { "count": 3372, "value": "Monograf" }, { "count": 1874, "value": "Bahan Kartografis" }, { "count": 1372, "value": "Sumber Elektronik" }, { "count": 1056, "value": "Terbitan Berkala" }, { "count": 534, "value": "Bentuk Mikro" }, { "count": 100, "value": "Rekaman Suara" } ], "digitalContentByMaterialType": [ { "materialType": "Rekaman Suara", "collectionCount": 100, "digitalContentCount": 1070 }, { "materialType": "Sumber Elektronik Berkala", "collectionCount": 2, "digitalContentCount": 599 }, { "materialType": "Manuskrip", "collectionCount": 14592, "digitalContentCount": 27371 }, { "materialType": "Sumber Elektronik", "collectionCount": 1372, "digitalContentCount": 4563 }, { "materialType": "Terbitan Berkala", "collectionCount": 1056, "digitalContentCount": 1096438 }, { "materialType": "Bahan Kartografis", "collectionCount": 1874, "digitalContentCount": 2226 }, { "materialType": "Bahan Campuran", "collectionCount": 11842, "digitalContentCount": 11716 }, { "materialType": "Monograf", "collectionCount": 3372, "digitalContentCount": 5299 } ] } ``` --- ### Collection Types Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/collection-types` - **Cache TTL:** 300s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/collection-types" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/collection-types", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/collection-types", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 6, "items": [ { "param": "Audio", "title": "Audio", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/pE9PzAIn8YjGpaBnF3ZOwrfTlHpY9NTyugsAXSev.png", "isCarousel": true, "description": "Audio", "materialType": "Rekaman Suara", "collectionCount": 100, "collectionTypeId": "09cd65bd-fccc-4ae2-b5ac-f750e6580144", "digitalContentCount": 1070 }, { "param": "Buku++Langka", "title": "Buku Langka", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/Xe0wDjA4dyc5ZBLcNMlEjvsSrZP1eJ3C4brxRbSy.jpg", "isCarousel": false, "description": "Buku Langka", "materialType": "Monograf", "collectionCount": 3372, "collectionTypeId": "1fe192a0-e437-426f-b863-db92daa2064f", "digitalContentCount": 5299 }, { "param": "Foto+dan+Gambar+Lukisan", "title": "Foto, Gambar dan Lukisan", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/K95YwSPYFs8j3jzbNXrAIIqHYkKgkGy24YzAaCKC.png", "isCarousel": true, "description": "Foto, Gambar dan Lukisan", "materialType": "Bahan Campuran", "collectionCount": 11842, "collectionTypeId": "48570f08-9b30-4341-90be-32750bf75d2b", "digitalContentCount": 11716 }, { "param": "Peta", "title": "Peta", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/UdfmNNYXZ48JSjpwnEgC2kSDkKlrLhHvxFnlEKJk.jpg", "isCarousel": true, "description": null, "materialType": "Bahan Kartografis", "collectionCount": 1874, "collectionTypeId": "7113a630-6a70-4acf-85a4-1555c7e17e9b", "digitalContentCount": 2226 }, { "param": "Naskah+Kuno", "title": "Naskah Kuno", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/UrET6t9xzZfYVL3RPpmsDHh1JCgwAIa7f1j5v9lv.jpg", "isCarousel": false, "description": "Naskah Kuno", "materialType": "Manuskrip", "collectionCount": 14592, "collectionTypeId": "79411d96-a044-4f41-b38e-8c8d14ddd169", "digitalContentCount": 27371 }, { "param": "Majalah+dan+Surat+Kabar+Langka", "title": "Majalah dan Surat Kabar Langka", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/collection_type/mvpZRIXt86kO46pd2pfZlhexp78oFzgBNnHvrpTT.png", "isCarousel": true, "description": "Majalah dan Surat Kabar Langka", "materialType": "Terbitan Berkala", "collectionCount": 1056, "collectionTypeId": "c455677e-65bc-4cd3-9740-11e0d4e5c48a", "digitalContentCount": 1096438 } ], "provider": "perpusnas", "totalCollections": 32836, "totalDigitalContents": 1144120 } ``` --- ### Collection Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/collection` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `catalogId` | string | query | yes | INLIS catalogue id, from the collections endpoint | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/collection?catalogId=28639" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/collection?catalogId=28639", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/collection?catalogId=28639", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "marc": [ { "tag": "001", "value": "INLIS000000000524977", "sequence": "1", "indicator1": "", "indicator2": "" }, { "tag": "005", "value": "20161230073547.0", "sequence": "2", "indicator1": "", "indicator2": "" }, { "tag": "006", "value": "s#r0m#######0#####", "sequence": "3", "indicator1": "", "indicator2": "" }, { "tag": "008", "value": "120308s1868 ne r m 0 |dut ", "sequence": "4", "indicator1": "", "indicator2": "" }, { "tag": "035", "value": "$a 0010-70412360", "sequence": "5", "indicator1": " ", "indicator2": " " }, { "tag": "040", "value": "$a JKPNPNA$b dut", "sequence": "6", "indicator1": " ", "indicator2": " " }, { "tag": "084", "value": "$a Z : 19", "sequence": "7", "indicator1": " ", "indicator2": " " }, { "tag": "245", "value": "$a Bijvoegsel tot het staatsblad van het konikrijk der Nederlanden $f 1867", "sequence": "8", "indicator1": "0", "indicator2": "0" } ], "bibId": "0010-70412360", "title": "Bijvoegsel tot het staatsblad van het konikrijk der Nederlanden 1867", "coverUrl": "http://file-opac.perpusnas.go.id/uploaded_files/sampul_koleksi/original/Terbitan Berkala/28639.jpg", "provider": "perpusnas", "abstracts": [ "Isi belum tersedia dan sedang dikembangkan" ], "catalogId": "28639", "createdAt": "3/8/2012 12:00:00 AM", "languages": [ "Belanda" ], "publisher": "J. Noordoyn en Zoon,", "updatedAt": "12/30/2016 7:35:47 AM", "viewCount": 2961, "callNumber": "Z : 19", "marcSummary": { "bibId": [ "0010-70412360" ], "notes": [ "Tersedia dalam bentuk online" ], "title": [ "Bijvoegsel tot het staatsblad van het konikrijk der Nederlanden 1867" ], "language": [ "Belanda" ], "createdAt": [ "3/8/2012 12:00:00 AM" ], "callNumber": [ "Z : 19" ], "onlineAccessUrl": [ "http://192.168.0.143/inlisnew/KatalogAdd.aspx?edit=1&id=28639" ], "physicalDescription": [ "Vol. ; 33 cm." ] }, "publishYear": "1868", "languageCode": "dut", "materialType": "Terbitan Berkala", "controlNumber": "INLIS000000000524977", "downloadCount": 0, "marcFieldCount": 17, "publishLocation": "Gorinchem :", "digitalContentCount": 28, "physicalDescription": "Vol. ; 33 cm." } ``` --- ### Collections Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/collections` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `title` | string | query | no | Title words to search. A server-side scan, ~4.7s | | `author` | string | query | no | Author name to search. A server-side scan, ~4.7s | | `subject` | string | query | no | Subject heading to search. A server-side scan, ~4.7s | | `publishYear` | string | query | no | Year of publication to search. A server-side scan, ~4.7s | | `page` | number | query | no | Page number. Default 1 | | `limit` | number | query | no | Items per page. Default 10, max 100 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/collections?title=naskah&author=Ranggawarsita&subject=Manuskrip%20Jawa&publishYear=1867&page=1&limit=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/collections?title=naskah&author=Ranggawarsita&subject=Manuskrip%20Jawa&publishYear=1867&page=1&limit=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/collections?title=naskah&author=Ranggawarsita&subject=Manuskrip%20Jawa&publishYear=1867&page=1&limit=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 0, "items": [], "limit": 3, "title": "naskah", "total": 0, "author": "Ranggawarsita", "hasMore": false, "subject": "Manuskrip Jawa", "nextPage": null, "provider": "perpusnas", "publishYear": "1867" } ``` --- ### Lookups Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/lookups` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `type` | enum(script|language|position) | query | no | Vocabulary to return. Default all | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/lookups?type=script" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/lookups?type=script", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/lookups?type=script", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "type": "script", "count": 32, "items": [ { "name": "Rencong", "type": "script", "lookupId": "08a9ee7b-25a8-4193-abd1-ad820504e1b6", "sequence": 28, "createdAt": "2025-02-07T16:47:26.000000Z" }, { "name": "Batak Simalungung", "type": "script", "lookupId": "0e1dde77-85cd-4b1b-9041-2ffab770f2e4", "sequence": 8, "createdAt": "2025-02-07T16:47:26.000000Z" }, { "name": "Serang", "type": "script", "lookupId": "108a9aa0-60ce-4921-a659-be498a46cba5", "sequence": 29, "createdAt": "2025-02-07T16:47:26.000000Z" }, { "name": "Kaganga", "type": "script", "lookupId": "12ea8bf3-e805-4245-a168-4eb75b1b5f9f", "sequence": 20, "createdAt": "2025-02-07T16:47:26.000000Z" }, { "name": "Arab", "type": "script", "lookupId": "21fae8f2-a47e-4c90-aa1b-2714b8a3cbe8", "sequence": 1, "createdAt": "2025-02-07T16:47:26.000000Z" }, { "name": "Batak Pakpak", "type": "script", "lookupId": "2bd80d3f-e0b3-4cf3-a095-3f556fb1d954", "sequence": 7, "createdAt": "2025-02-07T16:47:26.000000Z" }, { "name": "Bali", "type": "script", "lookupId": "2c96d319-3044-45bc-a235-1b1fb0e8acf2", "sequence": 3, "createdAt": "2025-02-07T16:47:26.000000Z" }, { "name": "Jepang", "type": "script", "lookupId": "36fce92e-3390-437d-bb57-82be01e98dec", "sequence": 19, "createdAt": "2025-02-07T16:47:26.000000Z" } ], "provider": "perpusnas" } ``` --- ### Media Types Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/media-types` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `type` | string | query | no | Media type code to filter on, such as COVER. Default all | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/media-types?type=COVER" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/media-types?type=COVER", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/media-types?type=COVER", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "type": "COVER", "count": 10, "items": [ { "name": "Tanpa Sampul", "type": "COVER", "mediaId": "150f22af-f156-4d77-84c1-b7321fd49c85", "isActive": true, "createdAt": "2025-09-15T05:26:43.000000Z", "updatedAt": "2025-09-15T05:26:43.000000Z" }, { "name": "Kayu", "type": "COVER", "mediaId": "cf8692ca-8dd1-44d8-a008-eb97cac5cee6", "isActive": true, "createdAt": "2024-12-22T06:16:12.000000Z", "updatedAt": "2024-12-22T06:16:12.000000Z" }, { "name": "Media Lainnya", "type": "COVER", "mediaId": "e6cc2aa8-d9f8-40df-96c7-70c3e8e1224b", "isActive": true, "createdAt": "2024-12-22T06:16:12.000000Z", "updatedAt": "2024-12-22T06:16:12.000000Z" }, { "name": "Kain", "type": "COVER", "mediaId": "7b41ef8c-981d-4820-a7fd-eda43955a143", "isActive": true, "createdAt": "2024-12-22T06:16:12.000000Z", "updatedAt": "2024-12-22T06:16:12.000000Z" }, { "name": "Pelepah Enau", "type": "COVER", "mediaId": "e4bb4b08-8a1b-4290-845b-4efa6f72452e", "isActive": true, "createdAt": "2024-12-22T06:16:12.000000Z", "updatedAt": "2024-12-22T06:16:12.000000Z" }, { "name": "Kulit", "type": "COVER", "mediaId": "2a8b3045-8b03-4d9f-84e5-66edd796b7cd", "isActive": true, "createdAt": "2024-12-22T06:16:12.000000Z", "updatedAt": "2024-12-22T06:16:12.000000Z" }, { "name": "Karton", "type": "COVER", "mediaId": "8389ff36-2f86-4a28-abd4-69197390e13e", "isActive": true, "createdAt": "2024-12-22T06:16:12.000000Z", "updatedAt": "2024-12-22T06:16:12.000000Z" }, { "name": "Tidak Terindentifikasi", "type": "COVER", "mediaId": "a2ea6bc4-4a8f-4388-b66d-47c20e00b9f4", "isActive": true, "createdAt": "2024-12-22T06:16:12.000000Z", "updatedAt": "2024-12-22T06:16:12.000000Z" } ], "provider": "perpusnas" } ``` --- ### Opac Detail Perpusnas OPAC catalogue record (INLIS / ASP.NET WebForms). - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/opac-detail` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `recordId` | string | query | yes | OPAC record id, from opac-search | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/opac-detail?recordId=406054" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/opac-detail?recordId=406054", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/opac-detail?recordId=406054", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=406054", "isbn": "979-453-682-2", "marc": [ { "tag": "LEADER", "value": "01015cam a2200325 a 4500" }, { "tag": "001", "value": "INLIS000000000133719" }, { "tag": "005", "value": "20230920073255.0" }, { "tag": "006", "value": "aa###d#b####00000#" }, { "tag": "007", "value": "ta" }, { "tag": "008", "value": "090314s1994####jkia###d#b####00000#ind##" }, { "tag": "020", "value": "$a 979-453-682-2", "indicator1": "#", "indicator2": "#" }, { "tag": "035", "value": "$a 0010-33741560", "indicator1": "#", "indicator2": "#" } ], "notes": [ "Yang diterima : jil. 1 untuk kelas 1 SMU", "Dikembangkan dan disesuaikan dengan kurikulum SMU/GBPP 1994" ], "title": "Sejarah", "leader": "01015cam a2200325 a 4500", "subject": "Sejarah", "provider": "perpusnas", "recordId": "406054", "publisher": "Yudhistira", "callNumber": "CB-D.10 1994-003442", "contentType": "rdacontent", "deweyNumber": "900", "publication": "Jakarta", "publishYear": "1994", "publishPlace": "Jakarta", "controlNumber": "INLIS000000000133719", "marcFieldCount": 26, "bibliographyNotes": "Termasuk bibliografi", "physicalDescription": "... jil.", "corporateContributor": "Indonesia.", "statementOfResponsibility": "Ttim Sejarah" } ``` --- ### Opac Search Perpusnas OPAC catalogue search (INLIS / ASP.NET WebForms). - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/opac-search` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `query` | string | query | yes | Search terms | | `field` | enum(title|author|subject|publisher|publishYear|callNumber|bibId|isbn|itemId) | query | no | Field to search. Default title | | `match` | enum(default|startsWith|endsWith|anyWord|exact) | query | no | Match mode. Default default | | `materialType` | enum(all|monograph|film|cartographic|video|music|mixed|audio|microform|manuscript|serial|braille|graphic|electronic|serialMicroform|serialElectronic|ephemera) | query | no | Material type filter. Default all | | `page` | number | query | no | Page number, 10 records per page. Default 1 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/opac-search?query=sejarah&field=title&match=default&materialType=all&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/opac-search?query=sejarah&field=title&match=default&materialType=all&page=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/opac-search?query=sejarah&field=title&match=default&materialType=all&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 10, "field": "title", "items": [ { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=406054", "title": "Sejarah / Ttim Sejarah", "authors": [ "Indonesia. Direktorat Jenderal Industri Logam, Mesin dan Kimia" ], "coverUrl": "https://opac.perpusnas.go.id/uploaded_files/sampul_koleksi/original/Monograf/406054.jpg", "recordId": "406054", "callNumber": "CB-D.10 1994-003442", "publication": "Yudhistira,", "materialType": "Monograf", "digitalContent": "Tidak Tersedia" }, { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=889083", "title": "Sejarah : jurnal jabatan sejarah", "authors": [ "Universitas Kebangsaan Malaysia" ], "coverUrl": null, "recordId": "889083", "callNumber": "G : 2147 NO. 7 1999 Lebih banyak ▼", "publication": "Universitas Kebangsaan Malaysia,", "materialType": "Terbitan Berkala", "digitalContent": "Tidak Tersedia" }, { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=161147", "title": "Sejarah", "authors": [ "Pujowaluyo, Hilman" ], "coverUrl": null, "recordId": "161147", "callNumber": "90-85/151", "publication": "Kantor Wilayah Departemen Pertambangan dan Energi Propinsi Sumatera Utara,", "materialType": "Monograf", "digitalContent": "Tidak Tersedia" }, { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=520619", "title": "SEJARAH", "coverUrl": null, "recordId": "520619", "publication": "Gramedia Pustaka Utama1991", "materialType": "Terbitan Berkala", "digitalContent": "Tidak Tersedia" }, { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=523474", "title": "Sejarah", "authors": [ "HABIB Mustopo, M" ], "coverUrl": null, "recordId": "523474", "publication": "Yudhistira2006", "materialType": "Monograf", "digitalContent": "Tidak Tersedia" }, { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=2621862", "title": "Sejarah", "coverUrl": "https://opac.perpusnas.go.id/uploaded_files/sampul_koleksi/original/Manuskrip/2621862.jpg", "recordId": "2621862", "callNumber": "Peti 121h PLT 125 Peti 121h PLT 125", "materialType": "Manuskrip teks volume,sumber daya sambung jaring", "digitalContent": "pdf" }, { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=65899", "title": "Sejarah", "authors": [ "Penyalin naskah: Endus kampung Sayang Cianjur" ], "coverUrl": null, "recordId": "65899", "callNumber": "SD 153", "materialType": "Manuskrip teks volume", "digitalContent": "Tidak Tersedia" }, { "url": "https://opac.perpusnas.go.id/DetailOpac.aspx?id=1101395", "title": "Sejarah", "coverUrl": "https://opac.perpusnas.go.id/uploaded_files/sampul_koleksi/original/Monograf/1101395.jpg", "recordId": "1101395", "callNumber": "900 SEJ", "publication": "CSIS,", "materialType": "Monograf teks volume", "digitalContent": "Tidak Tersedia" } ], "limit": 10, "match": "default", "query": "sejarah", "total": null, "hasMore": true, "nextPage": 2, "provider": "perpusnas", "materialType": "all" } ``` --- ### Provinces Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/provinces` - **Cache TTL:** 300s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/provinces" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/provinces", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/provinces", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 38, "items": [ { "name": "Jawa Barat", "provinceId": "db120fe4-496a-4833-a815-52114f816f4d" }, { "name": "Bengkulu", "provinceId": "ac1ac1c5-cee5-4737-9519-b61561e6c374" }, { "name": "Jawa Timur", "provinceId": "addd87c5-46c6-4220-94e3-c819d2c170f0" }, { "name": "Bali", "provinceId": "b824b62c-1d3e-4fe5-be60-5a1c05b68e1d" }, { "name": "Kepulauan Riau", "provinceId": "c1a8005b-a5e0-453f-ad1e-799a7df6cce6" }, { "name": "Sulawesi Tenggara", "provinceId": "c6f820ad-4a7f-4f47-8f0c-89742bd22a07" }, { "name": "Kalimantan Barat", "provinceId": "ca546b20-87d2-4cfa-8962-2bd95894f795" }, { "name": "Maluku Utara", "provinceId": "d513a7a5-921e-4b27-97aa-aea9e9731370" } ], "provider": "perpusnas" } ``` --- ### Regencies Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/regencies` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `provinceId` | string | query | yes | Province id, from the provinces endpoint | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/regencies?provinceId=db120fe4-496a-4833-a815-52114f816f4d" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/regencies?provinceId=db120fe4-496a-4833-a815-52114f816f4d", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/regencies?provinceId=db120fe4-496a-4833-a815-52114f816f4d", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 27, "items": [ { "name": "Kota Sukabumi", "regencyId": "9cbe156c-2ba6-4573-814b-383fc28e279c" }, { "name": "Kabupaten Pangandaran", "regencyId": "fc82a8df-89b1-4528-8f64-d8b2b7458df9" }, { "name": "Kabupaten Indramayu", "regencyId": "fa138156-a2b9-4886-aa05-6f9228ef9400" }, { "name": "Kota Cimahi", "regencyId": "f81e0ece-a00d-44bb-9e23-71b70be5cbbb" }, { "name": "Kabupaten Sukabumi", "regencyId": "f0fc8778-7806-418b-b707-a0f3ec754026" }, { "name": "Kota Banjar", "regencyId": "ec994156-09ba-4429-9222-178a8b92e92b" }, { "name": "Kabupaten Bogor", "regencyId": "da90c9d5-063c-4d2e-a940-318e814d7773" }, { "name": "Kabupaten Bandung", "regencyId": "da3998cf-af9e-4a8d-8e7b-460ffbb25167" } ], "provider": "perpusnas", "provinceId": "db120fe4-496a-4833-a815-52114f816f4d" } ``` --- ### Services Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/services` - **Cache TTL:** 300s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/services" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/services", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/services", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 9, "items": [ { "url": "https://bintangpusnas.perpusnas.go.id/", "title": "BintangPusnas Edu", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/mRhDqoiuwpuVY5OqGe4GihzbbRk2WoStcsrNAwCJ.png", "isActive": true, "subtitle": "BintangPusnas Edu", "createdAt": "2025-01-09T03:59:52.000000Z", "serviceId": "c4897fe4-a4bb-46a4-8cb7-2decd0a8ce7e", "updatedAt": "2025-01-12T12:36:00.000000Z" }, { "url": "https://onesearch.id", "title": "IOS", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/MxqJjIJvxmspj2NN8sMRAYtN6XacvjzjNEoJUSCP.png", "isActive": true, "subtitle": "Indonesia One Search by Perpusnas", "createdAt": "2024-12-20T15:44:11.000000Z", "serviceId": "14e3745f-ca6c-4bb7-9ce5-85139937fe10", "updatedAt": "2025-01-12T12:29:53.000000Z" }, { "url": "https://isbn.perpusnas.go.id", "title": "ISBN", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/WzcS5Ederofop4c9L2ek2APHRZGTx3voAxOIxxQz.png", "isActive": true, "subtitle": "International Standard Book Number", "createdAt": "2024-12-20T15:44:11.000000Z", "serviceId": "2d45d3ad-5585-407b-a420-b5ff8b0bac4f", "updatedAt": "2025-01-12T12:28:34.000000Z" }, { "url": "http://e-resources.perpusnas.go.id", "title": "e-Resources", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/1gbTUtSQKjoF6FiAAVuBVIuKh29MkzRhMGOADSH4.png", "isActive": true, "subtitle": "Koleksi Digital Berlanggan", "createdAt": "2024-12-20T15:44:11.000000Z", "serviceId": "59051322-77d5-4c50-9a64-9d7f5779ccc4", "updatedAt": "2025-01-12T12:31:56.000000Z" }, { "url": "https://opac.perpusnas.go.id", "title": "OPAC", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/XWOEv04LivoNtDMw5suHtYmcRQsPueaqoj8zPL2W.png", "isActive": true, "subtitle": "OPAC", "createdAt": "2024-12-20T15:44:11.000000Z", "serviceId": "8b882be9-51cd-4e07-9d87-82176d177dcf", "updatedAt": "2025-01-12T12:29:26.000000Z" }, { "url": "https://landing-ipusnas.perpusnas.go.id/", "title": "iPusnas", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/s0NMi9GM6JYv34byMkalD2Yxkg911gYkyb7GCTGg.png", "isActive": true, "subtitle": "Perpustakaan Digital Bergerak", "createdAt": "2024-12-20T15:44:11.000000Z", "serviceId": "90e73708-4ef3-4c91-b91e-9fe03904c0c3", "updatedAt": "2026-05-08T02:41:05.000000Z" }, { "url": "https://ejournal.perpusnas.go.id/jm/index", "title": "Jumantara", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/lRCQqIODY9kLOWfz1U0BkxIthClwZawoRoQFkTMG.png", "isActive": true, "subtitle": "Jurnal Manuskrip Nusantara", "createdAt": "2024-12-20T15:44:11.000000Z", "serviceId": "ad6201d9-a514-42da-bab5-3b2f47cf3144", "updatedAt": "2025-01-12T01:08:59.000000Z" }, { "url": "https://keanggotaan.perpusnas.go.id", "title": "K-OL", "imageUrl": "https://khastara-storage.perpusnas.go.id/images/service/NX8VmrZ2a8fbHiMGVLnebUzuM5udPMorWxEGsTXU.png", "isActive": true, "subtitle": "Keanggotaan Online Perpusnas", "createdAt": "2024-12-20T15:44:11.000000Z", "serviceId": "ba671006-e72b-4e73-8b37-8036b07e8891", "updatedAt": "2025-01-12T12:30:26.000000Z" } ], "provider": "perpusnas" } ``` --- ### Videos Khastara (Perpusnas) — the SPA host khastara.perpusnas.go.id is Cloudflare-challenged on every cheap rung; its own backend khastara-api.perpusnas.go.id answers plain fetch - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:perpusnas/videos` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `page` | number | query | no | Page number. Default 1 | | `limit` | number | query | no | Items per page. Default 10, max 100 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:perpusnas/videos?page=1&limit=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:perpusnas/videos?page=1&limit=10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:perpusnas/videos?page=1&limit=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 3, "items": [ { "url": "https://youtu.be/_C-McvS0yeU?si=YolRNGdMEjB_W2my", "title": "Panduan Pendaftaran Naskah Secara Langsung di Khastara", "videoId": "ffecc16c-e0c6-4dad-927c-691112392b4b", "category": { "name": "Panduan", "isIkon": false, "categoryId": "c7bc2484-f53b-4baf-9a48-a999a63b4cb1" }, "createdAt": "2025-12-05T08:27:18.000000Z", "createdBy": "Vinna Setiawan", "updatedAt": "2025-12-05T08:27:18.000000Z", "viewCount": 0, "description": "Video panduan ini dibuat agar pemilik naskah dapat memperoleh panduan dalam mendaftarkan naskah kuno yang mudah dipahami, informatif, dan nyaman digunakan", "thumbnailUrl": "https://khastara-storage.perpusnas.go.id/images/video/sleVaAkSZL2g5cT6sf0IcGWT7i4W5Bwimkk9MnWV.jpg" }, { "url": "https://youtu.be/DIl8SItJqUM?si=YeOY1zEOELunuQmf", "title": "Tutorial Pendaftaran Naskah Kuno Berjenjang–Cara Menginput Naskah [Khusus Dinas Perpustakaan Daerah]", "videoId": "70c37ce2-6f0a-4e60-8c2e-c5b6605a21eb", "category": { "name": "Panduan", "isIkon": false, "categoryId": "c7bc2484-f53b-4baf-9a48-a999a63b4cb1" }, "createdAt": "2025-10-17T04:28:24.000000Z", "createdBy": "Vinna Setiawan", "updatedAt": "2025-10-17T04:28:24.000000Z", "viewCount": 0, "description": "Tutorial Pendaftaran Naskah Kuno Berjenjang–Cara Menginput Naskah [Khusus Dinas Perpustakaan Daerah]", "thumbnailUrl": "https://khastara-storage.perpusnas.go.id/images/video/g9vDtSyBIajyfBa1eS020zuBDggtXNdGxTibqa1x.png" }, { "url": "https://www.youtube.com/watch?v=FDMtOgy7JYI", "title": "Syair-Syair Hamzah Fansuri: Pemantik Api Sastra dan Spiritualitas di Nusantara", "videoId": "9f78bee1-eead-4173-addb-f957c4079358", "category": { "name": "Pujasintara", "isIkon": false, "categoryId": "94488527-498e-4196-b83f-8fbd4cf363d4" }, "createdAt": "2025-10-03T08:32:09.000000Z", "createdBy": "Admin Berita Lontara", "updatedAt": "2025-10-03T08:32:09.000000Z", "viewCount": 0, "description": "Syair-syair Hamzah Fansuri terbukti dapat menghidupkan, memperkaya dan mengembangkan dunia sastra, spiritualitas dan pengetahuan di wilayah Nusantara dalam banyak studi dan hasil penelitian imiah.", "thumbnailUrl": "https://khastara-storage.perpusnas.go.id/images/video/fwVJ37RPffBloCgMWXyJwHz4MANhQ0qITdNPFozZ.jpg" } ], "limit": 3, "total": 22, "hasMore": true, "nextPage": 2, "provider": "perpusnas" } ``` --- ## Al-Qur'an Kemenag **Category:** indonesia · **Slug:** `quran-kemenag` **Detail page:** https://zapi.ink/api/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). **Tags:** quran, islam, kemenag, tafsir, indonesia ### Surah List All 114 surah with name, ayah count, revelation place and starting mushaf page. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-list` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `keyword` | string | query | no | Filter by surah name or translation | | `revelation` | enum(all|makkiyah|madaniyah) | query | no | Filter by revelation place. Default all | | `page` | number | query | no | Page number (starts at 1). Default 1 | | `count` | number | query | no | Items per page. Default 114, max 114 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-list?keyword=baqarah&revelation=all&page=1&count=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-list?keyword=baqarah&revelation=all&page=1&count=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-list?keyword=baqarah&revelation=all&page=1&count=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 10, "items": [ { "name": "Al-Fātiḥah", "surah": 1, "ayahCount": 7, "startPage": 1, "nameArabic": "الفاتحة", "revelation": "Makkiyah", "translation": "Pembuka", "transliteration": "Al-Fatihah" }, { "name": "Al-Baqarah", "surah": 2, "ayahCount": 286, "startPage": 2, "nameArabic": "البقرة", "revelation": "Madaniyah", "translation": "Sapi", "transliteration": "Al-Baqarah" }, { "name": "Āli ‘Imrān", "surah": 3, "ayahCount": 200, "startPage": 50, "nameArabic": "اٰل عمرٰن", "revelation": "Madaniyah", "translation": "Keluarga Imran", "transliteration": "Ali ‘Imran" }, { "name": "An-Nisā'", "surah": 4, "ayahCount": 176, "startPage": 77, "nameArabic": "النّساۤء", "revelation": "Madaniyah", "translation": "Perempuan", "transliteration": "An-Nisa'" }, { "name": "Al-Mā'idah", "surah": 5, "ayahCount": 120, "startPage": 106, "nameArabic": "الماۤئدة", "revelation": "Madaniyah", "translation": "Hidangan", "transliteration": "Al-Ma'idah" }, { "name": "Al-An‘ām", "surah": 6, "ayahCount": 165, "startPage": 128, "nameArabic": "الانعام", "revelation": "Makkiyah", "translation": "Binatang Ternak", "transliteration": "Al-An‘am" }, { "name": "Al-A‘rāf", "surah": 7, "ayahCount": 206, "startPage": 151, "nameArabic": "الاعراف", "revelation": "Makkiyah", "translation": "Tempat Tertinggi", "transliteration": "Al-A‘raf" }, { "name": "Al-Anfāl", "surah": 8, "ayahCount": 75, "startPage": 177, "nameArabic": "الانفال", "revelation": "Madaniyah", "translation": "Rampasan Perang", "transliteration": "Al-Anfal" } ], "total": 114, "hasMore": true, "nextPage": 2, "provider": "quran-kemenag", "returned": 10, "revelation": "all" } ``` --- ### Surah Detail One surah's metadata by number. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-detail` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-detail?surah=2" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-detail?surah=2", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-detail?surah=2", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "name": "Al-Baqarah", "surah": 2, "provider": "quran-kemenag", "ayahCount": 286, "startPage": 2, "nameArabic": "البقرة", "revelation": "Madaniyah", "translation": "Sapi", "transliteration": "Al-Baqarah" } ``` --- ### Ayah List Paged ayah of one surah, full text and position. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-list` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | | `page` | number | query | no | Page number (starts at 1). Default 1 | | `count` | number | query | no | Items per page. Default 50, max 300 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-list?surah=2&page=1&count=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-list?surah=2&page=1&count=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-list?surah=2&page=1&count=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 10, "items": [ { "juz": 22, "ayah": 1, "latin": "Yā sīn.", "surah": 36, "words": [], "arabic": "يٰسۤ ۚ", "ayahId": 3706, "manzil": 5, "kitabah": "يٰسۡ ۚ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "Yā Sīn. " }, { "juz": 22, "ayah": 2, "latin": "Wal-qur'ānil-ḥakīm(i).", "surah": 36, "words": [], "arabic": "وَالْقُرْاٰنِ الْحَكِيْمِۙ ", "ayahId": 3707, "manzil": 5, "kitabah": "وَالْقُرْاٰنِ الْحَكِيْمِۙ ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "Demi Al-Qur’an yang penuh hikmah," }, { "juz": 22, "ayah": 3, "latin": "Innaka laminal-mursalīn(a).", "surah": 36, "words": [], "arabic": "اِنَّكَ لَمِنَ الْمُرْسَلِيْنَۙ ", "ayahId": 3708, "manzil": 5, "kitabah": "اِنَّكَ لَمِنَ الْمُرْسَلِيْنَۙ ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "sesungguhnya engkau (Nabi Muhammad) benar-benar salah seorang dari rasul-rasul" }, { "juz": 22, "ayah": 4, "latin": "‘Alā ṣirāṭim mustaqīm(in).", "surah": 36, "words": [], "arabic": "عَلٰى صِرَاطٍ مُّسْتَقِيْمٍۗ ", "ayahId": 3709, "manzil": 5, "kitabah": "عَلٰى صِرَاطٍ مُّسْتَقِيْمٍۗ ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "(yang berada) di atas jalan yang lurus," }, { "juz": 22, "ayah": 5, "latin": "Tanzīlal-‘azīzir-raḥīm(i).", "surah": 36, "words": [], "arabic": "تَنْزِيْلَ الْعَزِيْزِ الرَّحِيْمِۙ ", "ayahId": 3710, "manzil": 5, "kitabah": "تَنْزِيْلَ الْعَزِيْزِ الرَّحِيْمِۙ ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "(sebagai wahyu) yang diturunkan oleh (Allah) Yang Maha Perkasa lagi Maha Penyayang," }, { "juz": 22, "ayah": 6, "latin": "Litunżira qaumam mā unżira ābā'uhum fahum gāfilūn(a).", "surah": 36, "words": [], "arabic": "لِتُنْذِرَ قَوْمًا مَّآ اُنْذِرَ اٰبَاۤؤُهُمْ فَهُمْ غٰفِلُوْنَ ", "ayahId": 3711, "manzil": 5, "kitabah": "لِتُنْذِرَ قَوْمًا مَّآ اُنْذِرَ اٰبَاۤؤُهُمْ فَهُمْ غٰفِلُوْنَ ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "agar engkau (Nabi Muhammad) memberi peringatan kepada suatu kaum yang nenek moyang mereka belum pernah diberi peringatan, sehingga mereka lalai." }, { "juz": 22, "ayah": 7, "latin": "Laqad ḥaqqal-qaulu ‘alā akṡarihim fahum lā yu'minūn(a).", "surah": 36, "words": [], "arabic": "لَقَدْ حَقَّ الْقَوْلُ عَلٰٓى اَكْثَرِهِمْ فَهُمْ لَا يُؤْمِنُوْنَ ", "ayahId": 3712, "manzil": 5, "kitabah": "لَقَدْ حَقَّ الْقَوْلُ عَلٰٓى اَكْثَرِهِمْ فَهُمْ لَا يُؤْمِنُوْنَ ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "Sungguh, benar-benar berlaku perkataan (ketetapan takdir) terhadap kebanyakan mereka, maka mereka tidak akan beriman." }, { "juz": 22, "ayah": 8, "latin": "Innā ja‘alnā fī a‘nāqihim aglālan fa hiya ilal-ażqāni fahum muqmaḥūn(a).", "surah": 36, "words": [], "arabic": "اِنَّا جَعَلْنَا فِيْٓ اَعْنَاقِهِمْ اَغْلٰلًا فَهِيَ اِلَى الْاَذْقَانِ فَهُمْ مُّقْمَحُوْنَ ", "ayahId": 3713, "manzil": 5, "kitabah": "اِنَّا جَعَلْنَا فِيْٓ اَعْنَاقِهِمْ اَغْلٰلًا فَهِيَ اِلَى الْاَذْقَانِ فَهُمْ مُّقْمَحُوْنَ ", "footnotes": null, "surahName": "Yāsīn", "updatedAt": null, "mushafPage": 440, "quarterHizb": 44.75, "translation": "Sesungguhnya Kami telah memasang belenggu di leher mereka, lalu (tangan mereka yang terbelenggu diangkat) ke dagu, karena itu mereka tertengadah." } ], "surah": 36, "total": 83, "hasMore": true, "nextPage": 2, "provider": "quran-kemenag", "returned": 10, "surahName": "Yāsīn" } ``` --- ### Ayah Detail One ayah: Arabic, kitabah, transliteration, translation, footnotes and position. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-detail` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | | `ayah` | number | query | yes | Ayah number within the surah, 1-286 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-detail?surah=2&ayah=255" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-detail?surah=2&ayah=255", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-detail?surah=2&ayah=255", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "juz": 3, "ayah": 255, "latin": "Allāhu lā ilāha illā huw(a), al-ḥayyul-qayyūm(u), lā ta'khużuhū sinatuw wa lā naum(un), lahū mā fis-samāwāti wa mā fil-arḍ(i), man żal-lażī yasyfa‘u ‘indahū illā bi'iżnih(ī), ya‘lamu mā baina aidīhim wa mā khalfahum, wa lā yuḥīṭūna bisyai'im min ‘ilmihī illā bimā syā'(a), wasi‘a kursiyyuhus-samāwāti wal-arḍ(a), wa lā ya'ūduhū ḥifẓuhumā, wa huwal-‘aliyyul-‘aẓīm(u). ", "surah": 2, "words": [], "arabic": "اَللّٰهُ لَآ اِلٰهَ اِلَّا هُوَۚ اَلْحَيُّ الْقَيُّوْمُ ەۚ لَا تَأْخُذُهٗ سِنَةٌ وَّلَا نَوْمٌۗ لَهٗ مَا فِى السَّمٰوٰتِ وَمَا فِى الْاَرْضِۗ مَنْ ذَا الَّذِيْ يَشْفَعُ عِنْدَهٗٓ اِلَّا بِاِذْنِهٖۗ يَعْلَمُ مَا بَيْنَ اَيْدِيْهِمْ وَمَا خَلْفَهُمْۚ وَلَا يُحِيْطُوْنَ بِشَيْءٍ مِّنْ عِلْمِهٖٓ اِلَّا بِمَا شَاۤءَۚ وَسِعَ كُرْسِيُّهُ السَّمٰوٰتِ وَالْاَرْضَۚ وَلَا يَـُٔوْدُهٗ حِفْظُهُمَاۚ وَهُوَ الْعَلِيُّ الْعَظِيْمُ", "ayahId": 262, "manzil": 1, "kitabah": "اَللّٰهُ لَآ اِلٰهَ اِلَّا هُوَۚ اَلْحَيُّ الْقَيُّوْمُ ەۚ لَا تَأْخُذُهٗ سِنَةٌ وَّلَا نَوْمٌۗ لَهٗ مَا فِى السَّمٰوٰتِ وَمَا فِى الْاَرْضِۗ مَنْ ذَا الَّذِيْ يَشْفَعُ عِنْدَهٗٓ اِلَّا بِاِذْنِهٖۗ يَعْلَمُ مَا بَيْنَ اَيْدِيْهِمْ وَمَا خَلْفَهُمْۚ وَلَا يُحِيْطُوْنَ بِشَيْءٍ مِّنْ عِلْمِهٖٓ اِلَّا بِمَا شَاۤءَۚ وَسِعَ كُرْسِيُّهُ السَّمٰوٰتِ وَالْاَرْضَۚ وَلَا يَـُٔوْدُهٗ حِفْظُهُمَاۚ وَهُوَ الْعَلِيُّ الْعَظِيْمُ", "provider": "quran-kemenag", "footnotes": null, "surahName": "Al-Baqarah", "updatedAt": null, "mushafPage": 42, "quarterHizb": 5, "translation": "Allah, tidak ada tuhan selain Dia, Yang Maha Hidup lagi terus-menerus mengurus (makhluk-Nya). Dia tidak dilanda oleh kantuk dan tidak (pula) oleh tidur. Milik-Nyalah apa yang ada di langit dan apa yang ada di bumi. Tidak ada yang dapat memberi syafaat di sisi-Nya tanpa izin-Nya. Dia mengetahui apa yang ada di hadapan mereka dan apa yang ada di belakang mereka. Mereka tidak mengetahui sesuatu apa pun dari ilmu-Nya, kecuali apa yang Dia kehendaki. Kursi-Nya (ilmu dan kekuasaan-Nya) meliputi langit dan bumi. Dia tidak merasa berat memelihara keduanya. Dialah yang Maha Tinggi lagi Maha Agung." } ``` --- ### Ayah by Juz Paged ayah of one juz (1-30). - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-juz` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `juz` | number | query | yes | Juz number, 1-30 | | `page` | number | query | no | Page number (starts at 1). Default 1 | | `count` | number | query | no | Items per page. Default 50, max 300 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-juz?juz=30&page=1&count=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-juz?juz=30&page=1&count=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-juz?juz=30&page=1&count=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "juz": 30, "page": 1, "count": 10, "items": [ { "juz": 30, "ayah": 1, "latin": "‘Amma yatasā'alūn(a).", "surah": 78, "words": [ "عَمَّ", "يَتَسَاۤءَلُوْنَۚ" ], "arabic": "عَمَّ يَتَسَاۤءَلُوْنَۚ ", "ayahId": 5673, "manzil": 7, "kitabah": "عَمَّ يَتَسَاۤءَلُوْنَۚ ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "Tentang apakah mereka saling bertanya?" }, { "juz": 30, "ayah": 2, "latin": "‘Anin naba'il-‘aẓīm(i).", "surah": 78, "words": [ "عَنِ", "النَّبَاِ", "الْعَظِيْمِۙ" ], "arabic": "عَنِ النَّبَاِ الْعَظِيْمِۙ ", "ayahId": 5674, "manzil": 7, "kitabah": "عَنِ النَّبَاِ الْعَظِيْمِۙ ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "Tentang berita yang besar (hari Kebangkitan)" }, { "juz": 30, "ayah": 3, "latin": "Allażī hum fīhi mukhtalifūn(a).", "surah": 78, "words": [ "الَّذِيْ", "هُمْ", "فِيْهِ", "مُخْتَلِفُوْنَۗ" ], "arabic": "الَّذِيْ هُمْ فِيْهِ مُخْتَلِفُوْنَۗ ", "ayahId": 5675, "manzil": 7, "kitabah": "الَّذِيْ هُمْ فِيْهِ مُخْتَلِفُوْنَۗ ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "yang dalam hal itu mereka berselisih." }, { "juz": 30, "ayah": 4, "latin": "Kallā saya‘lamūn(a).", "surah": 78, "words": [ "كَلَّا", "سَيَعْلَمُوْنَۙ" ], "arabic": "كَلَّا سَيَعْلَمُوْنَۙ ", "ayahId": 5676, "manzil": 7, "kitabah": "كَلَّا سَيَعْلَمُوْنَۙ ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "Sekali-kali tidak! Kelak mereka akan mengetahui." }, { "juz": 30, "ayah": 5, "latin": "Ṡumma kallā saya‘lamūn(a).", "surah": 78, "words": [ "ثُمَّ", "كَلَّا", "سَيَعْلَمُوْنَ" ], "arabic": "ثُمَّ كَلَّا سَيَعْلَمُوْنَ", "ayahId": 5677, "manzil": 7, "kitabah": "ثُمَّ كَلَّا سَيَعْلَمُوْنَ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "Sekali lagi, tidak! Kelak mereka akan mengetahui. " }, { "juz": 30, "ayah": 6, "latin": "Alam naj‘alil-arḍa mihādā(n).", "surah": 78, "words": [ "اَلَمْ", "نَجْعَلِ", "الْاَرْضَ", "مِهٰدًاۙ" ], "arabic": "اَلَمْ نَجْعَلِ الْاَرْضَ مِهٰدًاۙ", "ayahId": 5678, "manzil": 7, "kitabah": "اَلَمْ نَجْعَلِ الْاَرْضَ مِهٰدًاۙ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "Bukankah Kami telah menjadikan bumi sebagai hamparan " }, { "juz": 30, "ayah": 7, "latin": "Wal-jibāla autādā(n).", "surah": 78, "words": [ "وَّالْجِبَالَ", "اَوْتَادًاۖ" ], "arabic": "وَّالْجِبَالَ اَوْتَادًاۖ", "ayahId": 5679, "manzil": 7, "kitabah": "وَّالْجِبَالَ اَوْتَادًاۖ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "dan gunung-gunung sebagai pasak?" }, { "juz": 30, "ayah": 8, "latin": "Wa khalaqnākum azwājā(n).", "surah": 78, "words": [ "وَّخَلَقْنٰكُمْ", "اَزْوَاجًاۙ" ], "arabic": "وَّخَلَقْنٰكُمْ اَزْوَاجًاۙ ", "ayahId": 5680, "manzil": 7, "kitabah": "وَّخَلَقْنٰكُمْ اَزْوَاجًاۙ ", "footnotes": null, "surahName": "An-Naba'", "updatedAt": null, "mushafPage": 582, "quarterHizb": 59, "translation": "Kami menciptakan kamu berpasang-pasangan." } ], "total": null, "hasMore": true, "nextPage": 2, "provider": "quran-kemenag", "returned": 10 } ``` --- ### Ayah by Mushaf Page Every ayah printed on one standard mushaf page (1-604). - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-page` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `mushafPage` | number | query | yes | Mushaf page number, 1-604 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-page?mushafPage=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-page?mushafPage=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-by-page?mushafPage=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 7, "items": [ { "juz": 1, "ayah": 1, "latin": "Bismillāhir-raḥmānir-raḥīm(i). ", "surah": 1, "words": [ "بِسْمِ", "اللّٰهِ", "الرَّحْمٰنِ", "الرَّحِيْمِ" ], "arabic": "بِسْمِ اللّٰهِ الرَّحْمٰنِ الرَّحِيْمِ", "ayahId": 1, "manzil": 1, "kitabah": "بِسْمِ اللّٰهِ الرَّحْمٰنِ الرَّحِيْمِ", "footnotes": null, "surahName": "Al-Fātiḥah", "updatedAt": "2025-09-17T11:40:19.000Z", "mushafPage": 1, "quarterHizb": 1, "translation": "Dengan nama Allah Yang Maha Pengasih lagi Maha Penyayang." }, { "juz": 1, "ayah": 2, "latin": "Al-ḥamdu lillāhi rabbil-‘ālamīn(a). ", "surah": 1, "words": [ "اَلْحَمْدُ", "لِلّٰهِ", "رَبِّ", "الْعٰلَمِيْنَۙ" ], "arabic": "اَلْحَمْدُ لِلّٰهِ رَبِّ الْعٰلَمِيْنَۙ", "ayahId": 2, "manzil": 1, "kitabah": "اَلْحَمْدُ لِلّٰهِ رَبِّ الْعٰلَمِيْنَۙ", "footnotes": "1) Allah Swt. disebut rabb (Tuhan) seluruh alam karena Dialah yang telah menciptakan, memelihara, mendidik, mengatur, mengurus, memberi rezeki, dan sebagainya kepada semua makhluk-Nya. ", "surahName": "Al-Fātiḥah", "updatedAt": "2025-09-17T11:41:27.000Z", "mushafPage": 1, "quarterHizb": 1, "translation": "Segala puji bagi Allah, Tuhan1) semesta alam" }, { "juz": 1, "ayah": 3, "latin": "Ar-raḥmānir-raḥīm(i). ", "surah": 1, "words": [ "الرَّحْمٰنِ", "الرَّحِيْمِۙ" ], "arabic": "الرَّحْمٰنِ الرَّحِيْمِۙ", "ayahId": 3, "manzil": 1, "kitabah": "الرَّحْمٰنِ الرَّحِيْمِۙ", "footnotes": null, "surahName": "Al-Fātiḥah", "updatedAt": "2025-09-17T11:41:39.000Z", "mushafPage": 1, "quarterHizb": 1, "translation": "Yang Maha Pengasih lagi Maha Penyayang," }, { "juz": 1, "ayah": 4, "latin": "Māliki yaumid-dīn(i). ", "surah": 1, "words": [ "مٰلِكِ", "يَوْمِ", "الدِّيْنِۗ" ], "arabic": "مٰلِكِ يَوْمِ الدِّيْنِۗ", "ayahId": 4, "manzil": 1, "kitabah": "مٰلِكِ يَوْمِ الدِّيْنِۗ", "footnotes": "2) Yaumid-dīn (hari Pembalasan) adalah hari ketika kelak manusia menerima balasan atas amal-amalnya yang baik dan yang buruk. Hari itu disebut juga yaumul-qiyāmah (hari Kiamat), yaumul-ḥisāb (hari Penghitungan), dan sebagainya.", "surahName": "Al-Fātiḥah", "updatedAt": "2025-09-17T11:41:53.000Z", "mushafPage": 1, "quarterHizb": 1, "translation": "Pemilik hari Pembalasan.2)" }, { "juz": 1, "ayah": 5, "latin": "Iyyāka na‘budu wa iyyāka nasta‘īn(u), ", "surah": 1, "words": [ "اِيَّاكَ", "نَعْبُدُ", "وَاِيَّاكَ", "نَسْتَعِيْنُۗ" ], "arabic": "اِيَّاكَ نَعْبُدُ وَاِيَّاكَ نَسْتَعِيْنُۗ", "ayahId": 5, "manzil": 1, "kitabah": "اِيَّاكَ نَعْبُدُ وَاِيَّاكَ نَسْتَعِيْنُۗ", "footnotes": null, "surahName": "Al-Fātiḥah", "updatedAt": "2025-09-17T11:42:03.000Z", "mushafPage": 1, "quarterHizb": 1, "translation": "Hanya kepada Engkaulah kami menyembah dan hanya kepada Engkaulah kami memohon pertolongan." }, { "juz": 1, "ayah": 6, "latin": "Ihdinaṣ-ṣirāṭal-mustaqīm(a). ", "surah": 1, "words": [ "اِهْدِنَا", "الصِّرَاطَ", "الْمُسْتَقِيْمَۙ" ], "arabic": "اِهْدِنَا الصِّرَاطَ الْمُسْتَقِيْمَۙ", "ayahId": 6, "manzil": 1, "kitabah": "اِهْدِنَا الصِّرَاطَ الْمُسْتَقِيْمَۙ", "footnotes": "3) Jalan yang lurus adalah jalan hidup yang benar dan sesuai dengan ajaran Islam yang terkandung dalam Al-Qur’an dan hadis.", "surahName": "Al-Fātiḥah", "updatedAt": "2025-09-17T11:42:14.000Z", "mushafPage": 1, "quarterHizb": 1, "translation": "Bimbinglah kami ke jalan yang lurus,3)" }, { "juz": 1, "ayah": 7, "latin": "Ṣirāṭal-lażīna an‘amta ‘alaihim, gairil-magḍūbi ‘alaihim wa laḍ-ḍāllīn(a). ", "surah": 1, "words": [ "صِرَاطَ", "الَّذِيْنَ", "اَنْعَمْتَ", "عَلَيْهِمْ", "ەۙ", "غَيْرِ", "الْمَغْضُوْبِ", "عَلَيْهِمْ" ], "arabic": "صِرَاطَ الَّذِيْنَ اَنْعَمْتَ عَلَيْهِمْ ەۙ غَيْرِ الْمَغْضُوْبِ عَلَيْهِمْ وَلَا الضَّاۤلِّيْنَ ࣖ", "ayahId": 7, "manzil": 1, "kitabah": "صِرَاطَ الَّذِيْنَ اَنْعَمْتَ عَلَيْهِمْ ەۙ غَيْرِ الْمَغْضُوْبِ عَلَيْهِمْ وَلَا الضَّاۤلِّيْنَ ࣖ", "footnotes": null, "surahName": "Al-Fātiḥah", "updatedAt": "2025-09-17T11:42:28.000Z", "mushafPage": 1, "quarterHizb": 1, "translation": "(yaitu) jalan orang-orang yang telah Engkau beri nikmat, bukan (jalan) mereka yang dimurkai dan bukan (pula jalan) orang-orang yang sesat." } ], "provider": "quran-kemenag", "mushafPage": 1 } ``` --- ### Ayah Word by Word Per-word breakdown of one ayah. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-words` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | | `ayah` | number | query | yes | Ayah number within the surah, 1-286 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-words?surah=2&ayah=255" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-words?surah=2&ayah=255", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/ayah-words?surah=2&ayah=255", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ayah": 1, "count": 4, "items": [ { "arabic": "بِسْمِ", "position": 1 }, { "arabic": "اللّٰهِ", "position": 2 }, { "arabic": "الرَّحْمٰنِ", "position": 3 }, { "arabic": "الرَّحِيْمِ", "position": 4 } ], "surah": 1, "arabic": "بِسْمِ اللّٰهِ الرَّحْمٰنِ الرَّحِيْمِ", "ayahId": 1, "provider": "quran-kemenag", "surahName": "Al-Fātiḥah", "translation": "Dengan nama Allah Yang Maha Pengasih lagi Maha Penyayang." } ``` --- ### Tafsir (Full) Complete Kemenag tafsir for one ayah: wajiz, tahlili, kosakata, sabab nuzul, munasabah, surah intro/outro and conclusion. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-ayah` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | | `ayah` | number | query | yes | Ayah number within the surah, 1-286 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-ayah?surah=2&ayah=255" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-ayah?surah=2&ayah=255", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-ayah?surah=2&ayah=255", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ayah": 255, "latin": "Allāhu lā ilāha illā huw(a), al-ḥayyul-qayyūm(u), lā ta'khużuhū sinatuw wa lā naum(un), lahū mā fis-samāwāti wa mā fil-arḍ(i), man żal-lażī yasyfa‘u ‘indahū illā bi'iżnih(ī), ya‘lamu mā baina aidīhim wa mā khalfahum, wa lā yuḥīṭūna bisyai'im min ‘ilmihī illā bimā syā'(a), wasi‘a kursiyyuhus-samāwāti wal-arḍ(a), wa lā ya'ūduhū ḥifẓuhumā, wa huwal-‘aliyyul-‘aẓīm(u). ", "surah": 2, "wajiz": "Allah; tidak ada tuhan yang pantas disembah dan dipertuhan selain Dia. Yang Mahahidup, kekal, dan memiliki semua makna kehidupan yang sempurna, Yang terus menerus mengurus makhluk-Nya. Tidak seperti manusia, Dia tidak mengantuk dan tidak pula tidur, sebab keduanya adalah sifat kekurangan yang membuat-Nya tidak mampu mengurus makhluk-Nya. Milik-Nya apa yang ada di langit dan apa yang ada di bumi. Dia Yang menciptakan, memelihara, memiliki, dan bertindak terhadap semua itu. Tidak ada yang dapat memberi syafaat pertolongan di sisi-Nya tanpa izin-Nya. Dia demikian perkasa dan kuasa sehingga berbicara di hadapan-Nya pun harus setelah memperolah restu-Nya, bahkan apa yang disampaikan itu harus sesuatu yang benar. Dia mengetahui apa yang di hadapan mereka, yakni apa saja yang sedang dan akan terjadi, dan apa yang di belakang mereka, yakni sesuatu yang telah berlalu. Allah mengetahui apa yang mereka lakukan dan rencanakan, baik yang berkaitan dengan masa kini, masa lampau, atau masa depan. Dan mereka tidak mengetahui sesuatu apa pun tentang ilmu-Nya melainkan apa yang Dia kehendaki untuk mereka ketahui dengan memperlihatkan dan memberitahukannya. Kursi-Nya, yaitu kekuasaan, ilmu, atau kursi tempat kedua kaki Tuhan (yang tidak diketahui hakikatnya kecuali oleh Allah) berpijak, sangat luas, meliputi langit dan bumi. Dan jangan menduga karena kursi-Nya terlalu luas, Dia letih mengurus itu semua. Tidak! Dia tidak merasa berat maupun kesulitan memelihara keduanya, dan Dia Mahatinggi zat dan sifat-sifat-Nya jika dibanding makhluk-makhlukNya, Mahabesar dengan segala keagungan dan kekuasaan-Nya. Inilah Ayat Kursi, ayat teragung dalam Al-Qur'an karena mencakup namanama dan sifat-sifat Allah yang menunjukkan kesempurnaan zat, ilmu, kekuasaan, dan keagungan-Nya. Ayat ini dinamakan Ayat Kursi. Siapa yang membacanya akan memperoleh perlindungan Allah dan tidak akan diganggu setan.", "arabic": "اَللّٰهُ لَآ اِلٰهَ اِلَّا هُوَۚ اَلْحَيُّ الْقَيُّوْمُ ەۚ لَا تَأْخُذُهٗ سِنَةٌ وَّلَا نَوْمٌۗ لَهٗ مَا فِى السَّمٰوٰتِ وَمَا فِى الْاَرْضِۗ مَنْ ذَا الَّذِيْ يَشْفَعُ عِنْدَهٗٓ اِلَّا بِاِذْنِهٖۗ يَعْلَمُ مَا بَيْنَ اَيْدِيْهِمْ وَمَا خَلْفَهُمْۚ وَلَا يُحِيْطُوْنَ بِشَيْءٍ مِّنْ عِلْمِهٖٓ اِلَّا بِمَا شَاۤءَۚ وَسِعَ كُرْسِيُّهُ السَّمٰوٰتِ وَالْاَرْضَۚ وَلَا يَـُٔوْدُهٗ حِفْظُهُمَاۚ وَهُوَ الْعَلِيُّ الْعَظِيْمُ", "ayahId": 262, "tahlili": "Allah adalah Tuhan Yang Maha Esa, tidak ada tuhan selain Dia, dan hanya Dia yang berhak untuk disembah. Adapun tuhan-tuhan yang lain yang disembah oleh sebagian manusia dengan alasan yang tidak benar, memang banyak jumlahnya. Akan tetapi Tuhan yang sebenarnya hanyalah Allah. Hanya Dialah Yang hidup abadi, yang ada dengan sendiri-Nya, dan Dia pulalah yang selalu mengatur makhluk-Nya tanpa ada kelalaian sedikit pun.\nKemudian ditegaskan lagi bahwa Allah tidak pernah mengantuk. Orang yang berada dalam keadaan mengantuk tentu hilang kesadarannya, sehingga dia tidak akan dapat melakukan pekerjaannya dengan baik, padahal Allah swt senantiasa mengurus dan memelihara makhluk-Nya dengan baik, tidak pernah kehilangan kesadaran atau pun lalai.\nKarena Allah tidak pernah mengantuk, sudah tentu Dia tidak pernah tidur, karena mengantuk adalah permulaan dari proses tidur. Orang yang tidur lebih banyak kehilangan kesadaran daripada orang yang mengantuk.\nSifat Allah yang lain yang disebutkan dalam ayat ini ialah bahwa Dialah yang mempunyai kekuasaan dan yang memiliki apa yang ada di langit dan di bumi. Dialah yang mempunyai kekuatan dan kekuasaan yang tak terbatas, sehingga Dia dapat berbuat apa yang dikehendaki-Nya. Semuanya ada dalam kekuasaan-Nya, sehingga tidak ada satu pun dari makhluk-Nya termasuk para nabi dan para malaikat yang dapat memberikan pertolongan kecuali dengan izin-Nya, apalagi patung-patung yang oleh orang-orang kafir dianggap sebagai penolong mereka.\nYang dimaksud dengan “pertolongan” atau “syafaat” dalam ayat ini ialah pertolongan yang diberikan oleh para malaikat, nabi dan orang-orang saleh kepada umat manusia pada hari kiamat untuk mendapatkan keringanan atau kebebasan dari hukuman Allah. Syafaat itu akan terjadi atas izin Allah. Dalam hadis disebutkan :\nقَالَ النَّبِيُّ صَلَّى اللهُ عَلَيْهِ وَسَلَّمَ : ...فَيَقُوْلُ اللهُ عَزَّ وَجَلَّ: شَفَعَتْ اَلْمَلاَئِكَةُ وَشَفَعَ النَّبِيُّوْنَ وَشَفَعَ الْمُؤْمِنُوْنَ (رواه أحمد ومسلم عن ابي سعيد الخدري)\nNabi Saw bersabda, “…Kemudian Allah berfirman, “Para Malaikat memberikan syafaat, para Nabi memberikan syafaat, dan orang-orang mukmin juga memberikan syafaat. (Riwayat Aḥmad dan Muslim dari Abu Sa‘id al-Khudrī)\nSifat Allah yang lain yang disebutkan dalam ayat ini ialah: bahwa Allah senantiasa mengetahui apa saja yang terjadi di hadapan dan di belakang makhluk-Nya, sedang mereka tidak mengetahui sesuatu pun dari ilmu Allah, melainkan sekadar apa yang dikehendaki-Nya untuk mereka ketahui. Kursi Allah mencakup langit dan bumi. Allah tidak merasa berat sedikit pun dalam memelihara makhluk-Nya yang berada di langit dan di bumi, dan di semua alam ciptaan-Nya. Allah Mahatinggi lagi Mahabesar.\nMereka tidak mengetahui ilmu Allah, kecuali apa yang telah dikehendaki-Nya untuk mereka ketahui. Dengan demikian, yang dapat diketahui oleh manusia hanyalah sekadar apa yang dapat dijangkau oleh pengetahuan yang telah dikaruniakan Allah kepada mereka, dan jumlahnya amat sedikit dibanding dengan ilmu-Nya yang luas. Hal ini ditegaskan Allah dalam firman-Nya:\nوَمَآ اُوْتِيْتُمْ مِّنَ الْعِلْمِ اِلَّا قَلِيْلًا \n“… Sedangkan kamu diberi pengetahuan hanya sedikit.” (al-Isrā’/17:85)", "kosakata": "Kosakata: Kursi كُرْسِيٌّ (al-Baqarah/2: 255)\nSecara etimologis, kursi berarti tempat duduk, singgasana atau tahta (ṣād/38: 34). Asal katanya الكرسي artinya tempat berkumpul. Segala sesuatu yang berkumpul disebut kursi. Oleh sebab itu, buku tulis disebut kurrāsah karena tempat berkumpulnya lembaran-lembaran kertas. Kursi dalam ayat ini, oleh sebagian mufasir ditakwil dengan ilmu Allah. Ada pula yang mengartikan kekuasaan-Nya. Menurut Ibnu ‘Abbās dalam riwayat yang sahih, yang dimaksud dengan Kursi adalah tempat dua telapak kaki Allah. Tentu saja dengan pengertian bahwa hal itu tidak sama dengan telapak kaki makhluk-Nya. Ada juga riwayat dari Ibnu ‘Abbās bahwa yang dimaksud dengan Kursi adalah ilmu Allah, tetapi riwayat ini lemah. Dalam ayat ini dijelaskan besar dan luasnya Kursi Allah yang meliputi langit dan bumi. ", "provider": "quran-kemenag", "surahName": "Al-Baqarah", "conclusion": "1.\tHanya Allah sajalah Tuhan bagi semua umat manusia yang wajib diimani, disembah, dipuji dan ditaati, sebab Dialah yang wajibul-wujud, hidup abadi. Dialah Pencipta, Pemelihara dan Pelindung alam ini.\n2.\tAllah tidak mengantuk dan tidak tidur. Dia selalu mengurus makhluk-Nya tanpa lalai sedikit pun. Dia mengetahui apa saja yang terjadi di alam ini.\n3.\tHanya Allah yang menguasai, memiliki dan mengatur serta memelihara langit dan bumi, dan apa-apa yang terdapat pada keduanya. Dia tidak merasa berat memeliharanya.\n4.\tIlmu Allah Mahaluas, meliputi semua makhluk-Nya dan mengetahui segala yang dikerjakan mereka, baik yang tampak maupun yang tidak.", "introSurah": "Surah al-Baqarah yang terdiri dari 286 ayat adalah termasuk golongan surah Madaniyah yang diturunkan pada tahun-tahun permulaan periode Nabi Muhammad saw di Medinah. Ia merupakan surah yang terpanjang dan terbanyak ayat-ayatnya di antara surah yang ada di dalam Al-Qur’an. Surah ini dinamai “al-Baqarah” yang berarti “seekor sapi”, karena di dalamnya disebutkan kisah penyembelihan sapi betina yang diperintahkan Allah kepada Bani Israil. Dalam pelaksanaan penyembelihan sapi betina itu tampak dengan jelas sifat dan watak orang-orang Yahudi pada umumnya.\nDinamakan juga fusṭaṭ al-Qur’ān yang berarti “puncak Al-Qur’an” karena surah ini memuat beberapa hukum yang tidak disebut di surah-surah yang lain. Juga dinamakan Alīf Lām Mīm, karena surah ini dimulai dengan huruf-huruf hijaiyah (abjad) alif lām mīm.\nDi antara pokok-pokok isinya ialah:\n1.\tKeimanan: Dakwah Islamiah yang ditujukan kepada umat Islam, Ahli Kitab dan orang-orang musyrik.\n2.\tHukum: Perintah mengerjakan salat, perintah menunaikan zakat, puasa, haji dan umrah, qiṣaṣ, yang halal dan yang haram, bernafkah di jalan Allah, minum arak dan berjudi, cara bergaul dengan anak yatim, prinsip-prinsip ekonomi, larangan memakan riba, utang piutang, nafkah dan yang berhak menerimanya, wasiat kepada dua orang ibu bapak dan kaum kerabat, hukum sumpah, kewajiban menyampaikan amanat, sihir, hukum merusak masjid, hukum mengubah kitab-kitab Allah, haid, idah, talak, khulu‘, ilā, hukum susuan, meminang, mahar, menikahi wanita musyrik dan sebaliknya, hukum perang, dan lain-lain. \n3.\tKisah: Penciptaan Nabi Adam a.s., kisah Nabi Ibrahim a.s., dan kisah Nabi Musa a.s. dengan Bani Israil.\n4.\tLain-lain, seperti: sifat orang yang bertakwa, sifat-sifat orang munafik, sifat-sifat Allah, perumpamaan-perumpamaan, kiblat, dan kebangkitan sesudah mati.", "outroSurah": null, "sababNuzul": null, "themeGroup": "AYAT KURSI", "translation": "Allah, tidak ada tuhan selain Dia, Yang Maha Hidup lagi terus-menerus mengurus (makhluk-Nya). Dia tidak dilanda oleh kantuk dan tidak (pula) oleh tidur. Milik-Nyalah apa yang ada di langit dan apa yang ada di bumi. Tidak ada yang dapat memberi syafaat di sisi-Nya tanpa izin-Nya. Dia mengetahui apa yang ada di hadapan mereka dan apa yang ada di belakang mereka. Mereka tidak mengetahui sesuatu apa pun dari ilmu-Nya, kecuali apa yang Dia kehendaki. Kursi-Nya (ilmu dan kekuasaan-Nya) meliputi langit dan bumi. Dia tidak merasa berat memelihara keduanya. Dialah yang Maha Tinggi lagi Maha Agung.", "munasabahPrevSurah": "1.\tSurah al-Fātiḥah merupakan pokok-pokok pembahasan yang akan dirinci dalam surah al-Baqarah dan surah-surah sesudahnya.\n2.\tDi bagian akhir surah al-Fātiḥah disebutkan permohonan hamba, agar diberi petunjuk oleh Allah ke jalan yang lurus, sedang surah al-Baqarah dimulai dengan ayat yang menerangkan bahwa Al-Qur’an adalah kitab yang menunjukkan jalan yang dimaksudkan itu.\n3.\tDi akhir surah al-Fātiḥah disebutkan tiga kelompok manusia, yaitu yang diberi nikmat, yang dimurkai Allah dan orang yang sesat, sedangkan di awal surah al-Baqarah juga disebutkan tiga kelompok manusia, yaitu orang yang bertakwa, orang kafir, dan orang munafik.", "munasabahPrevTheme": "Pada ayat yang lalu, Allah swt telah memerintahkan kepada orang-orang mukmin agar mereka mengeluarkan zakat atau pun sedekah dari harta benda mereka. Dia memperingatkan orang-orang yang tidak mau mengeluarkan zakat dan menyebut mereka sebagai “orang-orang yang kafir” terhadap nikmat dan karunia-Nya. Dalam ayat ini, Allah swt menyebutkan sebagian dari sifat-sifat-Nya yang maha tinggi." } ``` --- ### Tafsir Wajiz Short-form Kemenag tafsir for one ayah. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-wajiz` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | | `ayah` | number | query | yes | Ayah number within the surah, 1-286 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-wajiz?surah=2&ayah=255" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-wajiz?surah=2&ayah=255", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-wajiz?surah=2&ayah=255", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ayah": 255, "latin": "Allāhu lā ilāha illā huw(a), al-ḥayyul-qayyūm(u), lā ta'khużuhū sinatuw wa lā naum(un), lahū mā fis-samāwāti wa mā fil-arḍ(i), man żal-lażī yasyfa‘u ‘indahū illā bi'iżnih(ī), ya‘lamu mā baina aidīhim wa mā khalfahum, wa lā yuḥīṭūna bisyai'im min ‘ilmihī illā bimā syā'(a), wasi‘a kursiyyuhus-samāwāti wal-arḍ(a), wa lā ya'ūduhū ḥifẓuhumā, wa huwal-‘aliyyul-‘aẓīm(u). ", "surah": 2, "wajiz": "Allah; tidak ada tuhan yang pantas disembah dan dipertuhan selain Dia. Yang Mahahidup, kekal, dan memiliki semua makna kehidupan yang sempurna, Yang terus menerus mengurus makhluk-Nya. Tidak seperti manusia, Dia tidak mengantuk dan tidak pula tidur, sebab keduanya adalah sifat kekurangan yang membuat-Nya tidak mampu mengurus makhluk-Nya. Milik-Nya apa yang ada di langit dan apa yang ada di bumi. Dia Yang menciptakan, memelihara, memiliki, dan bertindak terhadap semua itu. Tidak ada yang dapat memberi syafaat pertolongan di sisi-Nya tanpa izin-Nya. Dia demikian perkasa dan kuasa sehingga berbicara di hadapan-Nya pun harus setelah memperolah restu-Nya, bahkan apa yang disampaikan itu harus sesuatu yang benar. Dia mengetahui apa yang di hadapan mereka, yakni apa saja yang sedang dan akan terjadi, dan apa yang di belakang mereka, yakni sesuatu yang telah berlalu. Allah mengetahui apa yang mereka lakukan dan rencanakan, baik yang berkaitan dengan masa kini, masa lampau, atau masa depan. Dan mereka tidak mengetahui sesuatu apa pun tentang ilmu-Nya melainkan apa yang Dia kehendaki untuk mereka ketahui dengan memperlihatkan dan memberitahukannya. Kursi-Nya, yaitu kekuasaan, ilmu, atau kursi tempat kedua kaki Tuhan (yang tidak diketahui hakikatnya kecuali oleh Allah) berpijak, sangat luas, meliputi langit dan bumi. Dan jangan menduga karena kursi-Nya terlalu luas, Dia letih mengurus itu semua. Tidak! Dia tidak merasa berat maupun kesulitan memelihara keduanya, dan Dia Mahatinggi zat dan sifat-sifat-Nya jika dibanding makhluk-makhlukNya, Mahabesar dengan segala keagungan dan kekuasaan-Nya. Inilah Ayat Kursi, ayat teragung dalam Al-Qur'an karena mencakup namanama dan sifat-sifat Allah yang menunjukkan kesempurnaan zat, ilmu, kekuasaan, dan keagungan-Nya. Ayat ini dinamakan Ayat Kursi. Siapa yang membacanya akan memperoleh perlindungan Allah dan tidak akan diganggu setan.", "arabic": "اَللّٰهُ لَآ اِلٰهَ اِلَّا هُوَۚ اَلْحَيُّ الْقَيُّوْمُ ەۚ لَا تَأْخُذُهٗ سِنَةٌ وَّلَا نَوْمٌۗ لَهٗ مَا فِى السَّمٰوٰتِ وَمَا فِى الْاَرْضِۗ مَنْ ذَا الَّذِيْ يَشْفَعُ عِنْدَهٗٓ اِلَّا بِاِذْنِهٖۗ يَعْلَمُ مَا بَيْنَ اَيْدِيْهِمْ وَمَا خَلْفَهُمْۚ وَلَا يُحِيْطُوْنَ بِشَيْءٍ مِّنْ عِلْمِهٖٓ اِلَّا بِمَا شَاۤءَۚ وَسِعَ كُرْسِيُّهُ السَّمٰوٰتِ وَالْاَرْضَۚ وَلَا يَـُٔوْدُهٗ حِفْظُهُمَاۚ وَهُوَ الْعَلِيُّ الْعَظِيْمُ", "ayahId": 262, "provider": "quran-kemenag", "surahName": "Al-Baqarah", "translation": "Allah, tidak ada tuhan selain Dia, Yang Maha Hidup lagi terus-menerus mengurus (makhluk-Nya). Dia tidak dilanda oleh kantuk dan tidak (pula) oleh tidur. Milik-Nyalah apa yang ada di langit dan apa yang ada di bumi. Tidak ada yang dapat memberi syafaat di sisi-Nya tanpa izin-Nya. Dia mengetahui apa yang ada di hadapan mereka dan apa yang ada di belakang mereka. Mereka tidak mengetahui sesuatu apa pun dari ilmu-Nya, kecuali apa yang Dia kehendaki. Kursi-Nya (ilmu dan kekuasaan-Nya) meliputi langit dan bumi. Dia tidak merasa berat memelihara keduanya. Dialah yang Maha Tinggi lagi Maha Agung." } ``` --- ### Tafsir Tahlili Long-form analytical Kemenag tafsir for one ayah. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-tahlili` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | | `ayah` | number | query | yes | Ayah number within the surah, 1-286 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-tahlili?surah=2&ayah=255" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-tahlili?surah=2&ayah=255", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/tafsir-tahlili?surah=2&ayah=255", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ayah": 255, "latin": "Allāhu lā ilāha illā huw(a), al-ḥayyul-qayyūm(u), lā ta'khużuhū sinatuw wa lā naum(un), lahū mā fis-samāwāti wa mā fil-arḍ(i), man żal-lażī yasyfa‘u ‘indahū illā bi'iżnih(ī), ya‘lamu mā baina aidīhim wa mā khalfahum, wa lā yuḥīṭūna bisyai'im min ‘ilmihī illā bimā syā'(a), wasi‘a kursiyyuhus-samāwāti wal-arḍ(a), wa lā ya'ūduhū ḥifẓuhumā, wa huwal-‘aliyyul-‘aẓīm(u). ", "surah": 2, "arabic": "اَللّٰهُ لَآ اِلٰهَ اِلَّا هُوَۚ اَلْحَيُّ الْقَيُّوْمُ ەۚ لَا تَأْخُذُهٗ سِنَةٌ وَّلَا نَوْمٌۗ لَهٗ مَا فِى السَّمٰوٰتِ وَمَا فِى الْاَرْضِۗ مَنْ ذَا الَّذِيْ يَشْفَعُ عِنْدَهٗٓ اِلَّا بِاِذْنِهٖۗ يَعْلَمُ مَا بَيْنَ اَيْدِيْهِمْ وَمَا خَلْفَهُمْۚ وَلَا يُحِيْطُوْنَ بِشَيْءٍ مِّنْ عِلْمِهٖٓ اِلَّا بِمَا شَاۤءَۚ وَسِعَ كُرْسِيُّهُ السَّمٰوٰتِ وَالْاَرْضَۚ وَلَا يَـُٔوْدُهٗ حِفْظُهُمَاۚ وَهُوَ الْعَلِيُّ الْعَظِيْمُ", "ayahId": 262, "tahlili": "Allah adalah Tuhan Yang Maha Esa, tidak ada tuhan selain Dia, dan hanya Dia yang berhak untuk disembah. Adapun tuhan-tuhan yang lain yang disembah oleh sebagian manusia dengan alasan yang tidak benar, memang banyak jumlahnya. Akan tetapi Tuhan yang sebenarnya hanyalah Allah. Hanya Dialah Yang hidup abadi, yang ada dengan sendiri-Nya, dan Dia pulalah yang selalu mengatur makhluk-Nya tanpa ada kelalaian sedikit pun.\nKemudian ditegaskan lagi bahwa Allah tidak pernah mengantuk. Orang yang berada dalam keadaan mengantuk tentu hilang kesadarannya, sehingga dia tidak akan dapat melakukan pekerjaannya dengan baik, padahal Allah swt senantiasa mengurus dan memelihara makhluk-Nya dengan baik, tidak pernah kehilangan kesadaran atau pun lalai.\nKarena Allah tidak pernah mengantuk, sudah tentu Dia tidak pernah tidur, karena mengantuk adalah permulaan dari proses tidur. Orang yang tidur lebih banyak kehilangan kesadaran daripada orang yang mengantuk.\nSifat Allah yang lain yang disebutkan dalam ayat ini ialah bahwa Dialah yang mempunyai kekuasaan dan yang memiliki apa yang ada di langit dan di bumi. Dialah yang mempunyai kekuatan dan kekuasaan yang tak terbatas, sehingga Dia dapat berbuat apa yang dikehendaki-Nya. Semuanya ada dalam kekuasaan-Nya, sehingga tidak ada satu pun dari makhluk-Nya termasuk para nabi dan para malaikat yang dapat memberikan pertolongan kecuali dengan izin-Nya, apalagi patung-patung yang oleh orang-orang kafir dianggap sebagai penolong mereka.\nYang dimaksud dengan “pertolongan” atau “syafaat” dalam ayat ini ialah pertolongan yang diberikan oleh para malaikat, nabi dan orang-orang saleh kepada umat manusia pada hari kiamat untuk mendapatkan keringanan atau kebebasan dari hukuman Allah. Syafaat itu akan terjadi atas izin Allah. Dalam hadis disebutkan :\nقَالَ النَّبِيُّ صَلَّى اللهُ عَلَيْهِ وَسَلَّمَ : ...فَيَقُوْلُ اللهُ عَزَّ وَجَلَّ: شَفَعَتْ اَلْمَلاَئِكَةُ وَشَفَعَ النَّبِيُّوْنَ وَشَفَعَ الْمُؤْمِنُوْنَ (رواه أحمد ومسلم عن ابي سعيد الخدري)\nNabi Saw bersabda, “…Kemudian Allah berfirman, “Para Malaikat memberikan syafaat, para Nabi memberikan syafaat, dan orang-orang mukmin juga memberikan syafaat. (Riwayat Aḥmad dan Muslim dari Abu Sa‘id al-Khudrī)\nSifat Allah yang lain yang disebutkan dalam ayat ini ialah: bahwa Allah senantiasa mengetahui apa saja yang terjadi di hadapan dan di belakang makhluk-Nya, sedang mereka tidak mengetahui sesuatu pun dari ilmu Allah, melainkan sekadar apa yang dikehendaki-Nya untuk mereka ketahui. Kursi Allah mencakup langit dan bumi. Allah tidak merasa berat sedikit pun dalam memelihara makhluk-Nya yang berada di langit dan di bumi, dan di semua alam ciptaan-Nya. Allah Mahatinggi lagi Mahabesar.\nMereka tidak mengetahui ilmu Allah, kecuali apa yang telah dikehendaki-Nya untuk mereka ketahui. Dengan demikian, yang dapat diketahui oleh manusia hanyalah sekadar apa yang dapat dijangkau oleh pengetahuan yang telah dikaruniakan Allah kepada mereka, dan jumlahnya amat sedikit dibanding dengan ilmu-Nya yang luas. Hal ini ditegaskan Allah dalam firman-Nya:\nوَمَآ اُوْتِيْتُمْ مِّنَ الْعِلْمِ اِلَّا قَلِيْلًا \n“… Sedangkan kamu diberi pengetahuan hanya sedikit.” (al-Isrā’/17:85)", "kosakata": "Kosakata: Kursi كُرْسِيٌّ (al-Baqarah/2: 255)\nSecara etimologis, kursi berarti tempat duduk, singgasana atau tahta (ṣād/38: 34). Asal katanya الكرسي artinya tempat berkumpul. Segala sesuatu yang berkumpul disebut kursi. Oleh sebab itu, buku tulis disebut kurrāsah karena tempat berkumpulnya lembaran-lembaran kertas. Kursi dalam ayat ini, oleh sebagian mufasir ditakwil dengan ilmu Allah. Ada pula yang mengartikan kekuasaan-Nya. Menurut Ibnu ‘Abbās dalam riwayat yang sahih, yang dimaksud dengan Kursi adalah tempat dua telapak kaki Allah. Tentu saja dengan pengertian bahwa hal itu tidak sama dengan telapak kaki makhluk-Nya. Ada juga riwayat dari Ibnu ‘Abbās bahwa yang dimaksud dengan Kursi adalah ilmu Allah, tetapi riwayat ini lemah. Dalam ayat ini dijelaskan besar dan luasnya Kursi Allah yang meliputi langit dan bumi. ", "provider": "quran-kemenag", "surahName": "Al-Baqarah", "themeGroup": "AYAT KURSI", "translation": "Allah, tidak ada tuhan selain Dia, Yang Maha Hidup lagi terus-menerus mengurus (makhluk-Nya). Dia tidak dilanda oleh kantuk dan tidak (pula) oleh tidur. Milik-Nyalah apa yang ada di langit dan apa yang ada di bumi. Tidak ada yang dapat memberi syafaat di sisi-Nya tanpa izin-Nya. Dia mengetahui apa yang ada di hadapan mereka dan apa yang ada di belakang mereka. Mereka tidak mengetahui sesuatu apa pun dari ilmu-Nya, kecuali apa yang Dia kehendaki. Kursi-Nya (ilmu dan kekuasaan-Nya) meliputi langit dan bumi. Dia tidak merasa berat memelihara keduanya. Dialah yang Maha Tinggi lagi Maha Agung." } ``` --- ### Sabab Nuzul Occasion of revelation for one ayah, where the source records one. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/sabab-nuzul` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | | `ayah` | number | query | yes | Ayah number within the surah, 1-286 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/sabab-nuzul?surah=2&ayah=255" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/sabab-nuzul?surah=2&ayah=255", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/sabab-nuzul?surah=2&ayah=255", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "ayah": 118, "latin": "Yā ayyuhal-lażīna āmanū lā tattakhiżū biṭānatam min dūnikum lā ya'lūnakum khabālā(n), waddū mā ‘anittum, qad badatil-bagḍā'u min afwāhihim, wa mā tukhfī ṣudūruhum akbar(u), qad bayyannā lakumul-āyāti in kuntum ta‘qilūn(a).", "surah": 3, "arabic": "يٰٓاَيُّهَا الَّذِيْنَ اٰمَنُوْا لَا تَتَّخِذُوْا بِطَانَةً مِّنْ دُوْنِكُمْ لَا يَأْلُوْنَكُمْ خَبَالًاۗ وَدُّوْا مَا عَنِتُّمْۚ قَدْ بَدَتِ الْبَغْضَاۤءُ مِنْ اَفْوَاهِهِمْۖ وَمَا تُخْفِيْ صُدُوْرُهُمْ اَكْبَرُ ۗ قَدْ بَيَّنَّا لَكُمُ الْاٰيٰتِ اِنْ كُنْتُمْ تَعْقِلُوْنَ", "ayahId": 411, "provider": "quran-kemenag", "surahName": "Āli ‘Imrān", "sababNuzul": "Menurut Ibnu Abbas ayat ini diturunkan berhubungan dengan tindakan sebagian kaum Muslimin yang berhubungan erat dengan orang-orang Yahudi Medinah karena bertetangga dan adanya perjanjian damai antara mereka. Bagaimanapun sebab turun ayat ini, namun dapat dipahami bahwa Allah melarang mengambil orang kafir yang telah nyata niat jahatnya terhadap orang mukmin sebagai teman akrab. Mereka adalah orang-orang musyrik, Yahudi, munafik dan lain-lain.", "translation": "Wahai orang-orang yang beriman, janganlah kamu mengambil teman kepercayaan dari orang-orang di luar kalangan (agama)-mu (karena) mereka tidak henti-hentinya (mendatangkan) kemudaratan bagimu. Mereka menginginkan apa yang menyusahkanmu. Sungguh, telah nyata kebencian dari mulut mereka dan apa yang mereka sembunyikan dalam hati lebih besar. Sungguh, Kami telah menerangkan kepadamu ayat-ayat (Kami), jika kamu berpikir.", "hasSababNuzul": true } ``` --- ### Surah Overview Surah introduction, closing, theme group and relation to the previous surah. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-overview` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | yes | Surah number, 1-114 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-overview?surah=2" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-overview?surah=2", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/surah-overview?surah=2", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "name": "Al-Baqarah", "surah": 2, "provider": "quran-kemenag", "ayahCount": 286, "startPage": 2, "conclusion": null, "introSurah": "Surah al-Baqarah yang terdiri dari 286 ayat adalah termasuk golongan surah Madaniyah yang diturunkan pada tahun-tahun permulaan periode Nabi Muhammad saw di Medinah. Ia merupakan surah yang terpanjang dan terbanyak ayat-ayatnya di antara surah yang ada di dalam Al-Qur’an. Surah ini dinamai “al-Baqarah” yang berarti “seekor sapi”, karena di dalamnya disebutkan kisah penyembelihan sapi betina yang diperintahkan Allah kepada Bani Israil. Dalam pelaksanaan penyembelihan sapi betina itu tampak dengan jelas sifat dan watak orang-orang Yahudi pada umumnya.\nDinamakan juga fusṭaṭ al-Qur’ān yang berarti “puncak Al-Qur’an” karena surah ini memuat beberapa hukum yang tidak disebut di surah-surah yang lain. Juga dinamakan Alīf Lām Mīm, karena surah ini dimulai dengan huruf-huruf hijaiyah (abjad) alif lām mīm.\nDi antara pokok-pokok isinya ialah:\n1.\tKeimanan: Dakwah Islamiah yang ditujukan kepada umat Islam, Ahli Kitab dan orang-orang musyrik.\n2.\tHukum: Perintah mengerjakan salat, perintah menunaikan zakat, puasa, haji dan umrah, qiṣaṣ, yang halal dan yang haram, bernafkah di jalan Allah, minum arak dan berjudi, cara bergaul dengan anak yatim, prinsip-prinsip ekonomi, larangan memakan riba, utang piutang, nafkah dan yang berhak menerimanya, wasiat kepada dua orang ibu bapak dan kaum kerabat, hukum sumpah, kewajiban menyampaikan amanat, sihir, hukum merusak masjid, hukum mengubah kitab-kitab Allah, haid, idah, talak, khulu‘, ilā, hukum susuan, meminang, mahar, menikahi wanita musyrik dan sebaliknya, hukum perang, dan lain-lain. \n3.\tKisah: Penciptaan Nabi Adam a.s., kisah Nabi Ibrahim a.s., dan kisah Nabi Musa a.s. dengan Bani Israil.\n4.\tLain-lain, seperti: sifat orang yang bertakwa, sifat-sifat orang munafik, sifat-sifat Allah, perumpamaan-perumpamaan, kiblat, dan kebangkitan sesudah mati.", "nameArabic": "البقرة", "outroSurah": null, "revelation": "Madaniyah", "themeGroup": "GOLONGAN ORANG YANG BERTAKWA", "translation": "Sapi", "transliteration": "Al-Baqarah", "munasabahPrevSurah": "1.\tSurah al-Fātiḥah merupakan pokok-pokok pembahasan yang akan dirinci dalam surah al-Baqarah dan surah-surah sesudahnya.\n2.\tDi bagian akhir surah al-Fātiḥah disebutkan permohonan hamba, agar diberi petunjuk oleh Allah ke jalan yang lurus, sedang surah al-Baqarah dimulai dengan ayat yang menerangkan bahwa Al-Qur’an adalah kitab yang menunjukkan jalan yang dimaksudkan itu.\n3.\tDi akhir surah al-Fātiḥah disebutkan tiga kelompok manusia, yaitu yang diberi nikmat, yang dimurkai Allah dan orang yang sesat, sedangkan di awal surah al-Baqarah juga disebutkan tiga kelompok manusia, yaitu orang yang bertakwa, orang kafir, dan orang munafik." } ``` --- ### Search Ayah Search the whole Qur'an by translation, transliteration or Arabic text, optionally scoped to a surah or juz. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/search` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Search term, at least 2 characters | | `scope` | enum(translation|latin|arabic|all) | query | no | Field to search. Default translation | | `surah` | number | query | no | Restrict to one surah, 1-114 | | `juz` | number | query | no | Restrict to one juz, 1-30 | | `page` | number | query | no | Page number (starts at 1). Default 1 | | `count` | number | query | no | Items per page. Default 20, max 100 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/search?q=rahmat&scope=translation&surah=2&juz=30&page=1&count=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/search?q=rahmat&scope=translation&surah=2&juz=30&page=1&count=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/search?q=rahmat&scope=translation&surah=2&juz=30&page=1&count=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "juz": null, "page": 1, "count": 8, "items": [ { "juz": 1, "ayah": 64, "latin": "Ṡumma tawallaitum mim ba‘di żālika falau lā faḍlullāhi ‘alaikum wa raḥmatuhū lakuntum minal-khāsirīn(a). ", "surah": 2, "arabic": "ثُمَّ تَوَلَّيْتُمْ مِّنْۢ بَعْدِ ذٰلِكَ فَلَوْلَا فَضْلُ اللّٰهِ عَلَيْكُمْ وَرَحْمَتُهٗ لَكُنْتُمْ مِّنَ الْخٰسِرِيْنَ", "ayahId": 71, "surahName": "Al-Baqarah", "mushafPage": 10, "translation": "Setelah itu, kamu berpaling. Maka, seandainya bukan karena karunia Allah dan rahmat-Nya kepadamu, pasti kamu termasuk orang yang rugi." }, { "juz": 1, "ayah": 105, "latin": "Mā yawaddul-lażīna kafarū min ahlil-kitābi wa lal-musyrikīna ay yunazzila ‘alaikum min khairim mir rabbikum, wallāhu yakhtaṣṣu biraḥmatihī may yasyā'(u), wallāhu żul faḍlil-‘aẓīm(i). ", "surah": 2, "arabic": "مَا يَوَدُّ الَّذِيْنَ كَفَرُوْا مِنْ اَهْلِ الْكِتٰبِ وَلَا الْمُشْرِكِيْنَ اَنْ يُّنَزَّلَ عَلَيْكُمْ مِّنْ خَيْرٍ مِّنْ رَّبِّكُمْ ۗ وَاللّٰهُ يَخْتَصُّ بِرَحْمَتِهٖ مَنْ يَّشَاۤءُ ۗ وَاللّٰهُ ذُو الْفَضْلِ الْعَظِيْمِ ", "ayahId": 112, "surahName": "Al-Baqarah", "mushafPage": 16, "translation": "Orang-orang kafir dari golongan Ahlulkitab dan orang-orang musyrik tidak menginginkan diturunkannya kepadamu suatu kebaikan dari Tuhanmu. Akan tetapi, secara khusus Allah memberikan rahmat-Nya kepada orang yang Dia kehendaki. Allah pemilik karunia yang besar." }, { "juz": 2, "ayah": 157, "latin": "Ulā'ika ‘alaihim ṣalawātum mir rabbihim wa raḥmah(tun), wa ulā'ika humul-muhtadūn(a). ", "surah": 2, "arabic": "اُولٰۤىِٕكَ عَلَيْهِمْ صَلَوٰتٌ مِّنْ رَّبِّهِمْ وَرَحْمَةٌ ۗوَاُولٰۤىِٕكَ هُمُ الْمُهْتَدُوْنَ", "ayahId": 164, "surahName": "Al-Baqarah", "mushafPage": 24, "translation": "Mereka itulah yang memperoleh ampunan dan rahmat dari Tuhannya dan mereka itulah orang-orang yang mendapat petunjuk." }, { "juz": 2, "ayah": 178, "latin": "Yā ayyuhal-lażīna āmanū kutiba ‘alaikumul-qiṣāṣu fil-qatlā, al-ḥurru bil-ḥurri wal-‘abdu bil-‘abdi wal-unṡā bil-unṡā, faman ‘ufiya lahū min akhīhi syai'un fattibā‘um bil-ma‘rūfi wa adā'un ilaihi bi iḥsān(in), żālika takhfīfum mir rabbikum wa raḥmah(tun), fa mani‘tadā ba‘da żālika fa lahū ‘ażābun alīm(un). ", "surah": 2, "arabic": "يٰٓاَيُّهَا الَّذِيْنَ اٰمَنُوْا كُتِبَ عَلَيْكُمُ الْقِصَاصُ فِى الْقَتْلٰىۗ اَلْحُرُّ بِالْحُرِّ وَالْعَبْدُ بِالْعَبْدِ وَالْاُنْثٰى بِالْاُنْثٰىۗ فَمَنْ عُفِيَ لَهٗ مِنْ اَخِيْهِ شَيْءٌ فَاتِّبَاعٌ ۢبِالْمَعْرُوْفِ وَاَدَاۤءٌ اِلَيْهِ بِاِحْسَانٍ ۗ ذٰلِكَ تَخْفِيْفٌ مِّنْ رَّبِّكُمْ وَرَحْمَةٌ ۗفَمَنِ اعْتَدٰى بَعْدَ ذٰلِكَ فَلَهٗ عَذَابٌ اَلِيْمٌ ", "ayahId": 185, "surahName": "Al-Baqarah", "mushafPage": 27, "translation": "Wahai orang-orang yang beriman, diwajibkan kepadamu (melaksanakan) kisas berkenaan dengan orang-orang yang dibunuh. Orang merdeka dengan orang merdeka, hamba sahaya dengan hamba sahaya, dan perempuan dengan perempuan. Siapa yang memperoleh maaf dari saudaranya hendaklah mengikutinya dengan cara yang patut dan hendaklah menunaikan kepadanya dengan cara yang baik.48) Yang demikian itu adalah keringanan dan rahmat dari Tuhanmu. Siapa yang melampaui batas setelah itu, maka ia akan mendapat azab yang sangat pedih." }, { "juz": 2, "ayah": 218, "latin": "Innal-lażīna āmanū wal-lażīna hājarū wa jāhadū fī sabīlillāh(i), ulā'ika yarjūna raḥmatallāh(i), wallāhu gafūrur raḥīm(un). ", "surah": 2, "arabic": "اِنَّ الَّذِيْنَ اٰمَنُوْا وَالَّذِيْنَ هَاجَرُوْا وَجَاهَدُوْا فِيْ سَبِيْلِ اللّٰهِ ۙ اُولٰۤىِٕكَ يَرْجُوْنَ رَحْمَتَ اللّٰهِ ۗوَاللّٰهُ غَفُوْرٌ رَّحِيْمٌ ", "ayahId": 225, "surahName": "Al-Baqarah", "mushafPage": 34, "translation": "Sesungguhnya orang-orang yang beriman serta orang-orang yang berhijrah dan berjihad63) di jalan Allah, mereka itu mengharapkan rahmat Allah. Allah Maha Pengampun lagi Maha Penyayang." }, { "juz": 3, "ayah": 286, "latin": "Lā yukallifullāhu nafsan illā wus‘ahā, lahā mā kasabat wa ‘alaihā maktasabat, rabbanā lā tu'ākhiżnā in nasīnā au akhṭa'nā, rabbanā wa lā taḥmil ‘alainā iṣran kamā ḥamaltahū ‘alal-lażīna min qablinā, rabbanā wa lā tuḥammilnā mā lā ṭāqata lanā bih(ī), wa‘fu ‘annā, wagfir lanā, warḥamnā, anta maulānā fanṣurnā ‘alal qaumil-kāfirīn(a). ", "surah": 2, "arabic": "لَا يُكَلِّفُ اللّٰهُ نَفْسًا اِلَّا وُسْعَهَا ۗ لَهَا مَا كَسَبَتْ وَعَلَيْهَا مَا اكْتَسَبَتْ ۗ رَبَّنَا لَا تُؤَاخِذْنَآ اِنْ نَّسِيْنَآ اَوْ اَخْطَأْنَا ۚ رَبَّنَا وَلَا تَحْمِلْ عَلَيْنَآ اِصْرًا كَمَا حَمَلْتَهٗ عَلَى الَّذِيْنَ مِنْ قَبْلِنَا ۚ رَبَّنَا وَلَا تُحَمِّلْنَا مَا لَا طَاقَةَ لَنَا بِهٖۚ وَاعْفُ عَنَّاۗ وَاغْفِرْ لَنَاۗ وَارْحَمْنَا ۗ اَنْتَ مَوْلٰىنَا فَانْصُرْنَا عَلَى الْقَوْمِ الْكٰفِرِيْنَ ࣖ", "ayahId": 293, "surahName": "Al-Baqarah", "mushafPage": 49, "translation": "Allah tidak membebani seseorang, kecuali menurut kesanggupannya. Baginya ada sesuatu (pahala) dari (kebajikan) yang diusahakannya dan terhadapnya ada (pula) sesuatu (siksa) atas (kejahatan) yang diperbuatnya. (Mereka berdoa,) “Wahai Tuhan kami, janganlah Engkau hukum kami jika kami lupa atau kami salah. Wahai Tuhan kami, janganlah Engkau bebani kami dengan beban yang berat sebagaimana Engkau bebankan kepada orang-orang sebelum kami. Wahai Tuhan kami, janganlah Engkau pikulkan kepada kami apa yang tidak sanggup kami memikulnya. Maafkanlah kami, ampunilah kami, dan rahmatilah kami. Engkaulah pelindung kami. Maka, tolonglah kami dalam menghadapi kaum kafir.”" }, { "juz": 3, "ayah": 8, "latin": "Rabbanā lā tuzig qulūbanā ba‘da iż hadaitanā wa hab lanā mil ladunka raḥmah(tan), innaka antal-wahhāb(u). ", "surah": 3, "arabic": "رَبَّنَا لَا تُزِغْ قُلُوْبَنَا بَعْدَ اِذْ هَدَيْتَنَا وَهَبْ لَنَا مِنْ لَّدُنْكَ رَحْمَةً ۚاِنَّكَ اَنْتَ الْوَهَّابُ ", "ayahId": 301, "surahName": "Āli ‘Imrān", "mushafPage": 50, "translation": "(Mereka berdoa,) “Wahai Tuhan kami, janganlah Engkau jadikan hati kami berpaling setelah Engkau berikan petunjuk kepada kami dan anugerahkanlah kepada kami rahmat dari hadirat-Mu. Sesungguhnya Engkau Maha Pemberi." }, { "juz": 3, "ayah": 74, "latin": "Yakhtaṣṣu biraḥmatihī may yasyā'(u), wallāhu żul-faḍlil-‘aẓīm(i). ", "surah": 3, "arabic": "يَخْتَصُّ بِرَحْمَتِهٖ مَنْ يَّشَاۤءُ ۗوَاللّٰهُ ذُو الْفَضْلِ الْعَظِيْمِ", "ayahId": 367, "surahName": "Āli ‘Imrān", "mushafPage": 59, "translation": "Dia menentukan rahmat-Nya kepada siapa yang Dia kehendaki dan Allah memiliki karunia yang besar." } ], "query": "rahmat", "scope": "translation", "surah": null, "total": 146, "hasMore": true, "nextPage": 2, "provider": "quran-kemenag", "returned": 8 } ``` --- ### Random Ayah One random ayah, optionally restricted to a surah or juz. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:quran-kemenag/random-ayah` **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `surah` | number | query | no | Restrict to one surah, 1-114 | | `juz` | number | query | no | Restrict to one juz, 1-30 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:quran-kemenag/random-ayah?surah=2&juz=30" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:quran-kemenag/random-ayah?surah=2&juz=30", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:quran-kemenag/random-ayah?surah=2&juz=30", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "juz": 30, "ayah": 13, "latin": "Fī ṣuḥufim mukarrmah(tin).", "surah": 80, "arabic": "فِيْ صُحُفٍ مُّكَرَّمَةٍۙ", "ayahId": 5771, "poolSize": 564, "provider": "quran-kemenag", "surahName": "‘Abasa", "mushafPage": 585, "translation": "di dalam suhuf yang dimuliakan (di sisi Allah)," } ``` --- ## Jadwal Sholat & Hijriah **Category:** indonesia · **Slug:** `sholat-kemenag` **Detail page:** https://zapi.ink/api/indonesia/sholat-kemenag Indonesian prayer schedules for 517 cities sourced from the Ministry of Religious Affairs dataset, plus Hijri/Gregorian conversion and qibla direction. **Tags:** sholat, jadwal-sholat, hijriah, islam, kemenag, indonesia ### Source Info Dataset provenance and its last update date. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/source-info` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `dummy` | string | query | no | Unused; this endpoint takes no input | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/source-info?dummy=VALUE" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/source-info?dummy=VALUE", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/source-info?dummy=VALUE", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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" } ``` --- ### City List All 517 regencies/cities that have a prayer schedule. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-list` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `keyword` | string | query | no | Filter by city name | | `page` | number | query | no | Page number (starts at 1). Default 1 | | `count` | number | query | no | Items per page. Default 100, max 600 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-list?keyword=bandung&page=1&count=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-list?keyword=bandung&page=1&count=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-list?keyword=bandung&page=1&count=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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 } ``` --- ### City Detail One city by id. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-detail` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `cityId` | string | query | yes | City id from city-list/city-search | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-detail?cityId=eda80a3d5b344bc40f3bc04f65b7a357" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-detail?cityId=eda80a3d5b344bc40f3bc04f65b7a357", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-detail?cityId=eda80a3d5b344bc40f3bc04f65b7a357", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "city": "KOTA KEDIRI", "cityId": "eda80a3d5b344bc40f3bc04f65b7a357", "provider": "sholat-kemenag" } ``` --- ### City Search Find cities by name keyword. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-search` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | City name keyword, at least 2 characters | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-search?q=kediri" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-search?q=kediri", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/city-search?q=kediri", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 3, "items": [ { "city": "KAB. BANDUNG", "cityId": "0777d5c17d4066b82ab86dff8a46af6f" }, { "city": "KAB. BANDUNG BARAT", "cityId": "fa7cdfad1a5aaf8370ebeda47a1ff1c3" }, { "city": "KOTA BANDUNG", "cityId": "fc221309746013ac554571fbd180e1c8" } ], "query": "bandung", "provider": "sholat-kemenag" } ``` --- ### Prayer Times Today Today's prayer schedule for one city, by id or name. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-today` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `cityId` | string | query | no | City id from city-list/city-search. One of cityId or city is required | | `city` | string | query | no | City name to auto-resolve (alternative to cityId) | | `tz` | string | query | no | Timezone used to pick today's date. Default Asia/Jakarta | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-today?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&tz=Asia%2FJakarta" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-today?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&tz=Asia%2FJakarta", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-today?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&tz=Asia%2FJakarta", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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" } ``` --- ### Prayer Times by Date Prayer schedule for one date and city. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-daily` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `cityId` | string | query | no | City id from city-list/city-search. One of cityId or city is required | | `city` | string | query | no | City name to auto-resolve (alternative to cityId) | | `date` | string | query | yes | Date in YYYY-MM-DD | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-daily?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&date=2026-08-29" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-daily?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&date=2026-08-29", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-daily?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&date=2026-08-29", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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" } ``` --- ### Prayer Times by Month Whole-month prayer schedule for one city. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-monthly` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `cityId` | string | query | no | City id from city-list/city-search. One of cityId or city is required | | `city` | string | query | no | City name to auto-resolve (alternative to cityId) | | `year` | number | query | yes | Gregorian year | | `month` | number | query | yes | Gregorian month, 1-12 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-monthly?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&year=2026&month=8" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-monthly?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&year=2026&month=8", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-monthly?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&year=2026&month=8", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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" }, { "date": "2026-08-04", "isya": "18:46", "ashar": "15:02", "dhuha": "06:09", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:41", "maghrib": "17:35", "dateLabel": "Selasa, 04/08/2026" }, { "date": "2026-08-05", "isya": "18:46", "ashar": "15:02", "dhuha": "06:09", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:41", "maghrib": "17:35", "dateLabel": "Rabu, 05/08/2026" }, { "date": "2026-08-06", "isya": "18:46", "ashar": "15:02", "dhuha": "06:09", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:41", "maghrib": "17:35", "dateLabel": "Kamis, 06/08/2026" }, { "date": "2026-08-07", "isya": "18:46", "ashar": "15:02", "dhuha": "06:08", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:40", "maghrib": "17:35", "dateLabel": "Jumat, 07/08/2026" }, { "date": "2026-08-08", "isya": "18:46", "ashar": "15:02", "dhuha": "06:08", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:40", "maghrib": "17:35", "dateLabel": "Sabtu, 08/08/2026" } ], "month": 8, "cityId": "9188905e74c28e489b44e954ec0b9bca", "provider": "sholat-kemenag", "province": "JAWA TIMUR" } ``` --- ### Prayer Times Range Prayer schedule across up to 12 months, paced against the source rate limit. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-range` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `cityId` | string | query | no | City id from city-list/city-search. One of cityId or city is required | | `city` | string | query | no | City name to auto-resolve (alternative to cityId) | | `from` | string | query | yes | First month in YYYY-MM | | `to` | string | query | yes | Last month in YYYY-MM, at most 12 months after `from` | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-range?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&from=2026-08&to=2026-10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-range?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&from=2026-08&to=2026-10", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/jadwal-range?cityId=eda80a3d5b344bc40f3bc04f65b7a357&city=kediri&from=2026-08&to=2026-10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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" }, { "date": "2026-08-04", "isya": "18:46", "ashar": "15:02", "dhuha": "06:09", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:41", "maghrib": "17:35", "dateLabel": "Selasa, 04/08/2026" }, { "date": "2026-08-05", "isya": "18:46", "ashar": "15:02", "dhuha": "06:09", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:41", "maghrib": "17:35", "dateLabel": "Rabu, 05/08/2026" }, { "date": "2026-08-06", "isya": "18:46", "ashar": "15:02", "dhuha": "06:09", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:41", "maghrib": "17:35", "dateLabel": "Kamis, 06/08/2026" }, { "date": "2026-08-07", "isya": "18:46", "ashar": "15:02", "dhuha": "06:08", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:40", "maghrib": "17:35", "dateLabel": "Jumat, 07/08/2026" }, { "date": "2026-08-08", "isya": "18:46", "ashar": "15:02", "dhuha": "06:08", "imsak": "04:16", "subuh": "04:26", "dzuhur": "11:41", "terbit": "05:40", "maghrib": "17:35", "dateLabel": "Sabtu, 08/08/2026" } ], "cityId": "9188905e74c28e489b44e954ec0b9bca", "hasMore": false, "provider": "sholat-kemenag", "province": "JAWA TIMUR", "monthsReturned": 2, "monthsRequested": 2 } ``` --- ### Hijri Date Today Today in both the Gregorian and Hijri calendars. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-today` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `adj` | number | query | no | Whole-day offset applied by the source. Default 0 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-today?adj=0" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-today?adj=0", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-today?adj=0", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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 } ``` --- ### Gregorian to Hijri Convert a Gregorian date to Hijri; the source's method and day adjustment are returned with it. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-convert` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `date` | string | query | yes | Gregorian date in YYYY-MM-DD | | `adj` | number | query | no | Whole-day offset applied by the source. Default 0 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-convert?date=2026-08-29&adj=0" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-convert?date=2026-08-29&adj=0", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-convert?date=2026-08-29&adj=0", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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 } ``` --- ### Hijri to Gregorian Convert a Hijri date to Gregorian. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-to-masehi` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `date` | string | query | yes | Hijri date in YYYY-MM-DD | | `adj` | number | query | no | Whole-day offset applied by the source. Default 0 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-to-masehi?date=1448-03-15&adj=0" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-to-masehi?date=1448-03-15&adj=0", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-to-masehi?date=1448-03-15&adj=0", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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 } ``` --- ### Hijri Calendar (Month) Every day of one Gregorian month with its Hijri equivalent. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-calendar` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `year` | number | query | yes | Gregorian year | | `month` | number | query | yes | Gregorian month, 1-12 | | `adj` | number | query | no | Whole-day offset applied by the source. Default 0 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-calendar?year=2026&month=8&adj=0" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-calendar?year=2026&month=8&adj=0", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/hijriah-calendar?year=2026&month=8&adj=0", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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" }, { "date": "2026-08-04", "dayName": "Selasa", "hijriDay": 21, "hijriDate": "Selasa, 21 Safar 1448 H", "hijriYear": 1448, "hijriMonth": 2, "hijriMonthName": "Safar" }, { "date": "2026-08-05", "dayName": "Rabu", "hijriDay": 22, "hijriDate": "Rabu, 22 Safar 1448 H", "hijriYear": 1448, "hijriMonth": 2, "hijriMonthName": "Safar" }, { "date": "2026-08-06", "dayName": "Kamis", "hijriDay": 23, "hijriDate": "Kamis, 23 Safar 1448 H", "hijriYear": 1448, "hijriMonth": 2, "hijriMonthName": "Safar" }, { "date": "2026-08-07", "dayName": "Jumat", "hijriDay": 24, "hijriDate": "Jumat, 24 Safar 1448 H", "hijriYear": 1448, "hijriMonth": 2, "hijriMonthName": "Safar" }, { "date": "2026-08-08", "dayName": "Sabtu", "hijriDay": 25, "hijriDate": "Sabtu, 25 Safar 1448 H", "hijriYear": 1448, "hijriMonth": 2, "hijriMonthName": "Safar" } ], "month": 8, "total": 31, "method": "standar", "hasMore": false, "provider": "sholat-kemenag", "adjustment": 0 } ``` --- ### Qibla Direction Qibla bearing in degrees from true north for a coordinate. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/qibla` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `lat` | number | query | yes | Latitude, -90 to 90 | | `lng` | number | query | yes | Longitude, -180 to 180 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/qibla?lat=-6.2&lng=106.8" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/qibla?lat=-6.2&lng=106.8", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/qibla?lat=-6.2&lng=106.8", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "latitude": -6.2, "provider": "sholat-kemenag", "direction": 295.1605319853645, "longitude": 106.8 } ``` --- ### Source Usage Stats Monthly request counts reported by the upstream dataset. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/stats` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `year` | number | query | no | Year. Omit for the current year | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/stats?year=2026" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/stats?year=2026", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/stats?year=2026", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "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" } ``` --- ### Source Health Upstream liveness and uptime. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sholat-kemenag/health` - **Cache TTL:** 60s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `dummy` | string | query | no | Unused; this endpoint takes no input | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sholat-kemenag/health?dummy=VALUE" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sholat-kemenag/health?dummy=VALUE", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sholat-kemenag/health?dummy=VALUE", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "provider": "sholat-kemenag", "timezone": "Asia/Jakarta", "startedAt": "2026-05-26T02:00:46.816Z", "serverTime": "2026-08-29T09:26:32.299Z", "uptimeSeconds": 8234745 } ``` --- ## SIPP Mahkamah Agung **Category:** indonesia · **Slug:** `sipp` **Detail page:** https://zapi.ink/api/indonesia/sipp Penelusuran perkara pengadilan Indonesia (SIPP, Mahkamah Agung). Cari perkara per pengadilan berdasarkan nomor/pihak/klasifikasi dan lihat detail perkara. Ketersediaan per-pengadilan bervariasi (sebagian ke-gate captcha/CF). **Tags:** sipp, mahkamah-agung, perkara, pengadilan, hukum, indonesia, court ### Cari Perkara Cari/daftar perkara pada satu pengadilan (kode subdomain) berdasarkan nomor perkara, nama pihak, atau klasifikasi. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sipp/search` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `court` | string | query | yes | Kode pengadilan (subdomain, mis. pn-surabayakota, pn-jakartapusat, pa-bandung) atau host lengkap | | `query` | string | query | no | Kata kunci pencarian (nomor perkara / nama pihak / klasifikasi). Kosong = daftar perkara terbaru | | `page` | number | query | no | Nomor halaman (1-based, 20 item/halaman), default 1, max 50 | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sipp/search?court=pn-surabayakota&query=Pdt.G&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sipp/search?court=pn-surabayakota&query=Pdt.G&page=1", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sipp/search?court=pn-surabayakota&query=Pdt.G&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 20, "court": "sipp.pn-jakartautara.go.id", "items": [ { "status": "Minutasi", "parties": { "pelanggar": [ "Hasan Nurahman" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/a2JJNTdielJFejIrVXZ2YWU1NEQraVR1VDRyWmd6VGpoTDJmeXJCZGp0UzdXN1k4S1liUzEvYVBmMjJHdXZKZjNvMUZqbFJvYzNhTmV5M0U5eEhZelE9PQ==", "caseNumber": "24480/Pid.LL/2026/PN Jkt.Utr", "detailToken": "a2JJNTdielJFejIrVXZ2YWU1NEQraVR1VDRyWmd6VGpoTDJmeXJCZGp0UzdXN1k4S1liUzEvYVBmMjJHdXZKZjNvMUZqbFJvYzNhTmV5M0U5eEhZelE9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" }, { "status": "Minutasi", "parties": { "pelanggar": [ "Hartoni" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/OHh6WFl4NVVZR2o4OElNak9tU052aWhJOXJzeGFLTTNsSzQwRjFldTNNR1dwU2dPNHlZb2lEUGFmRE8wQXdHeFIxbDhWWW9HNTcyOStPMHBPMFlPeHc9PQ==", "caseNumber": "24736/Pid.LL/2026/PN Jkt.Utr", "detailToken": "OHh6WFl4NVVZR2o4OElNak9tU052aWhJOXJzeGFLTTNsSzQwRjFldTNNR1dwU2dPNHlZb2lEUGFmRE8wQXdHeFIxbDhWWW9HNTcyOStPMHBPMFlPeHc9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" }, { "status": "Minutasi", "parties": { "pelanggar": [ "Vernon . S" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/YURpNzdOYk1TNm9UV0hnUVpMdnhuOEhvVHBETlpkR2lPZmN3YUpHNW1LMDFOZG42NW8vbjFNbmw3Q1Nub00zM1Z2cFRodVQxT0VrdVBxQWRlbG1EZ1E9PQ==", "caseNumber": "24992/Pid.LL/2026/PN Jkt.Utr", "detailToken": "YURpNzdOYk1TNm9UV0hnUVpMdnhuOEhvVHBETlpkR2lPZmN3YUpHNW1LMDFOZG42NW8vbjFNbmw3Q1Nub00zM1Z2cFRodVQxT0VrdVBxQWRlbG1EZ1E9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" }, { "status": "Minutasi", "parties": { "pelanggar": [ "Hasan Nurahman" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/bFgydWVxZWw5ZkkwaXRidWZyRGJ6SXg3Rm5uR2pXUEd4b3duaW9GbnZrelFKVFVYT3hBaHg3OXpnUXFHZDRFcGZpdFhQMFUzMXB5MUJoeFpsRU1rV1E9PQ==", "caseNumber": "24481/Pid.LL/2026/PN Jkt.Utr", "detailToken": "bFgydWVxZWw5ZkkwaXRidWZyRGJ6SXg3Rm5uR2pXUEd4b3duaW9GbnZrelFKVFVYT3hBaHg3OXpnUXFHZDRFcGZpdFhQMFUzMXB5MUJoeFpsRU1rV1E9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" }, { "status": "Minutasi", "parties": { "pelanggar": [ "Ang Sin To" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/L1JGYXlBOExVY3pKREFVNzRLN0pUM0Z6c1RIMGxWUUsxRlBaZGJ5RXNtYXZOSVNWaklDSEtEMUhxRW5MWWpSZWxOcjlSdEx4S3ByaFJJUTR2MHVqUUE9PQ==", "caseNumber": "24737/Pid.LL/2026/PN Jkt.Utr", "detailToken": "L1JGYXlBOExVY3pKREFVNzRLN0pUM0Z6c1RIMGxWUUsxRlBaZGJ5RXNtYXZOSVNWaklDSEtEMUhxRW5MWWpSZWxOcjlSdEx4S3ByaFJJUTR2MHVqUUE9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" }, { "status": "Minutasi", "parties": { "pelanggar": [ "Sugianto" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/U2NoV2RWMXlVYzNJcDZ0ZzV0Ry9DakZyZm00SGF2Vm1mTzFFMkVZbVpBYmNPTzg2ellIR2c1dEZxaHMzbHJkYVRWN2JJUlc4RksxU3Jna25tMEt2S1E9PQ==", "caseNumber": "24993/Pid.LL/2026/PN Jkt.Utr", "detailToken": "U2NoV2RWMXlVYzNJcDZ0ZzV0Ry9DakZyZm00SGF2Vm1mTzFFMkVZbVpBYmNPTzg2ellIR2c1dEZxaHMzbHJkYVRWN2JJUlc4RksxU3Jna25tMEt2S1E9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" }, { "status": "Minutasi", "parties": { "pelanggar": [ "Benediktus Billiu" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/b0hvekhzT1ovNFdoN21JNEx1M3hMRWQ2cWNoV25vTjRuS2ExblZmK3ZiTm5NemJGUXZrSmQ4MFhJNjFLV3drdjQxak9SemhxNWk5ci8vcUE0clhwTmc9PQ==", "caseNumber": "24482/Pid.LL/2026/PN Jkt.Utr", "detailToken": "b0hvekhzT1ovNFdoN21JNEx1M3hMRWQ2cWNoV25vTjRuS2ExblZmK3ZiTm5NemJGUXZrSmQ4MFhJNjFLV3drdjQxak9SemhxNWk5ci8vcUE0clhwTmc9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" }, { "status": "Minutasi", "parties": { "pelanggar": [ "Ang Sin To" ] }, "detailUrl": "https://sipp.pn-jakartautara.go.id/show_detil/SzFUeWNrV21kRjVKTzQ0b290SXJ5ZVNZRTBOZitOTWxxTUxWbDFSbVIrdXlrdzNNZ3pvT2J5Z1VJTXY2dC8wajFDMW80WjVhRGdmeWUvbzAxRGhDV3c9PQ==", "caseNumber": "24738/Pid.LL/2026/PN Jkt.Utr", "detailToken": "SzFUeWNrV21kRjVKTzQ0b290SXJ5ZVNZRTBOZitOTWxxTUxWbDFSbVIrdXlrdzNNZ3pvT2J5Z1VJTXY2dC8wajFDMW80WjVhRGdmeWUvbzAxRGhDV3c9PQ==", "registerDate": "12 Jun 2026", "classification": "Perkara Lalu-Lintas", "processDuration": "1 Hari" } ], "query": null, "hasMore": true, "nextPage": 2 } ``` --- ### Detail Perkara Detail satu perkara (klasifikasi, status, jadwal, para pihak) dari detailToken hasil pencarian. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:sipp/detail` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `court` | string | query | yes | Kode pengadilan (subdomain) atau host lengkap | | `token` | string | query | yes | detailToken dari endpoint pencarian perkara (bagian setelah show_detil/) | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:sipp/detail?court=pn-surabayakota&token=YnFZbzVMNmUwYlhPd2FQQmFkWUp0cndSYy9PRXMrQnNPNkJmaG9sUFlic1NoTm55dGx1MGhLd0V1cjcyeHhXcHk4OU5jZ3p2enc3RVBNY05VZC9SbEE9PQ%3D%3D" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:sipp/detail?court=pn-surabayakota&token=YnFZbzVMNmUwYlhPd2FQQmFkWUp0cndSYy9PRXMrQnNPNkJmaG9sUFlic1NoTm55dGx1MGhLd0V1cjcyeHhXcHk4OU5jZ3p2enc3RVBNY05VZC9SbEE9PQ%3D%3D", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:sipp/detail?court=pn-surabayakota&token=YnFZbzVMNmUwYlhPd2FQQmFkWUp0cndSYy9PRXMrQnNPNkJmaG9sUFlic1NoTm55dGx1MGhLd0V1cjcyeHhXcHk4OU5jZ3p2enc3RVBNY05VZC9SbEE9PQ%3D%3D", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "court": "sipp.pn-jakartautara.go.id", "status": "Minutasi", "caseNumber": "24480/Pid.LL/2026/PN Jkt.Utr", "sippVersion": "6.1.9-1", "registerDate": "Jumat, 12 Jun. 2026", "classification": "Perkara Lalu-Lintas", "partiesPublished": "Ya" } ``` --- ## Wilayah Indonesia **Category:** indonesia · **Slug:** `wilayah` **Detail page:** https://zapi.ink/api/indonesia/wilayah Indonesian administrative regions — province, regency, district and village — from official government registries, with BPS and Kemendagri codes. **Tags:** indonesia, wilayah, region, bps, kemendagri, address ### Provinces All 38 Indonesian provinces with their official BPS codes. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:wilayah/provinces` - **Cache TTL:** 86400s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:wilayah/provinces" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:wilayah/provinces", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:wilayah/provinces", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 38, "items": [ { "code": "11", "name": "ACEH" }, { "code": "12", "name": "SUMATERA UTARA" }, { "code": "13", "name": "SUMATERA BARAT" }, { "code": "14", "name": "RIAU" }, { "code": "15", "name": "JAMBI" }, { "code": "16", "name": "SUMATERA SELATAN" }, { "code": "17", "name": "BENGKULU" }, { "code": "18", "name": "LAMPUNG" } ], "provider": "sipedas" } ``` --- ### Regencies & Cities Regencies and cities of one province, typed KABUPATEN or KOTA. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:wilayah/regencies` - **Cache TTL:** 86400s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `provinceCode` | string | query | yes | BPS province code, 2 digits, from the provinces endpoint. BPS and Kemendagri codes differ for the six Papua provinces. | | `year` | number | query | no | Registry year. Data exists for 2014-2026; a region is absent from years before it was formed. | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:wilayah/regencies?provinceCode=32&year=2026" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:wilayah/regencies?provinceCode=32&year=2026", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:wilayah/regencies?provinceCode=32&year=2026", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "year": 2026, "count": 27, "items": [ { "code": "3201", "name": "BOGOR", "type": "KABUPATEN" }, { "code": "3202", "name": "SUKABUMI", "type": "KABUPATEN" }, { "code": "3203", "name": "CIANJUR", "type": "KABUPATEN" }, { "code": "3204", "name": "BANDUNG", "type": "KABUPATEN" }, { "code": "3205", "name": "GARUT", "type": "KABUPATEN" }, { "code": "3206", "name": "TASIKMALAYA", "type": "KABUPATEN" }, { "code": "3207", "name": "CIAMIS", "type": "KABUPATEN" }, { "code": "3208", "name": "KUNINGAN", "type": "KABUPATEN" } ], "provider": "sipedas", "provinceCode": "32" } ``` --- ### Districts Districts (kecamatan) of one regency or city. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:wilayah/districts` - **Cache TTL:** 86400s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `regencyCode` | string | query | yes | BPS regency/city code, 4 digits, from the regencies endpoint | | `year` | number | query | no | Registry year. Data exists for 2014-2026; a region is absent from years before it was formed. | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:wilayah/districts?regencyCode=3204&year=2026" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:wilayah/districts?regencyCode=3204&year=2026", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:wilayah/districts?regencyCode=3204&year=2026", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "year": 2026, "count": 31, "items": [ { "code": "3204010", "name": "CIWIDEY" }, { "code": "3204011", "name": "RANCABALI" }, { "code": "3204020", "name": "PASIRJAMBU" }, { "code": "3204030", "name": "CIMAUNG" }, { "code": "3204040", "name": "PANGALENGAN" }, { "code": "3204050", "name": "KERTASARI" }, { "code": "3204060", "name": "PACET" }, { "code": "3204070", "name": "IBUN" } ], "provider": "sipedas", "regencyCode": "3204" } ``` --- ### Villages Villages (desa/kelurahan) of one district. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:wilayah/villages` - **Cache TTL:** 86400s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `districtCode` | string | query | yes | BPS district code, 7 digits, from the districts endpoint | | `year` | number | query | no | Registry year. Data exists for 2014-2026; a region is absent from years before it was formed. | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:wilayah/villages?districtCode=3204280&year=2026" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:wilayah/villages?districtCode=3204280&year=2026", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:wilayah/villages?districtCode=3204280&year=2026", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "year": 2026, "count": 6, "items": [ { "code": "3204280001", "name": "BOJONGSARI" }, { "code": "3204280002", "name": "BOJONGSOANG" }, { "code": "3204280003", "name": "LENGKONG" }, { "code": "3204280004", "name": "CIPAGALO" }, { "code": "3204280005", "name": "BUAHBATU" }, { "code": "3204280006", "name": "TEGALLUAR" } ], "provider": "sipedas", "districtCode": "3204280" } ``` --- ### Search Search regions by name across all four levels; returns BPS and Kemendagri codes. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:wilayah/search` - **Cache TTL:** 86400s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Region name, at least 2 characters. Matches names only, never codes. SQL wildcards work: % for any run of characters, _ for exactly one. | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:wilayah/search?q=bojong%25soang" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:wilayah/search?q=bojong%25soang", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:wilayah/search?q=bojong%25soang", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 2, "items": [ { "code": "3204280", "name": "BOJONGSOANG", "level": "district", "kodeDagri": "32.04.08", "namaDagri": "BOJONGSOANG" }, { "code": "3204280002", "name": "BOJONGSOANG", "level": "village", "kodeDagri": "32.04.08.2002", "namaDagri": "BOJONGSOANG" } ], "query": "bojong%soang", "provider": "sig-bps", "truncated": false } ``` --- ### Code Bridging BPS code, Kemendagri code and postal code for every region under one parent. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/indonesia:wilayah/bridging` - **Cache TTL:** 86400s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `level` | enum(province|regency|district|village) | query | yes | Level to list. Items carry both the BPS code and the Kemendagri code, which differ for the six Papua provinces. | | `parentCode` | string | query | no | BPS code of the parent — 2 digits for regencies, 4 for districts, 7 for villages. Omit for level=province. | **cURL:** ```bash curl "https://api.zapi.ink/v1/indonesia:wilayah/bridging?level=village&parentCode=3204280" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/indonesia:wilayah/bridging?level=village&parentCode=3204280", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/indonesia:wilayah/bridging?level=village&parentCode=3204280", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 6, "items": [ { "code": "3204280001", "name": "BOJONGSARI", "type": "DESA", "kodePos": "40354", "kodeDagri": "32.04.08.2005", "namaDagri": "BOJONGSARI" }, { "code": "3204280002", "name": "BOJONGSOANG", "type": "DESA", "kodePos": "40354", "kodeDagri": "32.04.08.2002", "namaDagri": "BOJONGSOANG" }, { "code": "3204280003", "name": "LENGKONG", "type": "DESA", "kodePos": "40354", "kodeDagri": "32.04.08.2001", "namaDagri": "LENGKONG" }, { "code": "3204280004", "name": "CIPAGALO", "type": "DESA", "kodePos": "40354", "kodeDagri": "32.04.08.2004", "namaDagri": "CIPAGALO" }, { "code": "3204280005", "name": "BUAHBATU", "type": "DESA", "kodePos": "40354", "kodeDagri": "32.04.08.2003", "namaDagri": "BUAHBATU" }, { "code": "3204280006", "name": "TEGALLUAR", "type": "DESA", "kodePos": "40354", "kodeDagri": "32.04.08.2006", "namaDagri": "TEGALLUAR" } ], "level": "village", "provider": "sig-bps", "parentCode": "3204280" } ``` ---