<!-- Please do not edit this file. Edit the `blah` field in the `package.json` instead. If in doubt, open an issue. -->


















# bible-scraper

 [![Support me on Patreon][badge_patreon]][patreon] [![Buy me a book][badge_amazon]][amazon] [![PayPal][badge_paypal_donate]][paypal-donations] [![Ask me anything](https://img.shields.io/badge/ask%20me-anything-1abc9c.svg)](https://github.com/IonicaBizau/ama) [![Version](https://img.shields.io/npm/v/bible-scraper.svg)](https://www.npmjs.com/package/bible-scraper) [![Downloads](https://img.shields.io/npm/dt/bible-scraper.svg)](https://www.npmjs.com/package/bible-scraper) [![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/@johnnyb?utm_source=github&utm_medium=button&utm_term=johnnyb&utm_campaign=github)

<a href="https://www.buymeacoffee.com/H96WwChMy" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png" alt="Buy Me A Coffee"></a>







> Retrieve verses from bible.com/YouVersion.

















## :cloud: Installation

```sh
# Using npm
npm install --save bible-scraper

# Using yarn
yarn add bible-scraper
```













## :clipboard: Example



```js
const BibleScraper = require("bible-scraper");

(async () => {
    // Create a Vulgata Latina instance
    const VulgataLatina = new BibleScraper(BibleScraper.TRANSLATIONS.VULG)
    const verse = await VulgataLatina.verse("1CO.13.4")
    console.log(verse)
    // => { content:
    //      'Caritas patiens est, benigna est. Caritas non æmulatur, non agit perperam, non inflatur',
    //     reference: 'ad Corinthios I 13:4 VULG' }

    // Create a KJV instance
    const kjv = new BibleScraper(BibleScraper.TRANSLATIONS.KJV)
    kjv.verse("1CO.13.4").then(console.log)
    // => { content:
    //     'Charity suffereth long, and is kind; charity envieth not; charity vaunteth not itself, is not puffed up',
    //    reference: '1 Corinthians 13:4 KJV' }

    // Create a NIV instance
    const niv = new BibleScraper(111)
    console.log(await niv.chapter("1CO.13"))
    // => { verses:
    //    [ { content:
    //         'If I speak in the tongues of men or of angels, but do not have love, I am only a resounding gong or a clanging cymbal.',
    //        reference: '1CO.13.1' },
    //      { content:
    //         'If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but do not have love, I am nothing.',
    //        reference: '1CO.13.2' },
    //        ...
    //      { content:
    //         'And now these three remain: faith, hope and love. But the greatest of these is love.',
    //        reference: '1CO.13.13' } ] }
})()
```












## :question: Get Help

There are few ways to get help:



 1. Please [post questions on Stack Overflow](https://stackoverflow.com/questions/ask). You can open issues with questions, as long you add a link to your Stack Overflow question.
 2. For bug reports and feature requests, open issues. :bug:
 3. For direct and quick help, you can [use Codementor](https://www.codementor.io/johnnyb). :rocket:







## :memo: Documentation


### BibleScraper

Retrieves verses from bible.com, provided by YouVersion. Initializes the `BibleScraper` instance.

#### Params

- **Number** `translationId`: - The translation id from bible.com.

### constructor

Constructor for the class.

#### Params

- **type** `translationId`: - the ID of the Bible translation.

### `url(reference)`
Returns the Bible url reference from bible.com.

#### Params

- **String** `reference`: The Bible reference to get the url for.

#### Return
- **String** The reference url.

### `getBibleReference(params, params.book, params.chapter, [params.verseNumStart], [params.verseNumEnd])`
Generates a bible reference based on the provided book, chapter, and verse range.

#### Params

- **Object** `params`: - The parameters object.
- **string** `params.book`: - The name of the book.
- **number** `params.chapter`: - The chapter number.
- **number** `[params.verseNumStart]`: - The starting verse number (optional).
- **number** `[params.verseNumEnd]`: - The ending verse number (optional).

#### Return
- **string** The generated bible reference.

verse
Fetches the verse.

#### Params

- **String** `ref`: The Bible.com verse reference.

#### Return
- **Promise** A promise resolving the verse object.

chapter
Fetches the chapter verses.

#### Params

- **String** `ref`: The Bible.com chapter reference.

#### Return
- **Promise** A promise resolving the chapter object.

### BibleScraper.BOOKS

The available books from bible.com.

### BibleScraper.TRANSLATIONS

The translation ID's from bible.com.














## :yum: How to contribute
Have an idea? Found a bug? See [how to contribute][contributing].


## :sparkling_heart: Support my projects
I open-source almost everything I can, and I try to reply to everyone needing help using these projects. Obviously,
this takes time. You can integrate and use these projects in your applications *for free*! You can even change the source code and redistribute (even resell it).

However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it:


 - Starring and sharing the projects you like :rocket:
 - [![Buy me a book][badge_amazon]][amazon]—I love books! I will remember you after years if you buy me one. :grin: :book:
 - [![PayPal][badge_paypal]][paypal-donations]—You can make one-time donations via PayPal. I'll probably buy a ~~coffee~~ tea. :tea:
 - [![Support me on Patreon][badge_patreon]][patreon]—Set up a recurring monthly donation and you will get interesting news about what I'm doing (things that I don't share with everyone).
 - **Bitcoin**—You can send me bitcoins at this address (or scanning the code below): `1P9BRsmazNQcuyTxEqveUsnf5CERdq35V6`

    ![](https://i.imgur.com/z6OQI95.png)


Thanks! :heart:
















## :dizzy: Where is this library used?
If you are using this library in one of your projects, add it in this list. :sparkles:

 - `bible-query`











## :scroll: License

[MIT][license] © [Ionică Bizău][website]






[license]: /LICENSE
[website]: https://ionicabizau.net
[contributing]: /CONTRIBUTING.md
[docs]: /DOCUMENTATION.md
[badge_patreon]: https://ionicabizau.github.io/badges/patreon.svg
[badge_amazon]: https://ionicabizau.github.io/badges/amazon.svg
[badge_paypal]: https://ionicabizau.github.io/badges/paypal.svg
[badge_paypal_donate]: https://ionicabizau.github.io/badges/paypal_donate.svg
[patreon]: https://www.patreon.com/ionicabizau
[amazon]: http://amzn.eu/hRo9sIZ
[paypal-donations]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RVXDDLKKLQRJW
