Address Quality Functions That Efficiently Correct Your Address Data

nCode has many address quality functions that help you efficiently capture, validate and automatically correct all of your Canadian mailing addresses. Since the nCode API is so feature rich, it may not always be easy to know exactly which function is the best one to use in any given situation. This article discusses the various types of address quality functions that nCode offers and should help you to understand when to use each one to get the most out of your address data.


Address correction is a feature of nCode that allows you to take an address of unknown validity and to analyze this address, looking for valid information, and resulting in either a fully validated address or a list of valid addresses which are likely valid alternatives to the given invalid address.

When you perform address correction with nCode, you provide an input address in address layout form. This form has a number of address lines each of which contains some kind of address information according to your nCode address layout configuration settings.

An input address for the correction feature may be incomplete and may have mistakes, but it should have several address elements which can be used to deduce the intended address. Typically, for an address to be successfully corrected by nCode, there would have to be no more than four or five address element errors in the input address. It is important to remember that address correction can match an address even if the input contains wrong address elements. This is an important difference between correction and searching or browsing.

Address correction tells you the status of the address: Is it valid (OK as-is), correctable (can be made OK automatically with confidence), non-correctable (not OK and not correctable without manual intervention) or foreign (U.S. address). If an address is correctable nCode will also give you status messages indicating what needed fixing in order to make the address fully valid. If an address is non-correctable nCode will typically give you a list of potentially matching valid alternatives.

Address correction is the function to use when you have a more or less complete address and you want to be sure that the address is complete, accurate and properly standardized.

Address correction is primarily performed by the nCode Toolkit’s avc_analyze() function and nCode Web Services’ AnalyzeAddress and AnalyzeGetAlternatives methods. Correction is also the default operation performed by the nCode Batch Processor.

Address Searching

Address searching is a feature of nCode that allows you to find address information at various levels, including FSA, municipality, street, and postal code range using a variety of specific search criteria.

Unlike address correction, which takes address layout format input, the input to the nCode address searching functions is comprised of one or more specific address elements.

The output of address searching may be at the address/postal code range level, or it might be at a higher level. This lets you quickly answer questions like: “What municipalities have a BLOOR ST?” or “What are the FSAs in MISSISSAUGA ON?”. Unlike correction, every input address element used with searching is presumed to be accurate. Input elements are used conjunctively, so using a non-existing combination of elements or using an element name that doesn’t exist in the Canada Post reference data will return an empty result set.

Address searching is really useful for address capture, especially for drilling down to a complete and accurate address based on a small number of well understood input elements. For example, you can use a street number and a postal code as inputs to the searching functions of nCode to get a unique postal code range (i.e. a full street address) for any urban address in Canada.

The main functions used for searching are the nCode Toolkit’s avc_bsearch function and the nCode Web Services SearchForAddresses and SearchForNames web methods.

Address Browsing

Address browsing is a feature of nCode that allows you to search for lists of valid addresses or valid address elements that match search criteria which you provide. It is similar to address searching as it provides lists of matching addresses at either a city name, street name or postal code range level based on one or a few input address elements.

An important difference between address browsing and address searching is that browsing uses inputs in address layout format, just as with address correction. This is important because it means that you can search for matching addresses without having to know precisely what each input element represents. With address browsing, nCode figures that out for you. This makes address browsing extremely useful for address capture applications. You can search for matching addresses using very minimal input information and this information can be loosely structured, or even free form.

The outputs of address browsing may be a list of cities, street names or postal code ranges, depending on what kind of information was provided in the input.

The main functions used for browsing are the nCode Toolkit’s abr_create_list() function and the nCode Web Services BrowseAddressEx web method.


Parsing is a feature of nCode that allows you to take relatively unstructured input address information and to look for ways of interpreting this input as legitimate mailing address elements – according to the Canada Post reference data.

The inputs to nCode’s address parsing function are in address layout format. You can provide a whole address or any part of an address as the input to the parsing process.

Unlike address correction, parsing is not concerned with matching a complete, existing mailing address. Instead, parsing is used to identify which tokens in an input address might be interpreted in various ways.

The output of the parsing function is a list of address element sets. These address element sets delineate various possible interpretations of a string token in the input address. For example, MOONSTONE may be a street name or it may be a municipality name.

The best way to use nCode’s parsing functions is as a way of extending the reach of an address searching operation. One of the limitations of address searching is that search results represent the set of real addresses that match all of the provided input criteria. Incompatible sets of input criteria will result in an empty result set. nCode provides the ability to run multiple consecutive searches with a variety of input criteria while merging the results into a single consolidated list. Parsing an input address and then searching for each parsed result gives you a search result that is broader than can be returned by a single call to the address searching methods. This approach is more forgiving of errors in your input search criteria.

The primary functions used for parsing are the nCode Toolkit’s abr_parse() API and the nCode Web Services Parse Address web method.

Pick The Right Tool For The Job

nCode gives you a powerful set of flexible tools that help you work with address data according to many various needs and scenarios. If you would like more information about the capabilities of the nCode API or if you would like guidance regarding how to get the most out of nCode, contact the address quality experts at Nova. We’re here to help.

Post a Reply