πŸ™ Blessings API

A comprehensive Bible verse API supporting multiple translations

πŸ“‹ Table of Contents

πŸ“– Overview

The Blessings API provides access to Bible verses from multiple translations. You can fetch single verses or multiple verse ranges with flexible formatting options. The API supports both individual verse lookups and batch requests for multiple verse ranges.

πŸ’‘ Key Features
  • Multiple Bible translations support
  • Single verse retrieval
  • Multiple verse range queries
  • Keyword search within translations
  • Multi-translation keyword search
  • Flexible verse reference formatting
  • JSON response format
  • CORS enabled for web applications

🌐 Base URL

http://api.blessings365.top

All API requests should be made to this base URL followed by the specific endpoint paths.

πŸ“š Available Translations

The following Bible translations are currently supported:

NIV
New International Version
ESV
English Standard Version
KJV
King James Version
NASB
New American Standard Bible
NLT
New Living Translation
TLB
The Living Bible
CNVS
Chinese New Version Simplified
CUNPSS-上帝
Chinese Union (God)
CUNPSS-η₯ž
Chinese Union (Shen)
TB
Terjemahan Baru

πŸ”— API Endpoints

Single Verse Endpoint

GET /{translation}/single

Retrieves a single verse from the specified translation.

Parameters:

translation (path parameter) Required
The Bible translation code (e.g., NIV, ESV, KJV)
book (query parameter) Required
The name of the Bible book (e.g., Genesis, Matthew, Psalms)
chapter (query parameter) Required
The chapter number (integer)
verse (query parameter) Required
The verse number (integer)
πŸ“ Example Request:
GET /NIV/single?book=Genesis&chapter=1&verse=1
βœ… Example Response:
{ "book": "Genesis", "chapter": 1, "verse": 1, "content": "In the beginning God created the heavens and the earth." }

Multiple Verses Endpoint

GET /{translation}/multiple

Retrieves multiple verses or verse ranges from the specified translation.

Parameters:

translation (path parameter) Required
The Bible translation code (e.g., NIV, ESV, KJV)
verses (query parameter) Required
Comma-separated list of verse references

Verse Reference Formats:

  • Single verse: "Genesis 1:1"
  • Verse range: "Genesis 1:1-3"
  • Chapter range: "Genesis 1:1-2:3"
  • Entire chapter: "Genesis 1"
  • Multiple chapters: "Genesis 1-3"
πŸ“ Example Request:
GET /NIV/multiple?verses=Genesis 1:1-3,Matthew 1:1-25,Psalms 1:1-6
βœ… Example Response:
[ { "book": "Genesis", "chapter": 1, "verse": 1, "content": "In the beginning God created the heavens and the earth." }, { "book": "Genesis", "chapter": 1, "verse": 2, "content": "Now the earth was formless and empty..." }, ... ]

πŸ’‘ Examples

JavaScript/Fetch Example

// Fetch a single verse fetch('http://api.blessings365.top/NIV/single?book=John&chapter=3&verse=16') .then(response => response.json()) .then(data => console.log(data)); // Fetch multiple verses fetch('http://api.blessings365.top/ESV/multiple?verses=Psalms 23:1-6,John 14:6') .then(response => response.json()) .then(data => console.log(data)); // Search for keywords in a single translation fetch('http://api.blessings365.top/NIV/search?keyword=love&limit=10') .then(response => response.json()).then(data => console.log(data)); // Search in specific book fetch('http://api.blessings365.top/NIV/search?keyword=faith&book=Hebrews&limit=5') .then(response => response.json()).then(data => console.log(data)); // Search in Old Testament only fetch('http://api.blessings365.top/ESV/search?keyword=covenant&testament=old&limit=20') .then(response => response.json()).then(data => console.log(data)); // Search across multiple translations with filters fetch('http://api.blessings365.top/search?keyword=grace&translations=NIV,ESV,KJV&testament=new&limit=5') .then(response => response.json()).then(data => console.log(data));

cURL Example

# Single verse curl "http://api.blessings365.top/KJV/single?book=Romans&chapter=8&verse=28" # Multiple verses curl "http://api.blessings365.top/NASB/multiple?verses=1 Corinthians 13:4-8,Ephesians 2:8-9" # Search in single translation curl "http://api.blessings365.top/NIV/search?keyword=love&limit=10" # Search in specific book curl "http://api.blessings365.top/NIV/search?keyword=faith&book=Hebrews&limit=5" # Search in Old Testament only curl "http://api.blessings365.top/ESV/search?keyword=covenant&testament=old&limit=20" # Search across multiple translations with filters curl "http://api.blessings365.top/search?keyword=grace&translations=NIV,ESV,KJV&testament=new&limit=5"

Python Example

import requests # Single verse response = requests.get('http://api.blessings365.top/NLT/single', params={'book': 'Philippians', 'chapter': 4, 'verse': 13}) verse = response.json() print(f"{verse['book']} {verse['chapter']}:{verse['verse']} - {verse['content']}") # Multiple verses response = requests.get('http://api.blessings365.top/ESV/multiple', params={'verses': 'Isaiah 40:31,Jeremiah 29:11'}) verses = response.json() for verse in verses: print(f"{verse['book']} {verse['chapter']}:{verse['verse']} - {verse['content']}") # Search in single translation response = requests.get('http://api.blessings365.top/NIV/search', params={'keyword': 'love', 'limit': 10}) search_results = response.json() print(f"Found {search_results['total_results']} verses containing '{search_results['keyword']}'") for result in search_results['results']: print(f"{result['book']} {result['chapter']}:{result['verse']} - {result['content']}") # Search in specific book response = requests.get('http://api.blessings365.top/NIV/search', params={'keyword': 'faith', 'book': 'Hebrews', 'limit': 5}) book_search = response.json() print(f"\nFound {book_search['total_results']} verses in {book_search['book_filter']}") # Search in Old Testament only response = requests.get('http://api.blessings365.top/ESV/search', params={'keyword': 'covenant', 'testament': 'old', 'limit': 20}) ot_search = response.json() print(f"\nOld Testament search for '{ot_search['keyword']}': {ot_search['total_results']} results") # Search across multiple translations with filters response = requests.get('http://api.blessings365.top/search', params={'keyword': 'grace', 'translations': 'NIV,ESV,KJV', 'testament': 'new', 'limit': 5}) multi_search = response.json() for translation_result in multi_search['results_by_translation']: print(f"\n{translation_result['translation']} Translation:") for result in translation_result['results']: print(f"{result['book']} {result['chapter']}:{result['verse']} - {result['content']}")

⚠️ Error Handling

404 - Verse Not Found

Error Response:
{ "error": "Verse not found: Genesis 1:999" }

500 - Server Error

Error Response:
{ "error": "Error fetching the verse." }

400 - Missing Required Parameters

Search Error Response:
{ "error": "Keyword parameter is required" }

Invalid Translation

If you specify a translation that doesn't exist, the server will return a 500 error. Make sure to use one of the supported translations listed above.

Invalid Verse Format

For the multiple verses endpoint, ensure your verse references follow the supported formats. Invalid formats will result in a 500 error.

πŸš€ Getting Started

Local Development

  1. Clone the repository
  2. Install dependencies: npm install
  3. Start the server: npm start
  4. The API will be available at http://api.blessings365.top

Testing the API

You can test the API using any HTTP client. Here are some quick test URLs:

πŸ“‹ Note

Make sure the server is running on http://api.blessings365.top before testing these URLs.