Skip to content
Nodejs client for the Google Books API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib isolate request callback from try/catch block Jan 13, 2017


Build Status npm npm

A simple Node.js client for the Google Books API.


npm install --save google-books-search

Basic Usage

.search(query, options, callback)

Search for books matching the specified query.

var books = require('google-books-search');'Professional JavaScript for Web Developers', function(error, results) {
    if ( ! error ) {
    } else {

Returns an array of JSON objects. For example;

        "id": "9KJJYFIss_wC",
        "title": "Professional Javascript For Web Developers 2Nd Ed",
        "subtitle": "...",
            "Nicholas C. Zakas"
        "publisher": "John Wiley & Sons",
        "publishedDate": "2009-02-09",
        "description": "...",
        "industryIdentifiers": [
                "type": "ISSN",
                "identifier": "..."
        "pageCount": 840,
        "printType": "BOOK",
        "averageRating": "4",
        "thumbnail": "",
        "images": {
            "small": "http://...",
            "medium": "http://...",
            "large": "http://...",
            "extraLarge": "http://...",
        "language": "en",
        "link": ""



For a description of each value; see the Google Books API documentaion for volumes.

.lookup(volumeId, options, callback)

Lookup books by Volume ID.

books.lookup('9KJJYFIss_wC', function(error, result) {

The options argument accepts an object with a key field (your API key).

Advanced Searches

The search method optionally accepts an options object as the second argument. See below for an overview of the available options.

var books = require('google-books-search');

var options = {
    key: "YOUR API KEY",
    field: 'title',
    offset: 0,
    limit: 10,
    type: 'books',
    order: 'relevance',
    lang: 'en'
};"Professional JavaScript for Web Developers", options, function(error, results, apiResponse) {
    if ( ! error ) {
    } else {


Option Description
key Your Google API key (Optional)
field Search in a specified field (title, author, publisher, subject or isbn) (Optional)
offset The position in the collection at which to start the list of results (Default: 0)
limit The maximum number of results to return (Max 40) (Defult: 10)
type Restrict results to books or magazines (Default: all)
order Order results by relevance or newest (Default: relevance)
lang Restrict results to a specified language (two-letter ISO-639-1 code) (Default: en)

For more info please see the Google Books API documentation

You can’t perform that action at this time.