PHPackages                             jetcamp/laravel-json-api-client - 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. jetcamp/laravel-json-api-client

ActiveLaravel-package[API Development](/categories/api)

jetcamp/laravel-json-api-client
===============================

Laravel client for easy access of data from {json:api} APIs

7.0.1(2y ago)0131MITPHP

Since Jul 30Pushed 2y ago1 watchersCompare

[ Source](https://github.com/jetcamp/laravel-json-api-client)[ Packagist](https://packagist.org/packages/jetcamp/laravel-json-api-client)[ RSS](/packages/jetcamp-laravel-json-api-client/feed)WikiDiscussions master Synced today

READMEChangelog (9)Dependencies (3)Versions (12)Used By (0)

Laravel {json:api} client
=========================

[](#laravel-jsonapi-client)

Client for easy access of data from [{json:api}](http://jsonapi.org/) API. Making requests to API by using PHP HTTP Clients like Guzzle or CURL requires to much code. This package tries to simplify this process, by allowing to get data from API as simply as:

```
$response = JsonApiClient::get('users');
//Let's return this data to view
return view('users', ['users'=> $response->data]);
```

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

[](#installation)

- Install package `composer require jetcamp\laravel-json-api-client`.
- Add service provider `JetCamp\JsonApiClient\Providers\JsonApiServiceProvider::class` to `config/app.php`
- Publish vendor config `php artisan vendor:publish`.

Usage
-----

[](#usage)

### Getting the client

[](#getting-the-client)

You can get client in several ways:

- Via Facade `\JetCamp\JsonApiClient\Facades\JsonAPIClient`
- Resolving from service container `JetCamp\JsonApiClient\JsonApiClient::class`

### Making requests

[](#making-requests)

- get($endpoint)

```
JsonApiClient::get('users'); //get users
```

- post($endpoint)

```
JsonApiClient::jsonData([])->post('users');//store user
```

- patch($endpoint)

```
JsonApiClient::jsonData([])->patch('users');//do patch request
```

#### Request options

[](#request-options)

- `JsonApiClient::get('users')->withIncludes(['posts'])` - adds query param `include=posts` to request URL. See
- `JsonApiClient::get('users')->withFields(['user'=> ['id','name']])` - adds query param `fields[users]=id,name`. See
- `JsonApiClient::get('users')->withFilters(['users'=>['id'=>['eq'=>1]]])` - adds query param `filter[users][id][eq]=1`. {json:api} is agnostic about filtering, so you can choose your filtering strategy and pass what ever array you want. See .
- `JsonApiClient::get('users')->withQuery(['field'=>1])` - adds query param `field=1=1`. In theory adding filter, includes, fields and pagination fields should be sufficient.
- `JsonApiClient::limit($limit, $offset)->get('users')` - add result constraints to query param `page\[limit\]=x&amp;page\[offet\]=y. See
- `JsonApiClient::formData(['name'=>'John'])->post('users')` - define post form data. Form data can contain files i.e `JsonApiClient::formData(['image'=> $request->file('image')])->post('photos')`.
- `JsonApiClient::jsonData(['name'=>'John'])->post('users')` - define post JSON data.
- `JsonApiClient::throwException(true)` - whenever non 2xx status code received and appropriate exception is thrown. Set to `false` if you want handel request response status yourself.
- `JsonApiClient::token($accessToken)->get('users')` - define access token which will be added to `Authorization:Bearer {$accessToken}` header. Note, if there is `jwt` session variable there is no need to set token here, because access token will be added to request automatically.

### Handling response

[](#handling-response)

Requests will return `JsonApiResponse` object. It will contain public variables:

- `$resopnse->data` - contains response data.
- `$resopnse->meta` - contains meta data of a response.
- `$resopnse->errors` - contains errors data of a response.
- `$resopnse->status` - holds HTTP status code of request. Also it has helper functions
- `$resopnse->meta('count')` - return meta data with key `count`.

### Exceptions

[](#exceptions)

//@todo

###  Health Score

31

—

LowBetter than 65% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 60% 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

Every ~244 days

Recently: every ~264 days

Total

10

Last Release

736d ago

Major Versions

v0.0.1-alpha → 4.0.02020-11-17

4.0.0 → 5.0.02020-11-17

5.0.2 → 6.0.02021-09-09

6.0.0 → 7.0.02021-09-09

### Community

Maintainers

![](https://www.gravatar.com/avatar/2775ee345329f33ea8796c7b8dc548e0ea15b92bd3bdb851aeae8c7c0a89baca?d=identicon)[jetcamp](/maintainers/jetcamp)

---

Top Contributors

[![jetcamp](https://avatars.githubusercontent.com/u/72256737?v=4)](https://github.com/jetcamp "jetcamp (6 commits)")[![pc-draku](https://avatars.githubusercontent.com/u/195320690?v=4)](https://github.com/pc-draku "pc-draku (2 commits)")[![denys-p](https://avatars.githubusercontent.com/u/59048150?v=4)](https://github.com/denys-p "denys-p (1 commits)")[![hetg](https://avatars.githubusercontent.com/u/22342719?v=4)](https://github.com/hetg "hetg (1 commits)")

### Embed Badge

![Health badge](/badges/jetcamp-laravel-json-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/jetcamp-laravel-json-api-client/health.svg)](https://phpackages.com/packages/jetcamp-laravel-json-api-client)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.3M49](/packages/tencentcloud-tencentcloud-sdk-php)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k832.6k52](/packages/neuron-core-neuron-ai)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

293.1k](/packages/eslazarev-wildberries-sdk)[avalara/avataxclient

Client library for Avalara's AvaTax suite of business tax calculation and processing services. Uses the REST v2 API.

528.7M7](/packages/avalara-avataxclient)[files.com/files-php-sdk

Files.com PHP SDK

2482.9k](/packages/filescom-files-php-sdk)[aimeos/prisma

A powerful PHP package for integrating media related Large Language Models (LLMs) into your applications

2084.7k6](/packages/aimeos-prisma)

PHPackages © 2026

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