Bible API

Free, public JSON API serving 196 Bible translations across 80+ languages. No API key required. No rate limits.

Public • Free • Open Data

Overview

The Bible API provides programmatic access to 196 Bible versions from the OfflineBible-Data project by Jaden-J. Every endpoint returns clean JSON suitable for web and mobile apps, study tools, or language analysis.

Quick Start

No authentication needed. Just make a GET request:

# Fetch KJV Genesis chapter 1 (by book number)
curl https://apibible.wbem.org/api/bibles/en/kjv/1/1

# Same chapter using book name
curl https://apibible.wbem.org/api/bibles/en/kjv/gen/1

# Fetch whole book of Psalms (by name or number)
curl https://apibible.wbem.org/api/bibles/en/kjv/ps/19
curl https://apibible.wbem.org/api/bibles/en/esv/gen/1/1
  

API Endpoints

GET /health

Health check. Returns { "status": "ok" } if the service is running.

GET /api/manifest

Returns the full manifest of all available languages and Bible versions. Use this to discover what translations are available.

GET /api/bibles/:lang/:code

Fetch an entire Bible version by language code and version code. Example: /api/bibles/en/kjv returns the full KJV.

GET /api/bibles/:lang/:code/:book

Fetch a single book (all chapters). :book accepts a number (1–66) or name (gen, ps, matt, etc.). Example: /api/bibles/en/kjv/gen

GET /api/bibles/:lang/:code/:book/:chapter

Fetch a single chapter's verses. Example: /api/bibles/en/esv/gen/1 or /api/bibles/en/kjv/1/1

Available Languages

The following languages have at least one Bible version available:

Afrikaans (af)Akposso (akp)Arabic (ar) Bacama (bc)Batak Toba (btx)Cabécar (cb) Cantonese (cnh)Chewa (ny)Croatian (hr) Czech (cs)Danish (da)Dutch (nl) English (en)Estonian (et)Finnish (fi) French (fr)German (de)Greek (grc) Haitian (ht)Hausa (ha)Hebrew (he) Hindi (hi)Hmong (hl)Hungarian (hu) Ibibio (ib)Igbo (ig)Ilocano (il) Indonesian (id)Italian (it)Japanese (ja) Jarai (jr)Kekchi (kp)Korean (kr) Kpelle (kp)Latin (la)Latvian (lv) Luganda (lg)Malayalam (ml)Marathi (mr) Māori (mi)Norwegian (nb)Nuer (nus) Nyanja (ny)Oriya (or)Pampanga (pg) Polish (pl)Portuguese (pt)Romanian (ro) Russian (ru)Rwanda (rw)Samoan (sm) Serbian (sr)Shona (sn)Sinhala (si) Slovak (sk)Somali (so)Spanish (es) Swahili (sw)Swedish (sv)Tagalog (tl) Tamil (ta)Telugu (te)Thai (th) Tonga (to)Tshiluba (lua)Tsonga (ts) Tswana (tn)Turkish (tr)Twi (tw) Ukrainian (uk)Urdu (ur)Venda (ve) Vietnamese (vi)Xhosa (xh)Yoruba (yo) Zapotec (zp)Chinese (zh)Zulu (zu)

Get the full list with version codes from /api/manifest.

Example: English Versions

VersionCodeExample URL
King James Versionkjv/api/bibles/en/kjv
New International Version (2011)niv2011/api/bibles/en/niv2011
English Standard Versionesv/api/bibles/en/esv
New Living Translationnlt/api/bibles/en/nlt
New American Standard Biblenasb/api/bibles/en/nasb
American Standard Versionasv/api/bibles/en/asv
World English Bibleweb/api/bibles/en/web
Young's Literal Translationylt/api/bibles/en/ylt

See /api/manifest for all languages and versions.

Data Format

Each version file is a JSON object with two top-level keys:

{
  "books": [
    ["Gen", 50],
    ["Exod", 40]
    // [book_name, chapter_count]
  ],
  "verses": {
    "1": {
      "1": ["In the beginning God created the heaven and the earth."],
      "2": ["And the earth was without form, and void..."]
      // book_number: { chapter_number: [verse1, verse2, ...] }
    }
  }
}

Try It

Use Cases