PHPackages                             coderstephen/edmunds-sdk - 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. coderstephen/edmunds-sdk

AbandonedArchivedLibrary[API Development](/categories/api)

coderstephen/edmunds-sdk
========================

An implementation of an Edmunds SDK for PHP

v0.1(10y ago)81.6k4Apache-2.0PHPPHP &gt;=5.3

Since Jul 27Pushed 9y ago5 watchersCompare

[ Source](https://github.com/sagebind/edmunds-sdk)[ Packagist](https://packagist.org/packages/coderstephen/edmunds-sdk)[ RSS](/packages/coderstephen-edmunds-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Edmunds SDK
===========

[](#edmunds-sdk)

[![Version](https://camo.githubusercontent.com/7f269b30b06a7bae70ef98ce701345df9d9c9a5b5715a098da930813c8581244/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636f6465727374657068656e2f65646d756e64732d73646b2e737667)](https://packagist.org/packages/coderstephen/edmunds-sdk)[![License](https://camo.githubusercontent.com/375157f4bcc9d02a0e758acad9061ebff057f5fae15604f853745155c75c3c3c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f636f6465727374657068656e2f65646d756e64732d73646b2e737667)](https://packagist.org/packages/coderstephen/edmunds-sdk)[![Downloads](https://camo.githubusercontent.com/acb568ddd2ae612e87b9507bce97c2f85259df9b3eefb039301c55f55c830fdf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636f6465727374657068656e2f65646d756e64732d73646b2e737667)](https://packagist.org/packages/coderstephen/edmunds-sdk)[![Scrutinizer](https://camo.githubusercontent.com/26ae5229b292583c0dfdef3360aacb47d2c8f04f71d1db7f202d5a2862c62345/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f636f6465727374657068656e2f65646d756e64732d73646b2e737667)](https://scrutinizer-ci.com/g/coderstephen/edmunds-sdk)

A simple but native implementation of a PHP SDK for the [Edmunds API](http://developer.edmunds.com). Provides local object representations of remote data.

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

[](#installation)

Install with [Composer](http://getcomposer.org), obviously:

```
$ composer require coderstephen/edmunds-sdk
```

Usage
-----

[](#usage)

First, create an `ApiClient` instance of the type that corresponds to the desired Edmunds API, which connects to the Edmunds server:

```
$client = new Edmunds\SDK\VehicleApiClient('YOUR_API_KEY_HERE');
```

All available APIs extend from the `ApiClient` base class and are created in the same way. Pass in your Edmunds API key as the first argument. If you do not already have an API key, you will need to [register with Edmunds](http://edmunds.mashery.com/member/register/) first.

You can now access almost all of the Edmunds API with the client object. Currently, only the [Vehicle API](http://developer.edmunds.com/api-documentation/vehicle/) has object wrappers. To make a raw request to any endpoint, use the `ApiClient::makeCall()` method:

```
$response = $client->makeCall('/api/inventory/v2/inventories', [
    'zipcode' => '90404'
]);

foreach ($response->inventories as $inventory) {
    echo $inventory->vin;
}
```

See the [Edmunds API documentation](http://developer.edmunds.com/api-documentation/overview/index.html) for details on what endpoints are available and their usage.

### Vehicle API

[](#vehicle-api)

A vehicle API client is provided to access Edmunds' extensive vehicle knowledge database. To use it, first create a `VehicleApiClient` object:

```
$client = new Edmunds\SDK\VehicleApiClient('YOUR_API_KEY_HERE');
```

The `VehicleApiClient` class extends `ApiClient` and provides several easy-to-use wrapper methods for accessing data objects. Below is a short example of some of the things you can do with the SDK:

```
use Edmunds\SDK;

$client = new SDK\VehicleApiClient('YOUR_API_KEY_HERE');

$makesIn2009 = $client->getMakes(null, 2009);
foreach ($makesIn2009->getModels() as $model) {
    $modelYear = $model->getYear(2009);
    printf('Model name: %s', $model->name);

    foreach ($modelYear->getStyles() as $style) {
        $firstPhoto = $style->getPhotos()[0];
        printf('Image URL: %s', $firstPhoto->getBestQualityUrl());
    }
}
```

### Caching

[](#caching)

The application that this library was originally created for required making thousands of API calls while processing artificial intelligence instructions. To lighten the heavy load, this library provides a really simple API call caching solution using the filesystem. To use the caching mechanism, pass an `ApiCache` object when creating an API client:

```
$cache = new Edmunds\SDK\ApiCache('/path/to/cache');
$client = new Edmunds\SDK\VehicleApiClient('YOUR_API_KEY_HERE', $cache);
```

Every time specific data about an entity is requested, the cache is checked first. If no cached data is found, an API call is made as normal, and the result is written to the cache for later.

License
-------

[](#license)

Licensed under the [Apache Public License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). See [the license file](LICENSE) for details.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity48

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

3948d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/83a82932c24c29b0e68201a359462dcd87f37b20976f1c48e827fd903ffa2284?d=identicon)[sagebind](/maintainers/sagebind)

---

Top Contributors

[![sagebind](https://avatars.githubusercontent.com/u/2192863?v=4)](https://github.com/sagebind "sagebind (12 commits)")

### Embed Badge

![Health badge](/badges/coderstephen-edmunds-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/coderstephen-edmunds-sdk/health.svg)](https://phpackages.com/packages/coderstephen-edmunds-sdk)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

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

A PHP wrapper for Twilio's API

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

GitHub API v3 client

2.2k15.8M187](/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.1M454](/packages/google-gax)

PHPackages © 2026

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