PHP client library for the Harvest REST API.


Latest Stable Version Latest Unstable Version Total Downloads CI codecov

An awesome object oriented wrapper for the Harvest REST API v2, written with and for modern PHP.


Via Composer:

composer require wearerequired/harvest-api-php-client php-http/guzzle7-adapter

Why php-http/guzzle7-adapter? The library is decoupled from any HTTP messaging client with the help by HTTPlug.

Basic Usage

// Include Composer's autoloader.
require_once __DIR__ . '/vendor/autoload.php';

// Set up the client.
$client = new \Required\Harvest\Client();
$client->authenticate( 'account-id', 'token' );

// Do your API calls.
$currentUser = $client->currentUser()->show();

// Example request with auto paging.
$projects = $client->projects()->allWithAutoPagingIterator();
foreach ( $projects as $project ) {
	// Do something with $project. The iterator will automatically
	// fetch new entries if the end of a page is reached.


This library does not include an OAuth 2.0 Client. We suggest to use the PHP League's OAuth 2.0 Client with our OAuth provider for Harvest.


The MIT License (MIT). Please see license file for more information.

a required open source product - let's get in touch