Search Books with Goodreads API and Google Apps Script – A Complete Guide
If you want to build a book search engine, a reading list tracker, or an author catalog using Google Sheets, integrating the Goodreads API with Google Apps Script can make it all happen effortlessly. With a simple script, you can connect your spreadsheet to the Goodreads database, search for books by title or author, and pull relevant information such as the book title, author, average rating, and more.
This guide provides a detailed, step-by-step tutorial on how to search books with the Goodreads API using Google Apps Script and display results in your Google Spreadsheet.
How the Goodreads API works
How to get a Goodreads API key
How to use Google Apps Script to search books by title or author
How to display search results in Google Sheets
How to customize the API response for your specific use case
Goodreads is one of the most comprehensive book databases in the world. It offers:
Book titles, descriptions, and metadata
Author information
Ratings and reviews
ISBN and publication data
By integrating it with Google Sheets, you can:
Build a custom book recommendation system
Create dynamic reading lists
Track book info for research or projects
Pull metadata for ebooks or course materials
To use the Goodreads API, you need an API key.
Go to the official Goodreads developer page:
https://www.goodreads.com/api
Sign in with your Goodreads account.
Click Request an API Key.
Fill out the short form and submit.
You will get:
Developer key (API key)
Secret key (not used in basic requests)
Save your API key safely; you’ll need it in the script.
Create a new Google Spreadsheet with this structure:
| Search Term | Search Type | Book Title | Author | Rating | Goodreads URL |
|---|---|---|---|---|---|
| Harry Potter | title | ||||
| J.K. Rowling | author |
Column A: Term to search (title or author)
Column B: Specify "title" or "author"
Other columns will be populated by the script
In your Google Sheet, click Extensions > Apps Script.
Delete any default code in Code.gs.
Paste the script below.
Find this line:
Replace 'YOUR_GOODREADS_API_KEY' with your actual Goodreads developer key.
Click the disk icon to save the project.
Click the Run button (▶).
Authorize the script the first time (you’ll need to give permission to access Sheets and external services).
Once approved, it will fetch and populate the data for each row.
You can now see the book title, author, rating, and Goodreads URL auto-filled in your sheet.
Let’s say you entered:
Search Term: “Harry Potter”
Search Type: “title”
The output might look like:
| Harry Potter | title | Harry Potter and the Sorcerer's Stone | J.K. Rowling | 4.47 | Link |
You can now click the link to view the book on Goodreads.
Create a reading list for your book club
Build an author catalog or bibliography
Pull real-time book info for a blog or course
Research popular books by topic or genre
Display top books by a given author
You can customize the script to also fetch:
ISBN
Book Description
Publication Year
Number of Pages
Book Cover Image URL
For that, you'll need to use the Goodreads book.show API after getting the bookId.
Here’s a sample call:
You can parse the returned XML to extract more details.
XML-based (no JSON)
1 request per second limit
Limited access to some fields unless using OAuth
Goodreads API registration is required
Goodreads has been read-only for developers since its acquisition by Amazon, but public data retrieval still works
If Goodreads becomes too restrictive, consider these alternatives:
Google Books API (JSON support)
Open Library API (public domain books)
Amazon Product API (requires approval)
By integrating the Goodreads API with Google Apps Script, you can transform Google Sheets into a powerful book search engine, reading tracker, or research tool. This approach is ideal for librarians, teachers, authors, bloggers, and book lovers who want dynamic book data directly inside a spreadsheet.
With just a few lines of code, you're no longer limited to static lists. You can fetch real-time book info, ratings, and links—instantly searchable and always up-to-date.
So whether you’re organizing your personal bookshelf or building a literary project, this combination of Google Sheets and Goodreads will save time, automate research, and make your book-related workflows smarter.