PHPackages                             njt/good-reads - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. njt/good-reads

ActiveLibrary[API Development](/categories/api)

njt/good-reads
==============

PHP wrapper to communicate with Goodreads API.

1.0.0(9y ago)10212↓100%21MITPHPPHP ~5.5|~7.0

Since Oct 7Pushed 9y ago2 watchersCompare

[ Source](https://github.com/Nicat/GoodReads)[ Packagist](https://packagist.org/packages/njt/good-reads)[ Docs](https://github.com/Nicat/GoodReads)[ RSS](/packages/njt-good-reads/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (1)

Goodreads
=========

[](#goodreads)

PHP wrapper to communicate with Goodreads API.

[![Latest Stable Version](https://camo.githubusercontent.com/348e2f8302435268562d2a2622f4683df472e20d140ce6cfe974470e9d278b3e/68747470733a2f2f706f7365722e707567782e6f72672f6e6a742f676f6f642d72656164732f762f737461626c65)](https://packagist.org/packages/njt/good-reads) [![License](https://camo.githubusercontent.com/3ac8625d907d85cd5274badfe37c0e031cfed5adb5d7d4e3be53e5a4486188b9/68747470733a2f2f706f7365722e707567782e6f72672f6e6a742f676f6f642d72656164732f6c6963656e7365)](https://packagist.org/packages/njt/good-reads)

Requirements
------------

[](#requirements)

- PHP &gt;= 5.5.3

Installation
------------

[](#installation)

```
composer require njt/good-reads

```

Getting Started
---------------

[](#getting-started)

Before using Goodreads API you must create a new application. Visit [signup form](http://www.goodreads.com/api/keys) for details.

Setup client:

```
$gr = new GoodReads('api_key');
```

Examples
--------

[](#examples)

### Lookup books

[](#lookup-books)

You can lookup a book by ISBN, ID or Title:

```
$gr->bookByISBN("ISBN");
$gr->book("id");
```

Search for books:

```
$gr->searchBook("Search any think");
$gr->searchBookByName("Book Name");
$gr->searchBookByAuthorName('Author Name');
```

### Authors

[](#authors)

Look up an author by their Goodreads Author ID:

```
$author = $gr->authorByID("id");
```

Look up an author books by their Goodreads Author ID:

```
$books = $gr->authorBooks("id");
```

Get Author ID by Author Name:

```
$id = $gr->authorIDByName("Author Name");
```

Look up an author by name:

```
$author = $gr->authorByName("Author Name");
```

Author series:

```
$series = $gr->seriesByAuthor("id");
```

### Reviews

[](#reviews)

Get review details:

```
$review = $gr->review('id');
```

Get User review details by Book:

```
$review = $gr->userReviewByBook('userID', 'bookID');
```

### User

[](#user)

Get the user by id:

```
$user = $gr->userInfoByID('id');
```

Get the user by username:

```
$user = $gr->userInfoByUsername('username');
```

### Groups

[](#groups)

Get group details:

```
$group = $gr->group('id', 'sort');
```

The `sort` parameter is optional, and defaults to `title`. One of `comments_count`, `title`, `updated_at`, `views`

Find group by Name:

```
$groups = $gr->findGroup('group Name');
```

List the groups a given user is a member of:

```
$groups = $gr->groupsOfUser('userID', 'sort');
```

The `sort` parameter is optional, and defaults to `members`. One of `my_activity`, `members`, `last_activity`, `title`

List the group Members a given group id:

```
$members = $gr->groupMembers('id');
```

Contributions
-------------

[](#contributions)

You're welcome to submit patches and new features.

- Create a new branch for your feature of bugfix
- Add tests so it does not break any existing code
- Open a new pull request
- Check official [API documentation](http://www.goodreads.com/api)

License
-------

[](#license)

The MIT License (MIT)

Nijat Asadov,

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3501d ago

### Community

---

Top Contributors

[![Nicat](https://avatars.githubusercontent.com/u/2685189?v=4)](https://github.com/Nicat "Nicat (10 commits)")

### Embed Badge

![Health badge](/badges/njt-good-reads/health.svg)

```
[![Health](https://phpackages.com/badges/njt-good-reads/health.svg)](https://phpackages.com/packages/njt-good-reads)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M475](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M270](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M186](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M451](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
