bday

Grab the birthday of anybody of interest, celebrities, famous scientists, artists, etc.

Usage no npm install needed!

<script type="module">
  import bday from 'https://cdn.skypack.dev/bday';
</script>

README

bday

With Google and Bing, finding people's birthday is easy as long as they're an individual of great interest, scientists, artists, authors, etc. are easy to find information about. This library scrapes those pages in order to find their birthday for you.

Usage

const bday = require('bday');

bday("willy shakespeare").then(info => {
    console.log(`${info.name} was born on ${info.birthday}`);
    const long_ago = Math.floor((new Date() - info.date) / 1000 / 60 / 60 / 24);
    console.log(`That was about ${long_ago.toLocaleString()} days ago!`);
    
    /* OUTPUT:
        William Shakespeare's birthday is on April 26, 1564
        That was 166,188 days ago!
    */
});
Search Engine Selection

You have the option of scraping Bing, or Google. If you use Bing as your primary search engine you should use Google, and vice versa. This is to prevent rate limitations.

bday("John Cena", "bing").then(info => {
    console.log(info);
}).catch(err => console.log(err));

/*  OUTPUT:
    { name: 'John Cena',
    birthday: 'April 23, 1977',
    date: 1977-04-23T00:00:00.000Z } */
bday("John Cena", "google").then(info => {
    console.log(info);
}).catch(err => console.log(err));

/*  OUTPUT:
    { name: 'John Cena',
    birthday: 'April 23, 1977',
    date: 1977-04-23T00:00:00.000Z } */

If you do not provide a search engine, the script will automatically scrape Google.

bday("John Cena").then(info => {
    console.log(info);
}).catch(err => console.log(err));

/*  OUTPUT:
    { name: 'John Cena',
    birthday: 'April 23, 1977',
    date: 1977-04-23T00:00:00.000Z } */

The script will automatically autocorrect just as Google, or Bing would.

bday("John Cna").then(info => {
    console.log(info);
}).catch(err => console.log(err));

/*  OUTPUT:
    { name: 'John Cena',
    birthday: 'April 23, 1977',
    date: 1977-04-23T00:00:00.000Z } */

The script will reject the promise if the name provided is invalid, make sure to CATCH YOUR FUNCTIONS!

bday("Billy Bob Joe").then(info => {
    console.log(info);
}).catch(err => console.log(err));

/*  OUTPUT:
    There was an issue getting that person's birthday. */

While providing no search engine will default to Google, providing an invalid search engine will throw an error.

bday("Billy Bob Joe", "booble").then(info => {
    console.log(info);
}).catch(err => console.log(err)); 

/*  OUTPUT:
    Invalid Search Engine */