Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A PHP client for the Reddit API
branch: master

Merge pull request #18 from noahbass/patch-2

added /api/del to link.json
latest commit dce845fe47
Henry Smith authored

Reddit API Client

Build Status

This is a PHP client for Reddit's API, built on the Guzzle web service client framework.

As a quick taster, here's some sample code:

require 'vendor/autoload.php';

$clientFactory = new Reddit\Api\Client\Factory;
$client = $clientFactory->createClient();

$login = $client->getCommand(
        'api_type' => 'json',
        'user'     => 'Example_User',
        'passwd'   => 'password123',

$submit = $client->getCommand(
        'sr'    => 'programming',
        'kind'  => 'link',
        'title' => 'Mongo DB Is Web Scale',
        'url'   => '',


This project is packaged with Composer. Add the following the the require section of your project's composer.json:

"h2s/reddit-api-client": "dev-master"

After that just run php composer.phar update and you're good to go! If you have any trouble, or want more detail, I've set up a working example "Reddit Console" project for reference purposes.

Development Status

Reddit's API is big, and the service description JSON in the ./api/ directory is incomplete.

Supported URIs

  • api/login/{user}
  • api/me.json
  • api/register
  • api/submit
  • api/del
  • api/vote
  • by_id/t3_{id}.json
  • r/{subreddit}.json
  • user/{id}.json
  • user/{id}/about.json

The above list covers many of the most common interactions such as logging in, reading and posting links and comments, and casting votes. However, there are dozens more services available in Reddit's API, and simple pull requests adding entries to the service description JSON are very welcome.


This is a fairly simple project so there aren't many guidelines. I've you've fixed a bug or added a feature, let's get it merged back in. There are two hard rules.

1. Test-drive your changes

This project is test-driven. Please don't submit any code changes without a corresponding set of unit tests.

$ make phpunit

2. Follow PSR2

Stick to the PSR-2 standard.

$ make phpcs


This project is released under the MIT License.

Something went wrong with that request. Please try again.