Bookworm (Goodreads plugin)

A Craft CMS plugin to provide lists of books from your Goodreads shelves

Last updated: September 14, 2014

Pull lists of books directly into your Craft templates.

downloadfolder Download v1.0.2 - 7.39 KB


  • Any shelf name available (not just your read books)
  • User defined limit to books fetched
  • User defined sort order (date_read, date_added, etc)
  • Provides lots of book data (title, author name, cover image, book description, book url, user rating)


In your template add the following line to pull a list from Bookworm. This will try to get the last 10 books from your read shelf, sorted by the date read.

<code>{% set books = craft.bookworm.fetch() %} 

You can also define optional parameters to change the results you get back.

<code>{% set books = craft.bookworm.fetch({'shelf': 'to-read','limit': 200,'sortBy': 'date_read'}) %} 


Used: 'shelf': 'to-read'

This can be any public shelf in your Goodreads profile

Default shelves are:

  • read
  • currently-reading
  • to-read


Used: 'limit': 100

This is the number of books to fetch.

Please note, there seems to be a limit of 200 books that can be retrieved from the Goodreads feeds.


Used: 'sortBy': 'date_read'

Options include:

  • author
  • date_read
  • date_added
  • date_started
  • read_count
  • title
  • rating


Used: 'order': 'asc'

Books that have been retrieved are in descending order by default. You can reverse the order using this parameter.

Please note: Unfortunately Goodreads will not provide the feed in an ascending order. So we can only reorder the results once we have them.

This means for example that if you have more than 200 books in a shelf, sort by title, and order ascending, you may miss books at the beginning of the alphabet.

Example code showing how to use the Bookworm plugin in a Craft CMS template.

downloadfolder Download v1.0.2 - 7.39 KB