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
Checks if a postcode is syntactically valid, and returns the same postcode in a standard format suitable for printing as part of an address.
This method does not check whether an address actually exists at the postcode, only that the postcode is of the correct format.
If the postcode has a correct format, the IsValid part of the result is set to true and the Formatted part of the result is set to the same postcode in a standard format, e.g. "ch24ne" is converted to "CH2 4NE".
If the postcode does not have a correct format, the IsValid part of the result is set to false and the Formatted part of the result will not be specified.
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 to validate
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
IsValid
IsValid
Indicates if the postcode is syntactically valid or not.
Formatted
Formatted
If IsValid is true, contains the supplied postcode converted to a standard format.
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 ValidatePostcode(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.validatepostcode(
licence,
postcode,
[
],
showValidatePostcodeResult
);
}
function showValidatePostcodeResult(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.IsValid// Indicates if the postcode is syntactically valid or not.// result.Formatted// If `IsValid` is `true`, contains the supplied `postcode` converted to a standard format.
}
}
</script>
// NOTE: A Service Reference to the web service must be added to use this sample code.privatevoid ValidatePostcode(AddressCaptureLicence licence, string postcode)
{
// Declare the required options.// Invoke the web service method.
AddressCaptureSoapClient proxy = new AddressCaptureSoapClient();
ValidatePostcodeOutput results = proxy.ValidatePostcode("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.IsValid// Indicates if the postcode is syntactically valid or not.// result.Formatted// If `IsValid` is `true`, contains the supplied `postcode` converted to a standard format.
}
}
'NOTE: A Service Reference to the web service must be added to use this sample code.PrivateSub ValidatePostcode(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 ValidatePostcodeOutput = proxy.ValidatePostcode("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.IsValid' Indicates if the postcode is syntactically valid or not.'result.Formatted' If `IsValid` is `true`, contains the supplied `postcode` converted to a standard format.EndIfEndSub
// NOTE: The php_soap.dll extension must be enabled in the php.ini file.function ValidatePostcode($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->ValidatePostcode($params);
if ($result->ValidatePostcodeResult->Status->Success == 0)
{
echo"Error: " . $result->ValidatePostcodeResult->Status->ErrorMessage;
}
else
{
// TODO: Process method results here.// Results can be extracted from the following fields:// $result->ValidatePostcodeResult->IsValid// Indicates if the postcode is syntactically valid or not.// $result->ValidatePostcodeResult->Formatted// If `IsValid` is `true`, contains the supplied `postcode` converted to a standard format.
}
}
Post the request to https://webservices.data-8.co.uk/AddressCapture/ValidatePostcode.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/ValidatePostcode.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/ValidatePostcode.json
Include the JWT token in the request headers as: Authorization: Bearer your-jwt-token
PublicSub ValidatePostcode(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=ValidatePostcodeSimple" &
"&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.'All the results are available in the first row in the recordset.'Results can be extracted from the following fields:'IsValid' Indicates if the postcode is syntactically valid or not.'Formatted' If `IsValid` is `true`, contains the supplied `postcode` converted to a standard format.EndIfEndIfEndSub
Cookie Notice
Find out more about how this website uses cookies to enhance your browsing experience.