A REST API for retrieving Bible texts and commentaries across multiple translations.
Supports various languages including Dutch, English, Afrikaans, and more. Developed for developers, theologians, students, and hobby projects who want to use Biblical texts digitally.
- 🔀 Random verses retrieval
- 🔍 Text search across the entire Bible
- 📚 Structure overview of books, chapters, and verses
- 📖 Specific verses or passages retrieval
- 📅 Daily texts generation (optional with seed)
- 🧠 Smart reference parsing for complex Bible references
- 📝 Commentaries on chapters and verses (e.g. Matthew Henry)
Method | Endpoint | Description |
---|---|---|
GET | / |
Homepage with API information + link to docs |
GET | /api/random |
Random verse |
GET | /api/verse?book=...&chapter=...&verse=... |
Specific verse |
GET | /api/passage?book=...&chapter=...&start=...&end=... |
Multiple verses |
GET | /api/books |
All books |
GET | /api/chapters?book=... |
Chapters in book |
GET | /api/verses?book=...&chapter=... |
Verse numbers in chapter |
GET | /api/search?query=... |
Search in Bible text |
GET | /api/daytext?seed=... |
Daily text, optional seed |
GET | /api/versions |
Available translations |
GET | /api/chapter?book=...&chapter=... |
Entire chapter |
GET | /api/commentary?source=...&book=...&chapter=... |
Get commentary for an entire chapter (e.g. matthew-henry ) |
GET | /api/commentary?source=...&book=...&chapter=...&verse=... |
Get commentary for a specific verse (e.g. matthew-henry ) |
POST | /api/parse/reference |
Parse complex Bible reference |
GET | /api/parse/reference/{ref} |
Parse reference via URL |
POST | /api/parse/references |
Parse multiple references |
👉 All routes are documented via:
/docs
– Swagger UI/redoc
– ReDoc UI
The new parsing endpoints handle complex Bible references that traditional APIs struggle with:
Type | Example | Description |
---|---|---|
Discontinuous ranges | Psalm 104:26-36,37 |
Multiple verse ranges |
Cross-chapter | John 3:16-4:1 |
References spanning chapters |
Chapter-only | Philemon 1-21 |
Entire chapter ranges |
Optional verses | Luke 1:39-45[46-55] |
Main + optional verses |
Verse suffixes | Habakkuk 3:2-19a |
References with letter suffixes |
End references | Jeremiah 18:5-end |
From verse to end of chapter |
# Parse a complex reference
curl "http://localhost:8081/api/parse/reference/Psalm%20104:26-36,37?version=asv"
# Parse via POST with custom version
curl -X POST "http://localhost:8081/api/parse/reference" \
-H "Content-Type: application/json" \
-d '{"reference": "Luke 1:39-45[46-55]", "version": "asv"}'
# Parse multiple references
curl -X POST "http://localhost:8081/api/parse/references" \
-H "Content-Type: application/json" \
-d '{"references": ["Psalm 104:26-36,37", "Jeremiah 18:1-11"], "version": "asv"}'
{
"reference": "Psalm 104:26-36,37",
"parsed": true,
"book": "Psalms",
"chapter": "104",
"verses": [
{"verse": "26", "text": "There the ships go to and fro..."},
{"verse": "27", "text": "All creatures look to you..."},
// ... more verses
],
"formatted_text": "26 There the ships go to and fro... 27 All creatures look to you..."
}
I plan to expand this API further, for example by:
- Adding more Bible translations in various languages.
- Adding additional API endpoints that can be useful.
- Writing better documentation.
This API is licensed under the MIT License.
- GitHub: @AlexLamper
- Mail:
devlamper06@gmail.com
- Scriptura API: https://www.scriptura-api.com
- Scriptura: https://www.scriptura-edu.com
Current Version: v1.0