Free Use Bible API
Guide
Reference
SDKs
GitHub
Donate
  • English
  • Afrikaans
  • አማርኛ
  • العربية
  • বাংলা
  • Deutsch
  • Español
  • Français
  • Hausa
  • हिन्दी
  • Bahasa Indonesia
  • Italiano
  • 日本語
  • Português
  • Русский
  • Kiswahili
  • اردو
  • 简体中文
  • isiZulu
Guide
Reference
SDKs
GitHub
Donate
  • English
  • Afrikaans
  • አማርኛ
  • العربية
  • বাংলা
  • Deutsch
  • Español
  • Français
  • Hausa
  • हिन्दी
  • Bahasa Indonesia
  • Italiano
  • 日本語
  • Português
  • Русский
  • Kiswahili
  • اردو
  • 简体中文
  • isiZulu
  • Guide

    • Introduction
    • Getting Started
    • Making Requests
    • Downloads
    • A Biblical Model for Licensing The Bible

Making Requests

To access the API, all you need to do is make an HTTP GET Request to the right endpoint.

For example, to access the available_translations.json endpoint, you can use the following JavaScript or cURL command:

JavaScript
fetch(`https://bible.helloao.org/api/available_translations.json`)
    .then(request => request.json())
    .then(availableTranslations => {
        console.log('The API has the following translations:', availableTranslations);
    });
cURL
curl https://bible.helloao.org/api/available_translations.json

Below, you can find a list of examples. For more complete documentation, see the Reference Documentation.

Examples

Get the List of Available Translations

(reference)

GET https://bible.helloao.org/api/available_translations.json

JavaScript
fetch(`https://bible.helloao.org/api/available_translations.json`)
    .then(request => request.json())
    .then(availableTranslations => {
        console.log('The API has the following translations:', availableTranslations);
    });
cURL
curl https://bible.helloao.org/api/available_translations.json

List Books in a Translation

(reference)

GET https://bible.helloao.org/api/{translation}/books.json

JavaScript
// Get the list of books for the BSB translation
fetch(`https://bible.helloao.org/api/BSB/books.json`)
    .then(request => request.json())
    .then(books => {
        console.log('The BSB has the following books:', books);
    });
cURL
curl https://bible.helloao.org/api/BSB/books.json

Get a Chapter from a Translation

(reference)

GET https://bible.helloao.org/api/{translation}/{book}/{chapter}.json

JavaScript
// Get Genesis 1 from the BSB translation
fetch(`https://bible.helloao.org/api/BSB/GEN/1.json`)
    .then(request => request.json())
    .then(chapter => {
        console.log('Genesis 1 (BSB):', chapter);
    });
cURL
curl https://bible.helloao.org/api/BSB/GEN/1.json

Get a Simplified Chapter from a Translation

(reference)

GET https://bible.helloao.org/api/{translation}/{book}/{chapter}.simple.json

Use this when you just want the text of a chapter. Each verse contains a single text string instead of a list of formatted content, so you don't have to build the text yourself.

JavaScript
// Get the text of Genesis 1 from the BSB translation
fetch(`https://bible.helloao.org/api/BSB/GEN/1.simple.json`)
    .then(request => request.json())
    .then(chapter => {
        for (let content of chapter.chapter.content) {
            if (content.type === 'verse') {
                console.log(`${content.number}. ${content.text}`);
            }
        }
    });
cURL
curl https://bible.helloao.org/api/BSB/GEN/1.simple.json

Get the List of Available Commentaries

(reference)

JavaScript
fetch-commentaries.js
fetch(`https://bible.helloao.org/api/available_commentaries.json`)
    .then(request => request.json())
    .then(availableCommentaries => {
        console.log('The API has the following commentaries:', availableCommentaries);
    });
cURL
curl https://bible.helloao.org/api/available_commentaries.json

List Books in a Commentary

(reference)

JavaScript
fetch-commentary-books.js
const commentary = 'adam-clarke';

// Get the list of books for the adam-clarke commentary
fetch(`https://bible.helloao.org/api/c/${commentary}/books.json`)
    .then(request => request.json())
    .then(books => {
        console.log('The adam-clarke commentary has the following books:', books);
    });
cURL
curl https://bible.helloao.org/api/c/adam-clarke/books.json

Get a Chapter from a Commentary

(reference)

JavaScript
fetch-commentary-chapter.js
const commentary = 'adam-clarke';
const book = 'GEN';
const chapter = 1;

// Get Genesis 1 from the adam-clarke commentary
fetch(`https://bible.helloao.org/api/c/${commentary}/${book}/${chapter}.json`)
    .then(request => request.json())
    .then(chapter => {
        console.log('Genesis 1 (adam-clarke):', chapter);
    });
cURL
curl https://bible.helloao.org/api/c/adam-clarke/GEN/1.json

List Profiles in a Commentary

(reference)

JavaScript
fetch-commentary-profiles.js
const commentary = 'tyndale';

// Get the list of profiles for the tyndale commentary
fetch(`https://bible.helloao.org/api/c/${commentary}/profiles.json`)
    .then(request => request.json())
    .then(profiles => {
        console.log('The tyndale commentary has the following profiles:', profiles);
    });
cURL
curl https://bible.helloao.org/api/c/tyndale/profiles.json

Get a Profile in a Commentary

(reference)

JavaScript
fetch-commentary-profile.js
const commentary = 'tyndale';
const profile = 'aaron';

// Get the aaron profile from the tyndale commentary
fetch(`https://bible.helloao.org/api/c/${commentary}/profiles/${profile}.json`)
    .then(request => request.json())
    .then(profile => {
        console.log('The Aaron tyndale commentary profile:', profile);
    });
cURL
curl https://bible.helloao.org/api/c/tyndale/profiles/aaron.json

Get the list of Available Datasets

(reference)

JavaScript
fetch-datasets.js
fetch(`https://bible.helloao.org/api/available_datasets.json`)
    .then(request => request.json())
    .then(availableDatasets => {
        console.log('The API has the following datasets:', availableDatasets);
    });
cURL
curl https://bible.helloao.org/api/available_datasets.json

Get the list of books in a dataset

(reference)

JavaScript
fetch-dataset-books.js
const dataset = 'open-cross-ref';

// Get the list of books for the open-cross-ref dataset
fetch(`https://bible.helloao.org/api/d/${dataset}/books.json`)
    .then(request => request.json())
    .then(books => {
        console.log('The open-cross-ref dataset has the following books:', books);
    });
cURL
curl https://bible.helloao.org/api/d/open-cross-ref/books.json

Get a Chapter from a Dataset

(reference)

JavaScript
fetch-dataset-chapter.js
const dataset = 'open-cross-ref';
const book = 'GEN';
const chapter = 1;

// Get Genesis 1 from the open-cross-ref dataset
fetch(`https://bible.helloao.org/api/d/${dataset}/${book}/${chapter}.json`)
    .then(request => request.json())
    .then(chapter => {
        console.log('Genesis 1 (open-cross-ref):', chapter);
    });
cURL
curl https://bible.helloao.org/api/d/open-cross-ref/GEN/1.json

Get the Original-Language Words of a Chapter

(reference)

JavaScript
fetch-interlinear-chapter.js
const dataset = 'bsb-interlinear';
const book = 'GEN';
const chapter = 1;

// Get the Hebrew words of Genesis 1 from the bsb-interlinear dataset
fetch(`https://bible.helloao.org/api/d/${dataset}/${book}/${chapter}.json`)
    .then(request => request.json())
    .then(chapter => {
        console.log('Genesis 1 (bsb-interlinear):', chapter);
    });
cURL
curl https://bible.helloao.org/api/d/bsb-interlinear/GEN/1.json

Get a Lexicon Entry

(reference)

JavaScript
fetch-lexicon-entry.js
const dataset = 'stepbible-lexicon';
const strongs = 'H0430';

// Get the lexicon entry for Strong's H0430 from the stepbible-lexicon dataset
fetch(`https://bible.helloao.org/api/d/${dataset}/lexicon/${strongs}.json`)
    .then(request => request.json())
    .then(lexiconEntry => {
        console.log('H0430 (stepbible-lexicon):', lexiconEntry);
    });
cURL
curl https://bible.helloao.org/api/d/stepbible-lexicon/lexicon/H0430.json
Prev
Getting Started
Next
Downloads