The API.Bible Developer Hub

Welcome to the API.Bible developer hub. You'll find comprehensive guides and documentation to help you start working with API.Bible as quickly as possible, as well as support if you get stuck. Let's jump right in!

Suggest Edits

Authentication

 

API.Bible allows any developer to include Scripture content and text anywhere in their website or application for non-commercial purposes.

Creating an Account

Before you can access the API you must first create an Account to retrieve your own personalized API key. Head on over to our sign up page to get started.

Once your application has been approved you can find your API key in your Dashboard settings.

If at any point you need further assistance, please visit our support page!

Accessing the API

Authenticate your account when using the API by including your secret API key in each request. You can manage your API keys your account's dashboard. Your API keys carry many privileges, so be sure to keep them private.

The authentication process uses a variation of HTTP Basic Auth. For each request you must place your private key into the api-key header

curl --request GET \
--url https://api.scripture.api.bible/v1/bibles \
--header 'api-key: test_okikJOvBiI2HlWgH4'

The API uses the following response status codes, as defined in the RFC 2616 and RFC 6585.

Code
Reason

200

Success

400

Invalid ID supplied

401

The API key provided is either missing, invalid, or unauthorized for API access.

403

Server understood the request, but provided API key is not authorized to retrieve this information.

404

Resource not found.

Suggest Edits

Rate Limiting

 

The API.Bible allows any developer to include Scripture content and text anywhere in their website or application for non-commercial purposes.

API.Bible is free for non-commercial usage. The API is rate limited to prevent abuse that would degrade our ability to maintain consistent API performance for all users. Each API key or app is allowed to request up to 500 consecutive verses at a time and make 5,000 queries per day.

If you are interested in commercial usage or more access, contact us!

Suggest Edits

Versioning

 

When we make backwards-incompatible changes to the API, we release new versions. The version is indicated in the URI using a path prefix. The current version is v1.

Below is an example URI. Notice the included v1:
https://api.scripture.api.bible/v1/bibles

Suggest Edits

/v1/bibles

Gets an array of Bible objects authorized for current API Key

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

language
string

ISO 639-3 three digit langage code used to filter results

abbreviation
string

Bible abbreviation to search for

name
string

Bible name to search for

ids
string

Comma separated list of Bible Ids to return

Response

Successful response

dataarray

Not authorized to retrieve any Bibles or invalid language_code provided

Unauthorized for API access. Missing or Invalid API Key provided.

Suggest Edits

/v1/bibles/{bibleId}

Gets a single Bible for a given bibleId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible to be fetched

Response

Successful response

dataobject
data.idstring
data.dblIdstring
data.abbreviationstring
data.abbreviationLocalstring
data.copyrightstring
data.languageobject
data.language.idstring
data.language.namestring
data.language.nameLocalstring
data.language.scriptstring
data.language.scriptDirectionstring
data.countriesarray
data.namestring
data.nameLocalstring
data.descriptionstring
data.descriptionLocalstring
data.infostring
data.typestring
data.relatedDblstring
data.audioBiblesarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve this Bible

Bible not found

Suggest Edits

/v1/audio-bibles

Gets an array of audio Bible objects authorized for current API Key

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/audio-bibles
curl --request GET \
  --url https://api.scripture.api.bible/v1/audio-bibles
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/audio-bibles' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/audio-bibles")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/audio-bibles");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/audio-bibles"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

language
string

ISO 639-3 three digit langage code used to filter results

abbreviation
string

Bible abbreviation to search for

name
string

Bible name to search for

ids
string

Comma separated list of Bible Ids to return

bibleId
string

bibleId of related text Bible used to filter audio bible results

Response

Successful response

dataarray

Not authorized to retrieve any Bibles or invalid language_code provided

Unauthorized for API access. Missing or Invalid API Key provided.

Suggest Edits

/v1/audio-bibles/{audioBibleId}

Gets a single audio Bible for a given audioBibleId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/audio-bibles/audioBibleId
curl --request GET \
  --url https://api.scripture.api.bible/v1/audio-bibles/audioBibleId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/audio-bibles/audioBibleId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/audio-bibles/audioBibleId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

audioBibleId
string
required

Id of audio Bible to be fetched

Response

Successful response

dataobject
data.idstring
data.dblIdstring
data.abbreviationstring
data.abbreviationLocalstring
data.copyrightstring
data.languageobject
data.language.idstring
data.language.namestring
data.language.nameLocalstring
data.language.scriptstring
data.language.scriptDirectionstring
data.countriesarray
data.namestring
data.nameLocalstring
data.descriptionstring
data.descriptionLocalstring
data.infostring
data.typestring
data.relatedDblstring

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve this Bible

Bible not found

Suggest Edits

/v1/bibles/{bibleId}/books

Gets an array of Book objects for a given bibleId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/books
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/books
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/books' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/books")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/books");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/books"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Book to fetch

Query Params

include-chapters
boolean

Boolean indicating if an array of chapter summaries should be
included in the results. Defaults to false.

include-chapters-and-sections
boolean

Boolean indicating if an array of chapter summaries and an array
of sections should be included in the results. Defaults to false.

Response

Successful response

dataarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Books for this Bible

Suggest Edits

/v1/bibles/{bibleId}/books/{bookId}

Gets a single Book object for a given bibleId and bookId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/books/bookId
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Book to fetch

bookId
string
required

Id of the Book to fetch

Query Params

include-chapters
boolean

Boolean indicating if an array of chapter summaries should be
included in the results. Defaults to false.

Response

Successful response

dataobject
data.idstring
data.bibleIdstring
data.abbreviationstring
data.namestring
data.nameLongstring
data.chaptersarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Books for this Bible

Book not found

Suggest Edits

/v1/audio-bibles/{audioBibleId}/books

Gets an array of Book objects for a given audioBibleId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books
curl --request GET \
  --url https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

audioBibleId
string
required

Id of audio Bible whose Book to fetch

Query Params

include-chapters
boolean

Boolean indicating if an array of chapter summaries should be
included in the results. Defaults to false.

include-chapters-and-sections
boolean

Boolean indicating if an array of chapter summaries and an array
of sections should be included in the results. Defaults to false.

Response

Successful response

dataarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Books for this Bible

Suggest Edits

/v1/audio-bibles/{audioBibleId}/books/{bookId}

Gets a single Book object for a given audioBibleId and bookId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId
curl --request GET \
  --url https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

audioBibleId
string
required

Id of audio Bible whose Book to fetch

bookId
string
required

Id of the Book to fetch

Query Params

include-chapters
boolean

Boolean indicating if an array of chapter summaries should be
included in the results. Defaults to false.

Response

Successful response

dataobject
data.idstring
data.bibleIdstring
data.abbreviationstring
data.namestring
data.nameLongstring
data.chaptersarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Books for this Bible

Book not found

 
Suggest Edits

/v1/bibles/{bibleId}/books/{bookId}/chapters

Gets an array of Chapter objects for a given bibleId and bookId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/chapters
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/chapters
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/chapters' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/chapters")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/chapters");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/chapters"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Chapters to fetch

bookId
string
required

Id of the Book whose Chapters to fetch

Response

Successful response

dataarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Chapters for this Bible

Book not found

Suggest Edits

/v1/bibles/{bibleId}/chapters/{chapterId}

Gets a single Chapter object for a given bibleId and chapterId.
This Chapter object also includes an content property with all verses for the Chapter.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Chapter to fetch

chapterId
string
required

Id of the Chapter to fetch

Query Params

content-type
string

Content type to be returned in the content property. Supported values are html (default), json (beta), and text (beta)

include-notes
boolean

Include footnotes in content

include-titles
boolean

Include section titles in content

include-chapter-numbers
boolean

Include chapter numbers in content

include-verse-numbers
boolean

Include verse numbers in content.

include-verse-spans
boolean

Include spans that wrap verse numbers and verse text for bible content.

parallels
string

Comma delimited list of bibleIds to include

Response

Successful response

dataobject
data.idstring
data.bibleIdstring
data.numberstring
data.bookIdstring
data.contentstring
data.referencestring
data.nextobject
data.next.idstring
data.next.bookIdstring
data.next.numberstring
data.previousobject
data.previous.idstring
data.previous.bookIdstring
data.previous.numberstring
data.copyrightstring
metaobject
meta.fumsstring
meta.fumsIdstring
meta.fumsJsIncludestring
meta.fumsJsstring
meta.fumsNoScriptstring

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Chapters for this Bible

Chapter not found

Suggest Edits

/v1/audio-bibles/{audioBibleId}/books/{bookId}/chapters

Gets an array of Chapter objects for a given audioBibleId and bookId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId/chapters
curl --request GET \
  --url https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId/chapters
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId/chapters' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId/chapters")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId/chapters");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/books/bookId/chapters"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

audioBibleId
string
required

Id of Bible whose Chapters to fetch

bookId
string
required

Id of the Book whose Chapters to fetch

Response

Successful response

dataarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Chapters for this Bible

Book not found

Suggest Edits

/v1/audio-bibles/{audioBibleId}/chapters/{chapterId}

Gets a single Chapter object for a given audioBibleId and chapterId.
This AudioChapter object also includes an resourceUrl property with a HTTP URL
to the mp3 audio resource for the chapter. The resourceUrl is unique per request
and expires in XX minutes. The expiresAt property provides the Unix time value of
resourceUrl expiration. The checksum property is an MD5 hash of the mp3 audio
resource and should be used to validate the download.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/audio-bibles/audioBibleId/chapters/chapterId
curl --request GET \
  --url https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/chapters/chapterId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/chapters/chapterId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/chapters/chapterId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/chapters/chapterId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/audio-bibles/audioBibleId/chapters/chapterId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

audioBibleId
string
required

Id of Bible whose Chapter to fetch

chapterId
string
required

Id of the Chapter to fetch

Response

Successful response

dataobject
data.idstring
data.bibleIdstring
data.numberstring
data.bookIdstring
data.resourceUrlstring
data.checksumstring
data.expiresAtinteger
data.referencestring
data.nextobject
data.next.idstring
data.next.bookIdstring
data.next.numberstring
data.previousobject
data.previous.idstring
data.previous.bookIdstring
data.previous.numberstring
data.copyrightstring
metaobject
meta.fumsstring
meta.fumsIdstring
meta.fumsJsIncludestring
meta.fumsJsstring
meta.fumsNoScriptstring

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Chapters for this Bible

Chapter not found

 
Suggest Edits

/v1/bibles/{bibleId}/passages/{passageId}

Gets a Passage object for a given bibleId and passageId. This
Passage object also includes an content property with all verses
corresponding to the passageId.
The passageId parameter can represent a chapter, verse, or range of verses.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/passages/passageId
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/passages/passageId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/passages/passageId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/passages/passageId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/passages/passageId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/passages/passageId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible for passage

passageId
string
required

String reference id for the requested passage.

Query Params

content-type
string

Content type to be returned in the content property. Supported values are html (default), json (beta), and text (beta)

include-notes
boolean

Include footnotes in content

include-titles
boolean

Include section titles in content

include-chapter-numbers
boolean

Include chapter numbers in content

include-verse-numbers
boolean

Include verse numbers in content.

include-verse-spans
boolean

Include spans that wrap verse numbers and verse text for bible content.

parallels
string

Comma delimited list of bibleIds to include

use-org-id
boolean

Use the supplied id(s) to match the verseOrgId instead of the verseId

Response

Successful response

dataobject
data.idstring
data.bibleIdstring
data.orgIdstring
data.contentstring
data.referencestring
data.copyrightstring
metaobject
meta.fumsstring
meta.fumsIdstring
meta.fumsJsIncludestring
meta.fumsJsstring
meta.fumsNoScriptstring

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Sections for this Bible

Passage not found

 
Suggest Edits

/v1/bibles/{bibleId}/books/{bookId}/sections

Gets an array of Section objects for a given bibleId and bookId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/sections
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/sections
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/sections' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/sections")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/sections");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/books/bookId/sections"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Sections to fetch

bookId
string
required

Id of the Book whose Sections to fetch

Response

Successful response

dataarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Sections for this Bible

Book not found

Suggest Edits

/v1/bibles/{bibleId}/chapters/{chapterId}/sections

Gets an array of Section objects for a given bibleId and chapterId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/sections
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/sections
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/sections' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/sections")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/sections");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/sections"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Sections to fetch

chapterId
string
required

Id of the Chapter whose Sections to fetch

Response

Successful response

dataarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Sections for this Bible

Book not found

Suggest Edits

/v1/bibles/{bibleId}/sections/{sectionId}

Gets a single Section object for a given bibleId and sectionId. This Section
object also includes an content property with all verses for the Section.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/sections/sectionId
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/sections/sectionId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/sections/sectionId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/sections/sectionId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/sections/sectionId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/sections/sectionId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Section to fetch

sectionId
string
required

Id of the Section to fetch

Query Params

content-type
string

Content type to be returned in the content property. Supported values are html (default), json (beta), and text (beta)

include-notes
boolean

Include footnotes in content

include-titles
boolean

Include section titles in content

include-chapter-numbers
boolean

Include chapter numbers in content

include-verse-numbers
boolean

Include verse numbers in content.

include-verse-spans
boolean

Include spans that wrap verse numbers and verse text for bible content.

parallels
string

Comma delimited list of bibleIds to include

Response

Successful response

dataobject
data.idstring
data.bibleIdstring
data.bookIdstring
data.chapterIdstring
data.titlestring
data.contentstring
data.firstVerseIdstring
data.lastVerseIdstring
data.firstVerseOrgIdstring
data.lastVerseOrgIdstring
data.copyrightstring
data.nextobject
data.next.idstring
data.next.titlestring
data.previousobject
data.previous.idstring
data.previous.titlestring
metaobject
meta.fumsstring
meta.fumsIdstring
meta.fumsJsIncludestring
meta.fumsJsstring
meta.fumsNoScriptstring

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Sections for this Bible

Section not found

Suggest Edits

/v1/bibles/{bibleId}/chapters/{chapterId}/verses

Gets an array of Verse objects for a given bibleId and chapterId

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/verses
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/verses
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/verses' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/verses")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/verses");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/chapters/chapterId/verses"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible whose Verses to fetch

chapterId
string
required

Id of the Chapter whose Verses to fetch

Response

Successful response

dataarray

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Sections for this Bible

Book not found

Suggest Edits

/v1/bibles/{bibleId}/verses/{verseId}

Gets a Verse object for a given bibleId and verseId. This
Verse object also includes an content property with the verse
corresponding to the verseId.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/verses/verseId
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/verses/verseId
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/verses/verseId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/verses/verseId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/verses/verseId");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/verses/verseId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible for passage

verseId
string
required

String reference id for the requested verse.

Query Params

content-type
string

Content type to be returned in the content property. Supported values are html (default), json (beta), and text (beta)

include-notes
boolean

Include footnotes in content

include-titles
boolean

Include section titles in content

include-chapter-numbers
boolean

Include chapter numbers in content

include-verse-numbers
boolean

Include verse numbers in content.

include-verse-spans
boolean

Include spans that wrap verse numbers and verse text for bible content.

parallels
string

Comma delimited list of bibleIds to include

use-org-id
boolean

Use the supplied id(s) to match the verseOrgId instead of the verseId

Response

Successful response

dataobject
data.idstring
data.orgIdstring
data.bibleIdstring
data.bookIdstring
data.chapterIdstring
data.contentstring
data.referencestring
data.copyrightstring
data.nextobject
data.next.idstring
data.next.bookIdstring
data.previousobject
data.previous.idstring
data.previous.bookIdstring
metaobject
meta.fumsstring
meta.fumsIdstring
meta.fumsJsIncludestring
meta.fumsJsstring
meta.fumsNoScriptstring

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Sections for this Bible

Passage not found

Suggest Edits

/v1/bibles/{bibleId}/search

Gets search results for a given bibleId and query string. Searches
will match all verses with the list of keywords provided in the query string.
Order of the keywords does not matter. However all keywords must be
present in a verse for it to be considered a match.
The total number of results returned from a search can be limited by populating the limit
attribute in the query string with a non-negative integer value. If no
limit value is provide a default of 10 is used.
offset can be used to traverse paginated results. So for example if you are using
the default limit of 10, using an offset of 10 will return the second page of results,
namely results 11-20.
The text property of each verse object contains only the verse text. It does not
contain footnote references. However, those can be queried directly using the
/bibles/{bibleId}/verses/{verseId} endpoint.

 

Header Auth

 Authentication is required for this endpoint.
gethttps://api.scripture.api.bible/v1/bibles/bibleId/search
curl --request GET \
  --url https://api.scripture.api.bible/v1/bibles/bibleId/search
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.scripture.api.bible/v1/bibles/bibleId/search' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.scripture.api.bible/v1/bibles/bibleId/search")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.scripture.api.bible/v1/bibles/bibleId/search");

xhr.send(data);
import requests

url = "https://api.scripture.api.bible/v1/bibles/bibleId/search"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

bibleId
string
required

Id of Bible to search

Query Params

query
string

Search keywords or passage reference.

limit
integer

Integer limit for how many matching results to return. Default is 10.

offset
integer

Offset for search results. Used to paginate results

sort
string

Sort order of results. Supported values are relevance (default) and canonical

range
string

One or more, comma seperated, passage ids (book, chapter, verse) which the search will be limited to. (i.e. gen.1,gen.5 or gen-num or gen.1.1-gen.3.5)

fuzziness
string

Sets the fuzziness of a search to account for misspellings. Values can be 0, 1, 2, or AUTO. Defaults to AUTO which varies depending on the

Response

Successful response

querystring
dataobject
data.querystring
data.limitinteger
data.offsetinteger
data.totalinteger
data.versesarray
data.passagesarray
metaobject
meta.fumsstring
meta.fumsIdstring
meta.fumsJsIncludestring
meta.fumsJsstring
meta.fumsNoScriptstring

Invalid ID supplied

Unauthorized for API access. Missing or Invalid API Token provided.

Not authorized to retrieve Sections for this Bible

Section not found