This service is hosted in multiple countries. Select your preferred country to see the appropriate endpoint URLs.
Changing the hosting country does not affect the data returned by the service.
However you may wish to select a particular country based on your data residency requirements or network latency.
JSON
Copied!
Open API
Copied!
SOAP
Description
Finds a list of towns or villages that match the requested postcode.
The postcode can be either a full postcode, a postcode district (the first half of the postcode) or a postcode area (the first one or two letters only).
Each matching town or village is returned as a PartialAddress, which contains the name of the town or village as the Description and a unique identifier as the ID. The caller can use the Description to select the required town or village, and the corresponding ID can be used as input to the StreetsByLocalityKey or AddressesByLocalityKey methods to further refine the address.
Credit Usage
Requests to this method do not consume credits, but you must have some AddressCapture credits available.
Parameters
The following parameters can be supplied to this method
username
username
See the available authentication methods. If you are
using username & password authentication,
specify the username to authenticate as. If you are using
API Key authentication and you are not using
the JSON, Javascript or ADO APIs, use your API Key here with the prefix apikey-, e.g.
apikey-ABCD-1234-EFGH-5678
As the Royal Mail PAF database can be licensed in multiple ways, this parameter indicates under which license you are accessing the data. This must match the variant you have a license or credits for - if you are unsure which option to choose, please contact your account manager
postcode
postcode
The postcode of the locality to search for.
Advanced Options
The following options can be specified as part of the option parameter. Each option is specified
as a key/value pair. The list of available names is shown below, along with a description of the allowable values
for that name.
Common Options
Name
Description
ApplicationName
ApplicationName
Gives the name of the calling application - used to break down usage by application in the usage reports on the dashboard
Results
This method returns an object containing the following fields:
Status
Status
Indicates whether the method call was successful, or if some error occurred.
If the Success field is true, the other results described below can be used to get the results of the method.
If Success is false, some error occurred in calling the method, such as the authentication failed or the
account is out of credits. The details of the error can be obtained from the ErrorMessage field, and any other results should be ignored
Results
Results
Contains an array of towns that match the query. Each town is returned with a Description, which contains a partial, human-readable version of the address, and an ID which can be supplied to the StreetsByLocalityKey or AddressesByLocalityKey method to get the list of streets or addresses in the locality respectively
Live Demo
licence
postcode
options
Name
Value
Common Options
Credits Remaining Today:
Live Demo Results
We hope you like our service! Sign up for a free account and start using our full range of products today.
Sample Code
<!-- Import the Integr8 Ajax API --><!-- NOTE: Get your own API key to use in the following script tag from: --><!-- https://www.data-8.co.uk/ValidationAdmin/AjaxAPIKey --><scripttype="text/javascript"src="https://webservices.data-8.co.uk/Javascript/Loader.ashx?key=your-api-key&load=AddressCapture"></script><scripttype="text/javascript">function LocalitiesByPostcode(licence, postcode) {
/// <param name="licence">string. One of the following values: WebServerFull, WebClickFull, WebClickThoroughfare, InternalUserFull, InternalUserThoroughfare, SmallUserFull, SmallUserThoroughfare, Lookup, InternalServerFull, InternalServerThoroughfare, FreeTrial, FreeTrialThoroughfare, InternalUserFullArea, InternalUserThoroughfareArea, WebServerThoroughfare</param>/// <param name="postcode">string</param>var addresscapture = new data8.addresscapture();
addresscapture.localitiesbypostcode(
licence,
postcode,
[
],
showLocalitiesByPostcodeResult
);
}
function showLocalitiesByPostcodeResult(result) {
// Check that the call succeeded, and show the error message if there was a problem.if (!result.Status.Success) {
alert('Error: ' + result.Status.ErrorMessage);
}
else {
// TODO: Process method results here.// Results can be extracted from the following fields:// result.Results// Contains an array of towns that match the query. Each town is returned with a `Description`, which contains a partial, human-readable version of the address, and an `ID` which can be supplied to the [`StreetsByLocalityKey`](../streetsbylocalitykey/) or [`AddressesByLocalityKey`](../addressesbylocalitykey/) method to get the list of streets or addresses in the locality respectively
}
}
</script>
// NOTE: A Service Reference to the web service must be added to use this sample code.privatevoid LocalitiesByPostcode(AddressCaptureLicence licence, string postcode)
{
// Declare the required options.// Invoke the web service method.
AddressCaptureSoapClient proxy = new AddressCaptureSoapClient();
PartialAddressOutput results = proxy.LocalitiesByPostcode("your-username", "your-password", licence, postcode, new Option[0]);
// Check that the call succeeded, and show the error message if there was a problem.if ((results.Status.Success == false))
{
MessageBox.Show(("Error: " + results.Status.ErrorMessage));
}
else
{
// TODO: Process method results here.// Results can be extracted from the following fields:// result.Results// Contains an array of towns that match the query. Each town is returned with a `Description`, which contains a partial, human-readable version of the address, and an `ID` which can be supplied to the [`StreetsByLocalityKey`](../streetsbylocalitykey/) or [`AddressesByLocalityKey`](../addressesbylocalitykey/) method to get the list of streets or addresses in the locality respectively
}
}
'NOTE: A Service Reference to the web service must be added to use this sample code.PrivateSub LocalitiesByPostcode(ByVal licence As AddressCaptureLicence, ByVal postcode AsString)
'Declare the required options.'Invoke the web service method.Dim proxy As AddressCaptureSoapClient = New AddressCaptureSoapClient()
Dim results As PartialAddressOutput = proxy.LocalitiesByPostcode("your-username", "your-password", licence, postcode, New [Option](-1) {})
'Check that the call succeeded, and show the error message if there was a problem.If (results.Status.Success = false) Then
MessageBox.Show(("Error: " + results.Status.ErrorMessage))
Else'TODO: Process method results here.'Results can be extracted from the following fields:'result.Results' Contains an array of towns that match the query. Each town is returned with a `Description`, which contains a partial, human-readable version of the address, and an `ID` which can be supplied to the [`StreetsByLocalityKey`](../streetsbylocalitykey/) or [`AddressesByLocalityKey`](../addressesbylocalitykey/) method to get the list of streets or addresses in the locality respectivelyEndIfEndSub
// NOTE: The php_soap.dll extension must be enabled in the php.ini file.function LocalitiesByPostcode($licence, $postcode)
{
$options = array(
"Option" => array(
)
);
$params = array(
"username" => "your-username",
"password" => "your-password",
"licence" => $licence,
"postcode" => $postcode,
"options" => $options
);
$client = new SoapClient("https://webservices.data-8.co.uk/AddressCapture.asmx?WSDL");
$result = $client->LocalitiesByPostcode($params);
if ($result->LocalitiesByPostcodeResult->Status->Success == 0)
{
echo"Error: " . $result->LocalitiesByPostcodeResult->Status->ErrorMessage;
}
else
{
// TODO: Process method results here.// Results can be extracted from the following fields:// $result->LocalitiesByPostcodeResult->Results// Contains an array of towns that match the query. Each town is returned with a `Description`, which contains a partial, human-readable version of the address, and an `ID` which can be supplied to the [`StreetsByLocalityKey`](../streetsbylocalitykey/) or [`AddressesByLocalityKey`](../addressesbylocalitykey/) method to get the list of streets or addresses in the locality respectively// NOTE: This field contains an array of items, but if it contains only one item,// PHP may not recognise it as an array. To always extract the result of this// field as an array, we recommend you always access it using the// getArrayFromResponse method described at// http://www.php.net/soap_soapclient_soapcall#75797, e.g.// foreach (getArrayFromResponse($result->LocalitiesByPostcodeResult->Results) as $item)// {// ...// }
}
}
Post the request to https://webservices.data-8.co.uk/AddressCapture/LocalitiesByPostcode.json?key=your-api-key
and do NOT include the username or password properties in the request JSON document.
Post the request to https://webservices.data-8.co.uk/AddressCapture/LocalitiesByPostcode.json
and include username and password properties in the request JSON document.
Do not use for client-side requests!
Obtain a JWT token for your user and post the request to https://webservices.data-8.co.uk/AddressCapture/LocalitiesByPostcode.json
Include the JWT token in the request headers as: Authorization: Bearer your-jwt-token
PublicSub LocalitiesByPostcode(licence AsString, postcode AsString)
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "https://webservices.data-8.co.uk/recordset.ashx?service=AddressCapture&method=LocalitiesByPostcodeSimple" &
"&username=your-username" &
"&password=your-password" &
"&licence=" & licence &
"&postcode=" & postcode
If rs.MoveFirst ThenIf rs.Fields(0).Name = "Success"And rs.Fields(0).Value = falseThen
MsgBox "Error: " & rs.Fields(1)
Else'TODO: Process method results here.'Each result is available in a different row in the recordset.'Results can be extracted from the following fields:'ID'DescriptionEndIfEndIfEndSub
Cookie Notice
Find out more about how this website uses cookies to enhance your browsing experience.