Bible API

Education API · Works globally · Multiple Bible translations · KJV, ESV, NIV, NKJV, WEB

TL;DR

Bible-api.com provides free access to Bible verses and chapters in multiple English translations including King James Version (KJV), English Standard Version (ESV), World English Bible (WEB), and Young's Literal Translation (YLT). Simply pass a book and verse reference like "john 3:16" or "genesis 1" and the API returns the text with chapter and verse structure intact. No API key, no rate limits published, and responses come in clean JSON with verse-by-verse breakdown.

Quick start: https://bible-api.com/john+3:16

No API key needed — just make a request!

How to Use This API

1. Single Verse (KJV Default)

https://bible-api.com/john+3:16

2. Verse Range in ESV

https://bible-api.com/psalms+23?translation=esv

3. Multiple Disjoint Verses

https://bible-api.com/proverbs+3:5-6&verse_numbers=true

4. JavaScript — Daily Verse Widget

// Fetch a random chapter
fetch('https://bible-api.com/john+1?translation=kjv')
  .then(r => r.json())
  .then(d => {
    console.log(d.reference);
    d.verses.forEach(v => console.log(v.text));
  });

5. Python — Compare Translations

import requests

verse = 'matthew 5:9'
resp = requests.get(f'https://bible-api.com/{verse}?translation=kjv')
kjv = resp.json()['text'].strip()

resp = requests.get(f'https://bible-api.com/{verse}?translation=web')
web = resp.json()['text'].strip()

print(f'KJV: {kjv}')
print(f'WEB: {web}')
Try it: https://bible-api.com/john+3:16

API Details

API URL
https://bible-api.com
Documentation
bible-api.com
Category
Education
Authentication
Not Required
Geographic Coverage
Global

Frequently Asked Questions

What translations are supported?
King James Version (kjv), English Standard Version (esv), World English Bible (web), Darby Bible (darby), Young's Literal Translation (ylt). Default is KJV.
Can I get an entire chapter at once?
Yes, pass just the book and chapter: /genesis+1 returns all verses in Genesis chapter 1 with verse-by-verse structure.
How do I include verse numbers in the text?
Add &verse_numbers=true to prefix each verse with its number in the text string.
What format does the response use?
JSON format with reference, verses (array of {book, chapter, verse, text}), text (combined text), and translation fields.
Can I search for specific words?
Not directly — this API is reference-based (book/chapter/verse). For keyword search, consider combining with a client-side search across fetched chapters.

What You Can Build