PHPackages                             alexjustesen/php-openbrewerydb - 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. [Database &amp; ORM](/categories/database)
4. /
5. alexjustesen/php-openbrewerydb

ActiveLibrary[Database &amp; ORM](/categories/database)

alexjustesen/php-openbrewerydb
==============================

Unofficial PHP SDK for Open Brewery DB

v0.3.0(3y ago)19MITPHPPHP ^8.1

Since Mar 5Pushed 3y ago1 watchersCompare

[ Source](https://github.com/alexjustesen/php-openbrewerydb)[ Packagist](https://packagist.org/packages/alexjustesen/php-openbrewerydb)[ Docs](https://github.com/alexjustesen/php-openbrewerydb)[ RSS](/packages/alexjustesen-php-openbrewerydb/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (4)Versions (4)Used By (0)

Open Brewery DB SDK (PHP)
=========================

[](#open-brewery-db-sdk-php)

PHP SDK for [Open Brewery DB](https://www.openbrewerydb.org/) api.

Sponsor
-------

[](#sponsor)

Like this package? Consider [sponsoring](https://github.com/sponsors/alexjustesen) me to help me reach my goals.

Install
-------

[](#install)

```
composer require alexjustesen/php-openbrewerydb

```

### Usage

[](#usage)

#### Authentication

[](#authentication)

v1 of OpenBreweryDB API does not enforce any authentication patterns but rate limiting does exist.

#### Initialize the request

[](#initialize-the-request)

To get started create a new instance of the SDK.

```
$obdb = new OpenBreweryDb;
```

#### Handling the response

[](#handling-the-response)

The SDK makes use of [Saloon](https://docs.saloon.dev/) by Sam Carre, after a request is sent you can interact with the response with any of the [documented](https://docs.saloon.dev/the-basics/responses) methods like `->body()` or `->json()`.

In the example below we're requesting a single brewery and formatting the response as json.

```
$request = new GetBrewery('brewery-id-goes-here');

$response = $obdb->send($request);

$response->json();
```

#### List breweries

[](#list-breweries)

```
$request = new ListBreweries();

$response = $obdb->send($request);
```

Additional methods for filtering results:

- `$request->filterByCity('hartford')` - `string`
- `$request->filterByName('broad brook')` - `string`
- `$request->filterByPostal('06002')` - `string`
- `$request->filterByState('connecticut')` - `string`
- `$request->filterByType('micro')` - `string`

Additional methods for sorting results:

- `$request->sortBy('type,name:asc')` - `string` or `array`
- `$request->sortByDistance(41.96200785, -72.66266463)` - $lat: `float`, $lon: `float`

#### Get a brewery

[](#get-a-brewery)

```
$request = new GetBrewery('brewery-id-goes-here');

$response = $obdb->send($request);
```

#### Get random breweries

[](#get-random-breweries)

```
$request = new GetRandomBrewery();

$response = $obdb->send($request);
```

**Available parameters**

- `size`, default = `1`

#### Search breweries

[](#search-breweries)

```
$request = new SearchBreweries('dog');

$response = $obdb->send($request);
```

#### Autocomplete breweries

[](#autocomplete-breweries)

```
$request = new AutocompleteBreweries('dog');

$response = $obdb->send($request);
```

Testing
-------

[](#testing)

### Using PHP CS Fixer

[](#using-php-cs-fixer)

```
PHP_CS_FIXER_IGNORE_ENV=1 tools/php-cs-fixer/vendor/bin/php-cs-fixer fix src --allow-risky=yes

```

### Using Pest

[](#using-pest)

```
./vendor/bin/pest
``

```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

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

Every ~0 days

Total

3

Last Release

1159d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2214164c880af0c0f116a6fccbab39e813d9714134b7365441fa411ee519475d?d=identicon)[alexjustesen](/maintainers/alexjustesen)

---

Top Contributors

[![alexjustesen](https://avatars.githubusercontent.com/u/1144087?v=4)](https://github.com/alexjustesen "alexjustesen (7 commits)")

---

Tags

phpapisdkdatabasedbopenalexjustesenbreweryopenbrewerydb

###  Code Quality

TestsPest

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/alexjustesen-php-openbrewerydb/health.svg)

```
[![Health](https://phpackages.com/badges/alexjustesen-php-openbrewerydb/health.svg)](https://phpackages.com/packages/alexjustesen-php-openbrewerydb)
```

###  Alternatives

[kreait/firebase-php

Firebase Admin SDK

2.4k39.7M72](/packages/kreait-firebase-php)[tomatophp/filament-translations

Manage your translation with DB and cache, you can scan your languages tags like trans(), \_\_(), and get the string inside and translate them use UI.

6230.1k3](/packages/tomatophp-filament-translations)[jawira/db-draw

📐 Takes a DoctrineORM connection and generates a database diagram in .puml format

2295.1k2](/packages/jawira-db-draw)[webparking/laravel-db-rebuild

A laravel package that allows for quick database rebuilds with presets.

448.8k](/packages/webparking-laravel-db-rebuild)[soosyze/queryflatfile

The Queryflatfile is PHP library for simple database not SQL

181.0k1](/packages/soosyze-queryflatfile)

PHPackages © 2026

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