All Projects → AnalogJ → goodreads.js

AnalogJ / goodreads.js

Licence: MIT license
GoodReads NodeJS API

Programming Languages

javascript
184084 projects - #8 most used programming language

goodreads.js

install

npm i goodreads.js --save

usage

let goodreads = require('goodreads.js')

const auth = new goodreads.provider({ client_key: '*', client_secret: '*' })

auth.CreateClient()
.then(client => {
  client.SearchBooks('crime and punishment').then(response => {
    const { results } = response.GoodreadsResponse.search[0]
    const { work } = results[0]

    for (let { best_book } of work) {
      console.log(best_book)
    }
  })
})

GoodReads NodeJS API

Public/Unauthenticated API's

UserGroups

List groups for a given user

client.UserGroups(user_id)
  .then(function(groups){
    console.log(groups)
  })

AuthorBooks

Paginate an author's books

client.AuthorBooks(author_id)
  .then(function(books){
    console.log(books)
  })

AuthorId

Get info about an author by id

client.AuthorId(author_id)
  .then(function(author_info){
    console.log(author_info)
  })

BookIsbnToId

Get the Goodreads book ID given an ISBN

client.BookIsbnToId(isbn)
  .then(function(book_id){
    console.log(book_id)
  })

BookReviewCounts

Get review statistics given a list of ISBNs

client.BookReviewCounts(comma_seperated_isbns)
  .then(function(review_stats){
    console.log(review_stats)
  })

BookShow

Get shelves and book meta-data (title, author, et cetera) and reviews for a book given a Goodreads book id

client.BookShow(book_id)
  .then(function(book_info){
    console.log(book_info)
  })

ReviewsForBookByIsbn

Get the reviews for a book given an ISBN

client.ReviewsForBookByIsbn(isbn)
  .then(function(book_reviews){
    console.log(book_reviews)
  })

+All the other Goodreads API's. Documentation is out of date check lib/client.js for a full list of supported endpoints.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].