1.7.0 2016-05-29 11:15 UTC


Build Status StyleCI

A simple Object Oriented wrapper for GitHub API, written with PHP5.

Uses GitHub API v3. The object API is very similar to the RESTful API.


  • Follows PSR-0 conventions and coding standard: autoload friendly
  • Light and fast thanks to lazy loading of API classes
  • Extensively tested and documented


  • PHP >= 5.3.2 with cURL extension,
  • Guzzle library,
  • (optional) PHPUnit to run tests.


The new version of php-github-api using Composer. The first step to use php-github-api is to download composer:

$ curl -s | php

Then we have to install our dependencies using:

$ php composer.phar install

Now we can use autoloader from Composer by:

    "require": {
        "knplabs/github-api": "~1.4"

php-github-api follows the PSR-0 convention names for its classes, which means you can easily integrate php-github-api classes loading in your own autoloader.

Using Laravel?

Laravel GitHub by Graham Campbell might interest you.

Basic usage of php-github-api client


// This file is generated by Composer
require_once 'vendor/autoload.php';

$client = new \Github\Client();
$repositories = $client->api('user')->repositories('ornicar');

From $client object, you can access to all GitHub.

Cache usage


// This file is generated by Composer
require_once 'vendor/autoload.php';

$client = new \Github\Client(
    new \Github\HttpClient\CachedHttpClient(array('cache_dir' => '/tmp/github-api-cache'))

// Or select directly which cache you want to use
$client = new \Github\HttpClient\CachedHttpClient();
    // Built in one, or any cache implementing this interface:
    // Github\HttpClient\Cache\CacheInterface
    new \Github\HttpClient\Cache\FilesystemCache('/tmp/github-api-cache')

$client = new \Github\Client($client);

Using cache, the client will get cached responses if resources haven't changed since last time, without reaching the X-Rate-Limit imposed by github.


See the doc directory for more detailed documentation.


php-github-api is licensed under the MIT License - see the LICENSE file for details


Sponsored by

KnpLabs Team


Thanks to GitHub for the high quality API and documentation.