Bible ===== Bible verse retrieval, search, and navigation across 30+ translations. All Bible endpoints are under ``/api/v1/bible/``. Discovery --------- GET /api/v1/bible/languages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ List available languages. **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/languages .. code-block:: json { "languages": [ {"code": "en", "name": "English", "translations": 12}, {"code": "es", "name": "Spanish", "translations": 4}, {"code": "de", "name": "German", "translations": 3} ] } GET /api/v1/bible/translations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ List all available translations. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``language`` - query - no - Filter by language code (e.g. ``en``) * - ``limit`` - query - no - Maximum results to return * - ``offset`` - query - no - Number of results to skip **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ "https://api.apicrate.io/api/v1/bible/translations?language=en" .. code-block:: json { "count": 12, "results": [ {"id": "kjv", "name": "King James Version", "language": "en", "year": 1611}, {"id": "niv", "name": "New International Version", "language": "en", "year": 1978} ] } GET /api/v1/bible/translations/{id} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get details for a specific translation. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``id`` - path - yes - Translation identifier (e.g. ``kjv``) **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/translations/kjv .. code-block:: json { "id": "kjv", "name": "King James Version", "language": "en", "year": 1611, "books": 66 } Daily / Random -------------- GET /api/v1/bible/daily ^^^^^^^^^^^^^^^^^^^^^^^^ Get the daily verse. Returns the same verse for all users on a given day. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``translation`` - query - no - Translation id (default ``kjv``) **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/daily .. code-block:: json { "reference": "Philippians 4:13", "text": "I can do all things through Christ which strengtheneth me.", "translation": "kjv" } Search ------ GET /api/v1/bible/search ^^^^^^^^^^^^^^^^^^^^^^^^^^ Search across all translations. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``q`` - query - yes - Search query * - ``translation`` - query - no - Limit search to a specific translation * - ``limit`` - query - no - Maximum results to return (default 20) * - ``offset`` - query - no - Number of results to skip **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ "https://api.apicrate.io/api/v1/bible/search?q=faith&translation=kjv&limit=2" .. code-block:: json { "count": 336, "results": [ {"reference": "Hebrews 11:1", "text": "Now faith is the substance of things hoped for...", "translation": "kjv"}, {"reference": "Romans 10:17", "text": "So then faith cometh by hearing...", "translation": "kjv"} ] } GET /api/v1/bible/{translation}/search ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Search within a specific translation. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``translation`` - path - yes - Translation identifier * - ``q`` - query - yes - Search query * - ``limit`` - query - no - Maximum results to return (default 20) * - ``offset`` - query - no - Number of results to skip **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ "https://api.apicrate.io/api/v1/bible/niv/search?q=love&limit=2" .. code-block:: json { "count": 551, "results": [ {"reference": "1 Corinthians 13:4", "text": "Love is patient, love is kind...", "translation": "niv"}, {"reference": "John 3:16", "text": "For God so loved the world...", "translation": "niv"} ] } Navigation ---------- GET /api/v1/bible/{translation}/books ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ List all books in a translation. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``translation`` - path - yes - Translation identifier **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/kjv/books .. code-block:: json { "books": [ {"id": "genesis", "name": "Genesis", "chapters": 50, "testament": "OT"}, {"id": "exodus", "name": "Exodus", "chapters": 40, "testament": "OT"} ] } GET /api/v1/bible/{translation}/books/{book} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get details for a specific book. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``translation`` - path - yes - Translation identifier * - ``book`` - path - yes - Book identifier (e.g. ``genesis``, ``john``) **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/kjv/books/john .. code-block:: json { "id": "john", "name": "John", "chapters": 21, "testament": "NT" } GET /api/v1/bible/{translation}/{book}/chapters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ List all chapters in a book. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``translation`` - path - yes - Translation identifier * - ``book`` - path - yes - Book identifier **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/kjv/john/chapters .. code-block:: json { "book": "john", "chapters": [ {"number": 1, "verses": 51}, {"number": 2, "verses": 25}, {"number": 3, "verses": 36} ] } Content ------- GET /api/v1/bible/{translation}/{book}/{chapter} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get all verses in a chapter. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``translation`` - path - yes - Translation identifier * - ``book`` - path - yes - Book identifier * - ``chapter`` - path - yes - Chapter number **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/kjv/john/3 .. code-block:: json { "reference": "John 3", "translation": "kjv", "verses": [ {"number": 1, "text": "There was a man of the Pharisees, named Nicodemus, a ruler of the Jews:"}, {"number": 2, "text": "The same came to Jesus by night, and said unto him, Rabbi, we know that thou art a teacher come from God..."}, {"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."} ] } GET /api/v1/bible/{translation}/{book}/{chapter}/{verse_ref} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Get a specific verse or verse range. **Parameters** .. list-table:: :header-rows: 1 :widths: 15 10 10 65 * - Name - In - Required - Description * - ``translation`` - path - yes - Translation identifier * - ``book`` - path - yes - Book identifier * - ``chapter`` - path - yes - Chapter number * - ``verse_ref`` - path - yes - Verse number or range (e.g. ``16`` or ``16-18``) **Example** .. code-block:: bash curl -H "X-API-Key: $KEY" \ https://api.apicrate.io/api/v1/bible/kjv/john/3/16 .. code-block:: json { "reference": "John 3:16", "translation": "kjv", "verses": [ {"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."} ] }