Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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.