Bible for your church website
Copy this script tag. No API key required. Limited to 60 requests per minute per IP.
<script src="https://justallowgod.com/widget/jag-scripttagger.js" data-translation="KJV"></script>
Bible stays free; this widget does not unlock AI.
Church widget
Paste this on any church or ministry page. No API key required. 60 requests per minute per IP.
<script src="https://justallowgod.com/widget/jag-scripttagger.js" data-translation="KJV"></script>
Bible stays free; this widget does not unlock AI. Full options live on the widget page.
Getting Started
The JustAllowGod Bible API lets you retrieve Bible text programmatically. Follow these three steps:
Make Your First Request
Include your key in the X-API-Key header.
Your first request:
curl -H "X-API-Key: jag_your_api_key_here" \
https://justallowgod.com/api/v1/translations
Authentication
Every API request must include your API key. You can pass it in two ways:
| Method | Example |
|---|---|
| Header (recommended) | X-API-Key: jag_abc123... |
| Query parameter | ?api_key=jag_abc123... |
Tip: Use the header method to keep your key out of URLs, server logs, and browser history.
Rate Limits
Rate limits are applied per API key and reset daily at midnight UTC.
| Tier | Requests / Day | Price |
|---|---|---|
| Free | 100 | Free |
| Basic | 1,000 | Contact us |
| Premium | 10,000 | Contact us |
Rate limit headers are included in every response:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum requests allowed per day |
X-RateLimit-Remaining |
Requests remaining today |
X-RateLimit-Reset |
Unix timestamp when the limit resets |
Endpoints
Base URL: https://justallowgod.com/api/v1
/translations
Returns all available Bible translations.
Example Request
curl -H "X-API-Key: jag_your_key" \
https://justallowgod.com/api/v1/translations
Example Response
{
"data": [
{
"id": 1,
"abbreviation": "KJV",
"name": "King James Version",
"language": "en",
"description": "The 1769 Authorized King James Version",
"copyright_notice": "Public Domain"
}
],
"meta": {
"total": 1
}
}
/{translation}/books
Returns all books for the specified translation.
Parameters
| Name | Type | Description |
|---|---|---|
translation | string | Translation abbreviation (e.g., KJV, ESV) |
Example Request
curl -H "X-API-Key: jag_your_key" \
https://justallowgod.com/api/v1/KJV/books
Example Response
{
"data": [
{
"id": 1,
"name": "Genesis",
"abbreviation": "Gen",
"testament": "OT",
"genre": "Law",
"chapter_count": 50,
"sort_order": 1
}
],
"meta": {
"translation": "KJV",
"total": 66
}
}
/{translation}/books/{book}/chapters
Returns all chapters for a book in the specified translation.
Parameters
| Name | Type | Description |
|---|---|---|
translation | string | Translation abbreviation |
book | integer | Book ID (1 = Genesis, 66 = Revelation) |
Example Request
curl -H "X-API-Key: jag_your_key" \
https://justallowgod.com/api/v1/KJV/books/1/chapters
Example Response
{
"data": [
{
"id": 1,
"book_id": 1,
"chapter_number": 1,
"verse_count": 31
}
],
"meta": {
"translation": "KJV",
"book": "Genesis",
"book_id": 1,
"total": 50
}
}
/{translation}/{book}/{chapter}
Returns all verses for a specific chapter.
Parameters
| Name | Type | Description |
|---|---|---|
translation | string | Translation abbreviation |
book | integer | Book ID |
chapter | integer | Chapter number |
Example Request
curl -H "X-API-Key: jag_your_key" \
https://justallowgod.com/api/v1/KJV/1/1
Example Response
{
"data": [
{
"id": 1,
"book_id": 1,
"chapter_number": 1,
"verse_number": 1,
"text": "In the beginning God created the heaven and the earth."
},
{
"id": 2,
"book_id": 1,
"chapter_number": 1,
"verse_number": 2,
"text": "And the earth was without form, and void..."
}
],
"meta": {
"translation": "KJV",
"book": "Genesis",
"book_id": 1,
"chapter": 1,
"total": 31
}
}
/{translation}/{book}/{chapter}/{verse}
Returns a single verse.
Parameters
| Name | Type | Description |
|---|---|---|
translation | string | Translation abbreviation |
book | integer | Book ID |
chapter | integer | Chapter number |
verse | integer | Verse number |
Example Request
curl -H "X-API-Key: jag_your_key" \
https://justallowgod.com/api/v1/KJV/43/3/16
Example Response
{
"data": {
"id": 26137,
"book_id": 43,
"chapter_number": 3,
"verse_number": 16,
"text": "For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life."
},
"meta": {
"translation": "KJV",
"book": "John",
"book_id": 43,
"chapter": 3,
"verse": 16
}
}
/verses?translation=KJV&book=1&chapter=1&start=1&end=10
Returns a range of verses using query parameters.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
translation | string | Yes | Translation abbreviation |
book | integer | Yes | Book ID |
chapter | integer | Yes | Chapter number |
start | integer | Yes | Start verse number |
end | integer | Yes | End verse number |
Example Request
curl -H "X-API-Key: jag_your_key" \
"https://justallowgod.com/api/v1/verses?translation=KJV&book=1&chapter=1&start=1&end=3"
Example Response
{
"data": [
{
"id": 1,
"book_id": 1,
"chapter_number": 1,
"verse_number": 1,
"text": "In the beginning God created the heaven and the earth."
},
{
"id": 2,
"book_id": 1,
"chapter_number": 1,
"verse_number": 2,
"text": "And the earth was without form, and void..."
},
{
"id": 3,
"book_id": 1,
"chapter_number": 1,
"verse_number": 3,
"text": "And God said, Let there be light: and there was light."
}
],
"meta": {
"translation": "KJV",
"book": "Genesis",
"book_id": 1,
"chapter": 1,
"start_verse": 1,
"end_verse": 3,
"total": 3
}
}
/search?q=love&translation=KJV&limit=20
Search for verses containing specific text.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Search query (min 2, max 200 characters) |
translation | string | No | Filter by translation (default: all) |
book | integer | No | Filter by book ID |
limit | integer | No | Results per page (1-100, default 20) |
Example Request
curl -H "X-API-Key: jag_your_key" \
"https://justallowgod.com/api/v1/search?q=love&translation=KJV&limit=5"
Example Response
{
"data": [
{
"id": 26137,
"translation": "KJV",
"book": "John",
"book_id": 43,
"chapter": 3,
"verse": 16,
"text": "For God so loved the world..."
}
],
"meta": {
"query": "love",
"translation": "KJV",
"book_id": null,
"limit": 5,
"total": 5
}
}
Error Codes
All errors return a consistent JSON structure:
{
"error": {
"code": 401,
"message": "API key is required."
}
}
| Code | Meaning | Description |
|---|---|---|
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | Key deactivated or expired |
| 404 | Not Found | Translation, book, chapter, or verse not found |
| 422 | Validation Error | Invalid request parameters |
| 429 | Rate Limited | Daily request limit exceeded |
Ready to Build?
Get your free API key and start integrating Bible text into your application today. No credit card required.
Get Your API Key