Allows you to use many different services to find an address based on an address query string.

1.1.0 2020-09-11 13:41 UTC

This package is auto-updated.

Last update: 2024-04-11 21:23:53 UTC


A small package to unify address lookups based on a search query. It currently has support for the Algolia Places API.


You can install the package via composer:

composer require lukeraymonddowning/laravel-address-lookup


To lookup an address, you should obtain an instance of the AddressLookup interface out of the container, either through the app helper function or by type hinting.

The default provider is Algolia, but you can change this by setting an ADDRESS_LOOKUP_DRIVER in your .env file with the desired driver key.

Here is an example of using the package to determine an address.

use Lukeraymonddowning\PostcodeLookup\Drivers\AddressLookup;

$addressLookup = app(AddressLookup::class);

$results = $addressLookup->lookup('1 Test Road, Some Street');

The lookup method will return a Collection of addresses, which conform to the Lukeraymonddowning\PostcodeLookup\Address\AddressInterface.

If there is an error retrieving results, an AddressLookupFailed exception will be thrown.


The Algolia places API can be used without any credentials, but usage is limited. You can add your own credentials to remove these limits. To do so, add the following keys to your .env file:


You should set the values of these keys to those obtained from the Algolia Places control panel.

Important information

Whilst this package is open source, it is primarily used for internal business purposes and as such there should be no expectation of timely changes based on feature requests.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.