← All docs

Laravel

Laravel integration for Addresso UK address lookups. Auto-discovered service provider, facade, and config — works with Laravel 10, 11, and 12.

Installation

Requires Laravel 10+ and PHP 8.1+. The service provider and facade are auto-discovered.

bash
composer require addresso/addresso-laravel

Add your API key to .env:

env
ADDRESSO_API_KEY=ak_your_api_key

Optionally publish the config file:

bash
php artisan vendor:publish --tag=addresso-config

Facade

The Addresso facade provides static access to all client methods. No setup beyond the env variable needed.

php
use Addresso\Laravel\Facades\Addresso;

// Postcode lookup
$result = Addresso::lookupPostcode('SW1A 1AA');

foreach ($result->addresses as $address) {
    echo $address->buildingNumber . ' ' . $address->street;
}

// Address search
$result = Addresso::searchAddresses(['q' => '10 Downing Street']);

// Account info
$account = Addresso::account();
echo "Credits: " . $account->creditsBalance;

Dependency injection

Type-hint Addresso\Client in your controller or service constructor. Laravel will auto-resolve it with your configured API key.

php
use Addresso\Client;

class AddressController extends Controller
{
    public function lookup(Client $addresso, string $postcode)
    {
        $result = $addresso->lookupPostcode($postcode);

        return response()->json($result);
    }
}

You can also resolve from the container directly:

php
$result = app('addresso')->lookupPostcode('SW1A 1AA');

Postcode lookup

Look up all addresses at a UK postcode. Returns a typed PostcodeLookupResult.

php
$result = Addresso::lookupPostcode('SW1A 1AA');

$result->postcode;          // "SW1A 1AA"
$result->addresses;         // Address[]
$result->creditsRemaining;  // int

Search by free text or structured fields.

php
// Free-text search
$result = Addresso::searchAddresses(['q' => '10 Downing Street']);

// Structured search
$result = Addresso::searchAddresses([
    'town' => 'London',
    'street' => 'Downing Street',
    'building_number' => '10',
    'limit' => 5,
]);

$result->count;             // total matches
$result->creditsRemaining;  // credits left

Account

Check your account status and remaining credits.

php
$account = Addresso::account();

$account->companyName;     // your company name
$account->creditsBalance;  // credits remaining
$account->earliestExpiry;  // earliest credit expiry date (or null)

Configuration

All configuration is via environment variables:

ADDRESSO_API_KEYstringrequired

Your Addresso API key (begins with ak_).

ADDRESSO_BASE_URLstring

Override the API base URL. Defaults to https://addresso.co.uk.