Sign up Login

Person Verify

API Method: person_verify


This method allows the validation of a UK person, by matching your supplied data to our database of current UK persons.

Your data MUST contain:-

  • Surname
  • Forename / first initial
  • UK Postcode
  • UK Address (whole or partial)

The method will then attempt to locate the individual in our data. You can control the level of fuzziness that the method will use, by setting a series of parameters.

If a person is found in our data, aged over 18, the method returns a validation status true. We also describe the quality of the match.

If, for example, your data has a record for Ian Whitehead, and our method finds Ian Whithead (note the slight spelling difference) at the same address, we include this element:-


to indicate that there is a slight spelling difference.

Mandatory Parameters

None of the parameters are case sensitive apart from the api key or javascript key.

Name Description
api_key or javascript_key Use your API key if invoking server-side. If invoking from the browser via JavaScript, generate a JavaScript key using the javascript_key method.
surname The surname of the subject. The case is irrelevant.
forename The forename of the subject. If initial_match is set to true, this can be also be just the first letter.
postcode The postcode of the subject. Ideally this is the full UK postcode, but the method will check a partial code. If postcode_fuzzy is set to true, it will allow the final character of the postcode to be incorrect.

This can be in any case and any format

(such as YO98 9HZ or yo989HZ)
addr1 The first line of the address

Optional Parameters

Name Description
addr2 The second line of the address
addr3 The third line of the address
place The locality
town The postal town
surname_fuzzy Set to true (default) to allow a slight fuzzy match.
forename_fuzzy Set to true (default) to allow a slight fuzzy match.

Returned Values

The XML response is contained within a <person_verify_res> element.

Name Description
status Returns ok if the operation has succeeded, or error if an error has occurred; Returns the error_code for error details.
error_code Returns the error code when the status is error. See below for error codes.
t2a_version_number The current API version number.
credit_used The number of credits used in order to execute the request.
validation_status Set to:-

NOT_FOUND when the person could not be validated.

FOUND when a person has been validated.

TOO_MANY when the search parameters indicates more than one person sharing the full name.

Describes how we matched the surname. Possible values:-

  • FULL when the surname perfectly matched.
  • FUZZY when the surname was slightly incorrect (or a known synonym).

Describes how we matched the forename. Possible values:-

  • FULL when the forename matched.
  • FUZZY when the forename was slightly incorrect or was a known synonym.
  • INITIAL when the forename was matched only by the first letter.

Describes how we matched the address. Possible values:-

  • FULL when the address input perfectly matched the person's address.
  • PARTIAL when the address input partially matched. This occurs if some (but not all) of the words in the address, place and town fields were matched, and they were in the correct order.
  • (None) when the address was not used when matching the person.

Error Codes

See the common error codes. There are no errors which are specific to this method.

Worked Example

These examples are based around a fictitious record created for this documentation:-

Miss Angela Fanshawe

19 Snail Road



YO98 9ZR

The person, address, postcode, telephone and place shown above do not exist; only the town, "York", is real, and the simulated postal code is similar to York area ones.

Perfect Match Example

Using these parameters to find our dummy record:-

Parameter Value
surname fanshawe
forename angela
postcode YO989ZR (or YO98 9ZR)
addr1 19 Snail Road
place heslingdown
town York

...returned the XML below. Note that the match codes are all FULL for the name and address values.

<?xml version="1.0"?>

Fuzzy Match Example

Using these parameters to find our dummy record:-

Parameter Value
surname fanshaw
forename ANGELA
postcode YO989ZR
addr1 19 Snail

...returned the XML below. Note that the match code for the surname is FUZZY because of the slight spelling change, and PARTIAL for the address. You may optionally disable the fuzzy and partial matching.

<?xml version="1.0"?>

Looking for the old documentation? Download it here (PDF format)

API Method List

< Back to T2A API Documentation

  1. Search for a person (person_search)
  2. Find people at an address (address_person)
  3. Search the UK Electoral Roll (electoral_roll)
  4. Search the Full UK Electoral Roll (full_electoral_roll)
  5. Person Verify (person_verify)
  6. Age verification (age_verification)
  7. Search for a residential telephone number (telephone_residential)
  8. Search for a business (business_search)
  9. Search for an address/postcode (address_search)
  10. Validate a telephone number (validate_telephone)
  11. Validate a mobile telephone number (validate_mobile_phone_number)
  12. Validate a credit card number (validate_credit_card)
  13. Validate an email address (validate_email)
  14. Validate a VAT number (validate_vat)
  15. TPS/CTPS check a telephone number (tps_full)
  16. TPS/CTPS checking a CSV file containing telephone numbers (tps_bulk)
  17. Find UK dialling codes (area_code)
  18. Find international dialling codes (country_dial)
  19. Geo-Code an address (geo_code)
  20. Reverse Geo-Code (reverse_geo_code)
  21. Find company details (company_details)
  22. Find director details (director_details)
  23. Get a company credit report (company_credit_report)
  24. Find a location from an IP address (ip_location)
  25. Send a text message (send_text_message)
  26. Check the bereavement register (deceased)
  27. Bulk check the bereavement register (deceased_bulk)
  28. Check company name availability (company_name_check)
  29. Download a company document (company_document_download)
  30. Generate a secure JavaScript key (javascript_key)
  31. Create an asynchronous job (job_create)
  32. Read the progress of an asynchronous job (job_progress)
  33. Telephone number appending (tele_append)
  34. View information about your account (client_info)