Goodreads API list with corresponding PHP functions
Last updated on
30 April 2025
You are browsing documentation for an older version of Drupal, which is not supported any longer, and the information may not be correct. See current documentation for Contributed modules
This list of Goodreads APIs is in the same order as the list on the Goodreads API page. Below each Goodreads API name, which is a link to the corresponding documentation on the Goodreads site, is the PHP function that implements that API call.
- auth.user-OAuth — Get id of user who authorized OAuth.
goodreads_oauth_get_user_id() - author.books — Paginate an author's books.
goodreads_get_author_book_list($author_id, $page = NULL, $max_pages = 5) - author.show — Get info about an author by id.
goodreads_get_author_info($author_id) - book.isbn_to_id — Get the Goodreads book ID given an ISBN.
goodreads_isbn2id($isbn) - book.review_counts — Get review statistics given a list of ISBNs.
goodreads_get_isbn_review_statistics($isbn) - book.show — Get the reviews for a book given a Goodreads book id.
goodreads_get_gid_reviews($gid, $rating = NULL, $text_only = NULL) - book.show_by_isbn — Get the reviews for a book given an ISBN.
goodreads_get_isbn_reviews($isbn, $rating = NULL, $text_only = NULL) - book.title — Get the reviews for a book given a title string.
goodreads_get_reviews_title($title, $author = NULL, $rating = NULL, $text_only = NULL) - comment.create-OAuth — Create a comment.
goodreads_oauth_create_comment($resource_id = NULL, $type = NULL, $comment = NULL) - comment.list — List comments on a subject.
goodreads_get_comments($id = NULL, $type = NULL, $page = NULL, $max_pages = 5) - events.list — Events in your area.
goodreads_get_events($lat = NULL, $lng = NULL) - followers.create-OAuth — Follow a user.
goodreads_oauth_follow_user($user_id, $my_user_id = NULL) - friends.create-OAuth — Add a friend.
goodreads_oauth_add_friend($user_id) - group.list — List groups for a given user.
goodreads_get_user_groups($user_id) - group.members — Return members of a particular group.
goodreads_get_group_members($group_id, $page = NULL, $sort = NULL, $q = NULL, $max_pages = 5) - group.show — Get info about a group by id.
goodreads_get_group_by_id($group_id) - list.book-Extra Permissions — Get the listopia lists for a given book.
- list.show-Extra Permissions — Get the books from a listopia list.
- list.tag-Extra Permissions — Get the listopia lists for a given tag.
- notifications-OAuth — See the current user's notifications.
goodreads_oauth_get_user_notifications() - owned_book.create-OAuth — Add to books owned.
goodreads_oauth_add_owned_book($book_id = NULL, $condition = NULL, $condition_description = NULL, $bcid = NULL, $purchase_location = NULL, $purchase_date = NULL, $available_for_swap = NULL) - owned_book.list-OAuth — List books owned by a user.
goodreads_oauth_get_users_owned_books($user_id, $page = NULL, $max_pages = 5) - owned_book.show-OAuth — Show an owned book.
goodreads_oauth_get_show_owned_book($book_id = '1') - owned_book.update-OAuth — Update an owned book.
goodreads_oauth_get_show_owned_book($book_id = '1') - quotes.create-OAuth — Add a quote.
goodreads_oauth_add_quote($quote = NULL, $author_name = NULL, $book_id = NULL, $isbn = NULL, $author_id = NULL, $tags = NULL) - ratings.create-OAuth — Rate a review.
goodreads_oauth_rate_review($resource_id = NULL, $like = NULL) - review.create-OAuth — Add review.
goodreads_oauth_add_review($book_id = NULL, $rating = NULL, $review_text = NULL, $shelf_name = NULL, $date_read = NULL) - review.destroy-OAuth — Destroy a review.
goodreads_oauth_destroy_review($book_id = NULL) - reviews.list-OAuth(optional) — Get the books on a members shelf.
goodreads_get_user_books($user_id = '', $sort = '', $order = '', $shelf_name = '', $query = '', $per_page = '', $page = '', $max_pages = GOODREADS_MAX_PAGES)
goodreads_oauth_get_user_books($user_id = '', $sort = '', $order = '', $shelf_name = '', $query = '', $per_page = '', $page = '', $max_pages = GOODREADS_MAX_PAGES) - review.recent_reviews — Recent reviews from all members.
goodreads_get_recent_reviews() - review.show — Get a review.
goodreads_get_review($review_id, $page = NULL, $max_pages = 5) - review.show_by_user_and_book — Get a user's review for a given book.
goodreads_get_review_by_user_and_book($user_id = NULL, $book_id = NULL, $include_work = NULL) - review.update-OAuth — Update book reviews.
goodreads_oauth_edit_review($review_id = NULL, $rating = NULL, $review_text = NULL, $shelf_name = NULL, $date_read = NULL - search.authors — Find an author by name.
goodreads_find_author($author_name) - search.books — Find books by title, author, or ISBN.
goodreads_book_search($q, $field = NULL, $page = NULL, $max_pages = 5) - series.show — See a series.
goodreads_get_series_info($series_id) - series.list — See all series by an author.
goodreads_get_author_series($author_id) - series.work — See all series a work is in.
goodreads_work_series($work_id) - shelves.add_to_shelf-OAuth — Add a book to a shelf.
goodreads_oauth_add_book_to_shelf($book_id, $shelf_name = NULL, $delete = NULL) - shelves.list — Get a user's shelves.
goodreads_get_user_shelves($user_id, $page = NULL, $max_pages = 5) - topic.create-OAuth — Create a new topic via OAuth.
goodreads_oauth_create_topic($title = NULL, $subject_type = NULL, $subject_id = NULL, $comment = NULL, $update_feed = NULL, $digest = NULL, $folder_id = NULL, $question_flag = NULL) - topic.group_folder — Get list of topics in a group's folder.
goodreads_get_topics_by_group_and_folder($group_id = NULL, $folder_id = NULL, $sort = NULL, $order = NULL, $page = NULL, $max_pages = 5) - topic.show — Get info about a topic by id.
goodreads_get_topic_info($topic_id = NULL) - topic.unread_group-OAuth — Get a list of topics with unread comments.
goodreads_oauth_get_topics_with_unread_comments($group_id, $viewed = NULL, $sort = NULL, $order = NULL, $page = NULL, $max_pages = 5) - updates.friends-OAuth — Get your friend updates.
goodreads_oauth_get_user_friends_updates($update_filter = NULL, $max_updates = NULL, $update_type = NULL) - user_shelves.create-OAuth — Add book shelf.
goodreads_oauth_add_bookshelf($name, $featured = NULL, $exclusive = NULL, $sortable = NULL) - user_shelves.destroy-OAuth — Delete book shelf.
goodreads_oauth_delete_bookshelf($shelf_id) - user_shelves.update-OAuth — Edit book shelf.
goodreads_oauth_edit_bookshelf($shelf_id, $new_name = NULL, $featured = NULL, $exclusive = NULL, $sortable = NULL) - user.show — Get info about a member by id or username.
goodreads_get_user_info($user_id = NULL, $username = NULL) - user.compare-OAuth — Compare books with another member.
goodreads_oauth_get_user_compare_books($other_user_id = '1') - user.followers — Get a user's followers.
goodreads_get_user_follower_list($user_id, $page = NULL, $max_pages = 5) - user.following — Get people a user is following.
goodreads_get_user_following_list($user_id, $page = NULL, $max_pages = 5) - user.friends-OAuth — Get a user's friends.
goodreads_oauth_get_user_friends($goodreads_id = NULL, $page = NULL, $sort = NULL, $max_pages = 5) - user_status.create-OAuth — Update user status.
goodreads_oauth_update_user_status($book_id = '', $percentage = '', $page = '', $message = '') - user_status.destroy-OAuth — Delete user status.
goodreads_oauth_delete_status($status_id = NULL) - user_status.index — View user status.
goodreads_get_recent_user_status() - work.editions-Extra Permissions — See all editions by work.
Help improve this page
Page status: Not set
You can:
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion