Laravel integration for Addresso UK address lookups. Auto-discovered service provider, facade, and config — works with Laravel 10, 11, and 12.
Requires Laravel 10+ and PHP 8.1+. The service provider and facade are auto-discovered.
composer require addresso/addresso-laravel
Add your API key to .env:
ADDRESSO_API_KEY=ak_your_api_key
Optionally publish the config file:
php artisan vendor:publish --tag=addresso-config
The Addresso facade provides static access to all client methods. No setup beyond the env variable needed.
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;Type-hint Addresso\Client in your controller or service constructor. Laravel will auto-resolve it with your configured API key.
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:
$result = app('addresso')->lookupPostcode('SW1A 1AA');Look up all addresses at a UK postcode. Returns a typed PostcodeLookupResult.
$result = Addresso::lookupPostcode('SW1A 1AA');
$result->postcode; // "SW1A 1AA"
$result->addresses; // Address[]
$result->creditsRemaining; // intSearch by free text or structured fields.
// 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 leftCheck your account status and remaining credits.
$account = Addresso::account(); $account->companyName; // your company name $account->creditsBalance; // credits remaining $account->earliestExpiry; // earliest credit expiry date (or null)
All configuration is via environment variables:
ADDRESSO_API_KEYstringrequiredYour Addresso API key (begins with ak_).
ADDRESSO_BASE_URLstringOverride the API base URL. Defaults to https://addresso.co.uk.