Permalink
Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
115 lines (88 sloc) 3.55 KB

node-google-books-search

Build Status npm npm

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

Install

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');

books.search('Professional JavaScript for Web Developers', function(error, results) {
    if ( ! error ) {
        console.log(results);
    } else {
        console.log(error);
    }
});

Returns an array of JSON objects. For example;

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

    ...

]

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'
};

books.search("Professional JavaScript for Web Developers", options, function(error, results, apiResponse) {
    if ( ! error ) {
        console.log(results);
    } else {
        console.log(error);
    }
});

Options

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