API Alkitab Terjemahan Baru: 66 Kitab dan 31.104 Ayat via REST API
Ambil ayat, pasal, dan hasil pencarian Alkitab Terjemahan Baru (TB) dalam format JSON. Lengkap dengan contoh cURL, JavaScript, Python, dan ide aplikasi renungan atau bot WhatsApp.

Membangun aplikasi renungan harian, website gereja, atau bot ayat di WhatsApp biasanya mentok di satu hal: dari mana mengambil teks Alkitab dalam bentuk data yang rapi. Menyalin manual tidak mungkin, dan scraping situs Alkitab mudah rusak saat tampilannya berubah.
API Alkitab dari API Indonesia menyediakan Alkitab Terjemahan Baru (TB), 66 kitab (39 Perjanjian Lama dan 27 Perjanjian Baru) dengan 31.104 ayat lewat REST API berformat JSON. Datanya bersumber dari alkitab.sabda.org.
Endpoint yang tersedia
| Endpoint | Fungsi |
|---|---|
GET /api/v1/alkitab/books |
Daftar 66 kitab beserta singkatan dan jumlah pasal |
GET /api/v1/alkitab/books/{PL|PB} |
Daftar kitab per perjanjian |
GET /api/v1/alkitab/passage/{kitab}/{pasal} |
Satu pasal lengkap, termasuk judul perikop |
GET /api/v1/alkitab/verse/{kitab}/{pasal}/{ayat} |
Satu ayat |
GET /api/v1/alkitab/search?q=... |
Cari kata atau frasa di seluruh 31.104 ayat |
Parameter {kitab} menerima singkatan atau nama kitab, misalnya Kej, Yoh, Mzm, atau Yohanes. Singkatan mengikuti daftar dari endpoint /books (misalnya Filipi = Fli, Roma = Rom), dan kalau singkatannya salah, respons error akan menyarankan singkatan yang benar. Semua request memakai header x-api-key.
Ambil satu ayat
curl "https://use.apiindonesia.id/api/v1/alkitab/verse/Yoh/3/16" \
-H "x-api-key: YOUR_API_KEY"
{
"success": true,
"data": {
"book": { "id": 43, "abbr": "Yoh", "name": "Yohanes" },
"chapter": 3,
"verse_number": 16,
"title": null,
"text": "Karena begitu besar kasih Allah akan dunia ini, sehingga Ia telah mengaruniakan Anak-Nya yang tunggal, supaya setiap orang yang percaya kepada-Nya tidak binasa, melainkan beroleh hidup yang kekal."
}
}
Ambil satu pasal lengkap
Endpoint passage mengembalikan semua ayat dalam satu pasal, termasuk judul perikop di field title (kalau ada).
curl "https://use.apiindonesia.id/api/v1/alkitab/passage/Mzm/23" \
-H "x-api-key: YOUR_API_KEY"
{
"success": true,
"data": {
"book": { "id": 19, "abbr": "Maz", "name": "Mazmur" },
"chapter": 23,
"total_verses": 6,
"verses": [
{ "verse_number": 1, "title": "TUHAN, gembalaku yang baik", "text": "Mazmur Daud. TUHAN adalah gembalaku, takkan kekurangan aku." },
{ "verse_number": 2, "title": null, "text": "Ia membaringkan aku di padang yang berumput hijau, Ia membimbing aku ke air yang tenang;" }
]
}
}
Cari ayat berdasarkan kata
Pencarian berjalan di seluruh Alkitab, minimal 3 karakter, dengan paginasi limit (maksimal 100) dan offset. Kata "kasih", misalnya, muncul di 843 ayat.
curl "https://use.apiindonesia.id/api/v1/alkitab/search?q=kasih&limit=2" \
-H "x-api-key: YOUR_API_KEY"
{
"success": true,
"data": [
{ "verse_number": 8, "title": null, "text": "Tetapi Nuh mendapat kasih karunia di mata TUHAN.", "abbr": "Kej", "name": "Kejadian", "chapter": 6 }
],
"meta": { "total": 843, "page": 1, "per_page": 2, "total_pages": 422 }
}
Contoh: ayat harian di website (JavaScript)
Panggil API dari backend, bukan dari browser, supaya API key tidak terlihat pengunjung.
// server.js (Node.js 18+)
const VERSES = [
['Yoh', 3, 16], ['Mzm', 23, 1], ['Fli', 4, 13], ['Yer', 29, 11], ['Rom', 8, 28],
];
export async function verseOfTheDay() {
const day = Math.floor(Date.now() / 86_400_000);
const [book, chapter, verse] = VERSES[day % VERSES.length];
const res = await fetch(
`https://use.apiindonesia.id/api/v1/alkitab/verse/${book}/${chapter}/${verse}`,
{ headers: { 'x-api-key': process.env.API_INDONESIA_KEY } },
);
const { data } = await res.json();
return `${data.text} (${data.book.name} ${data.chapter}:${data.verse_number})`;
}
Karena teks Alkitab tidak berubah, simpan hasilnya di cache (misalnya 24 jam). Satu ayat harian berarti cukup satu request per hari.
Contoh: Python
import os, requests
r = requests.get(
"https://use.apiindonesia.id/api/v1/alkitab/search",
params={"q": "damai sejahtera", "limit": 5},
headers={"x-api-key": os.environ["API_INDONESIA_KEY"]},
timeout=10,
)
for v in r.json()["data"]:
print(f'{v["name"]} {v["chapter"]}:{v["verse_number"]} - {v["text"]}')
Ide penggunaan
- Aplikasi renungan dan komunitas gereja: ayat harian, bacaan per minggu, atau rencana baca setahun.
- Bot WhatsApp atau Telegram: pengguna mengetik "Yoh 3:16" dan bot membalas ayatnya. Bisa dibuat tanpa coding dengan community node API Indonesia untuk n8n.
- Ed-tech rohani: fitur pencarian ayat untuk materi sekolah minggu atau pemuridan.
- Media Kristen: menyisipkan kutipan ayat otomatis di artikel.
Biaya
Akun baru mendapat bonus 3.000 kredit sekali saat daftar. Tiap request sukses memakai 2 kredit (Rp2), jadi bonusnya cukup untuk sekitar 1.500 request. Request yang gagal tidak dikenakan biaya. Untuk pemakaian rutin ada paket Pro Rp49.000/bulan (50.000 kredit). Detail ada di halaman produk API Alkitab dan dokumentasinya.
Catatan hak cipta
Teks Alkitab Terjemahan Baru diterbitkan oleh Lembaga Alkitab Indonesia (LAI). Untuk publikasi luas atau penggunaan komersial, cantumkan sumber terjemahan dan periksa ketentuan penggunaan dari LAI.
FAQ
Terjemahan apa yang dipakai API Alkitab ini? Alkitab Terjemahan Baru (TB), 66 kitab dan 31.104 ayat, bersumber dari alkitab.sabda.org.
Apakah bisa mencari ayat berdasarkan kata?
Bisa, lewat GET /api/v1/alkitab/search?q=... dengan minimal 3 karakter. Hasilnya menyertakan nama kitab, pasal, dan nomor ayat.
Apakah judul perikop ikut tersedia?
Ya. Endpoint passage dan verse punya field title yang berisi judul perikop pada ayat pertama perikop, dan null untuk ayat lainnya.
Apakah API Alkitab ini gratis? Ada bonus 3.000 kredit sekali saat daftar, setara sekitar 1.500 request. Setelah itu tiap request sukses memakai 2 kredit (Rp2).
Bisakah dipakai untuk bot WhatsApp? Bisa. Panggil API dari backend bot Anda atau dari workflow n8n, lalu kirim teks ayatnya sebagai balasan.
