NCOA Live Best Practices for Contact Address Validation

If you want to use our National Change-of-Address web service, DOTS NCOA Live, for contact address validation but are hesitant to dive in due to the complex nature of the service; this article is meant to set your worries aside. This blog will serve as a comprehensive guide to getting the most out of your NCOA Live subscription while addressing common questions, pitfalls, and recommended workflows. Additional information can also be found in our NCOA Live developer guide. With NCOA Live, businesses can easily update address information to maintain accurate and up-to-date contact records by accessing the USPS dataset of mail forwarding notifications.

Filling Out the Processing Acknowledgement Form

Before you can begin using NCOA Live, the USPS requires you to complete their simple Processing Acknowledgement Form (PAF) to access change-of-address data. Most of the fields in this form will be straightforward. You can look up your North American Industry Classification System (NAICS) code and business address here. To ensure correct PAF filing, we recommend using the USPS lookup tool to confirm your address and some of the additional details that the PAF requires. Please see the image below for reference.

Ensure accurate and up-to-date contact address validation and maintain your competitive edge with DOTS NCOA Live from Service Objects.

Ensuring that your address has a ZIP+4 and a DPV Confirmation Indicator of “Y” will prevent any issues in the filing process.

Getting Your License Key and Service Endpoints

After successful filing the PAF, we will provide a license key and the service endpoint. These items will enable requests to the NCOA Live web service to check for change-of-addresses. Due to the flexible nature of our services, NCOA Live is accessible from almost any tool or programming language that can make a web service call. Specific coding examples for the service can be found in our developer guide’s sample code section.

We have sample code in most of the popular programming languages, including PHP, JAVA, Ruby, Python, ColdFusion, and C#, just to name a few. We can also provide customized code if needed and our Application Engineering team would be happy to answer any questions you may have about integrations and programming language-specific concerns.

Handling JobID Creation

Arguably the most challenging aspect of the NCOA Live web service is the USPS requirement that submissions for change-of-address lookups include an open JobID. The JobID links to your account and keeps track of the transactions you run. Each new JobID remains valid for one week, expiring at 11:50 pm Sunday evening. Opening a new JobID requires the following:

  1. Building an array of 100-500 addresses (100 minimum to create a job)
  2. Creating a personalized JobID (alpha-numeric string of fewer than 50 characters)
  3. Submitting the addresses, JobID, and license key to the “RunNCOA Live” operation

After submitting the initial 100-500 records for the current week’s JobID, anywhere from 1-500 records can be processed per batch. Every transaction run during that week will operate under this new JobID. At the end of the week, the JobID closes, and we update the internal change-of-address data that powers our service. The following week, another NCOA Live operation can be initiated with a new JobID following the steps listed above.

Checking for Errors and Parsing the Response

The first step to safely parsing the response is to check for any root level errors. Root level errors are largely uncommon and generally related to issues with the service or license key. If root errors appear, please don’t hesitate to contact Service Objects and we will work with you to resolve them. If there are no root level errors, you can start working with the valid response data.

The NCOA Live response returns a result with multiple nested fields. See table below for the response fields and a brief description.

RunNCOA Live Outputs

Parent ObjectChildValuesDescription
NameInVariesThe raw input name.
RawInputAddressAddressVariesThe raw input address line.
Address2VariesThe raw input address2 line.
CityVariesThe raw input city.
StateVariesThe raw input state.
ZipVariesThe raw input Zip code.
CASSInputAddressAddressVariesThe standardized address line.
Address2VariesThe standardized secondary.
CityVariesThe standardized city name.
StateVariesThe standardized state.
ZipVariesThe standardized Zip+4
USPSFootnotesVariesA concatenated string of relevant 2-digit USPS "Footnote" codes that give additional information about the input address.
NCOAMatchNameMatchVaries
The name that matched the COA record.
AddressVariesThe primary address line that the resident moved to.
Address2VariesThe secondary address line.
CityVariesThe city name.
StateVariesThe state abbreviation.
ZipVariesThe Zip+4.
CarrierRouteVariesThe Carrier Route code for the COA address.
BarcodeDigitsVariesThe PostNet barcode for the COA address.
COAFoundWhether or not a match was found in the COA data. Does not imply that a valid address could be found.
NCOAReturnCodeVariesThe USPS's NCOALink Return Code providing additional information about the nature of the COA match.
NCOAReturnCodeDescVaries
Short English description of the COA information. Longer descriptions found below.
ExtendedNCOAReturnCode(See below)USPS's Extended NCOA Return Code comprising a series of key/value strings.
DiagnosticsDiscountCode1-4A code representing discount level.
DiscountDescription(See below)An English description of the discount level.
StatusCode2-8A code representing the level of quality of the input address post-validation. Higher is better.
StatusDescription(See below)An English description of the level of quality of the input address post-validation.
ServiceFlagsVariesUSPS Service Flags output explains what additional address services were run such as RDI, eLOT, etc.
ErrorTypeVariesEnglish description of the error type. See "Error Codes" below.
TypeCode1,2,3,4Unique error type code. See "Errors" below.
DescVariesEnglish description of the error. See "Errors" below.
DescCodeVariesUnique code for the error. See "Errors" below.
JobIDVariesThe JobId sent to the service.

The response data comes back as a list of results corresponding to the addresses submitted. If specific address errors are detected at this level, they fall under our Domain Specific errors and apply to individual addresses. Reading the error’s description provides insight into why the service was not able to validate or return change-of-address information. Detailed notes about the individual error codes are available in the developer guide and can be seen in the table below.

Error Type 4: Domain Specific

DescCodeDescription
1Job not found for this License Key.The job does not exist. Please try again with a different job id. *
2Job has been closed.The job can no longer be used. Please try again with a new job id. *
3First transaction of a job must contain 100 records or more.Please try again with at least 100 unique and valid addresses. *
4Issue connecting to NCOA engine.Please try again. If the issue persists then please contact technical support. *
5Street not found.Indicates that the street name was not found for the general area (city/state or zip).
6Address not found.Indicates that a reliable address candidate was not found. Portions of the address may be incorrect or it may be too ambiguous to return a reliable candidate.
7Street number or box number out of range.The address is invalid. The street and area appear to be correct but the number is wrong.
8Multiple addresses match.Indicates that multiple candidates were found that are equally likely given the input.
9nsufficient address data. Indicates that a reliable address candidate was not found. Portions of the address may be missing or incorrect.
10DPV Lockout. Contact Service Objects immediately.Returned for a specific type of address case known as a false positive.
11Request cannot contain more than 500 addresses. Please try again with no more than 500 addresses in a single request. *
12License Key is not linked to a valid PAF Id. Please contact Service Objects and complete a USPS NCOA Processing Acknowledgement Form (PAF) to register your license key with the service. *
13
Performing weekly NCOA data update. Please try again in a few minutes with a new Job Id.
USPS releases new NCOALink data every week and requires that we use the newest data, so we must close all jobs using the older dataset. *
14Expired PAF agreement. Please contact Service Objects. Your USPS NCOA Processing Acknowledgement Form (PAF) has expired. Please contact Service Objects to renew and continue using the service. *
15Unable to create new NCOA Job. Please try again. If the problem persists then please contact Service Objects.There was a problem creating the new job. Please contact Service Objects and notify technical support of the error. *
* This is not a billable error and it will not count as a transaction against the license key.

The flexible framework of NCOA Live’s outputs allows you to integrate the results into your application to best meet your needs. We recommend exploring the various outputs such as the RawInputAddress, CASSInputAddress, and likely the most relevant information, the NCOAMatch. Because it delivers new address information in real-time, the NCOA Live service can be easily integrated into existing workflows and databases.

Maintain Better Mailing Lists with Easy Contact Address Validation

The USPS National Change-of-Address database provides a valuable resource for organizations who depend on up-to-date contact data. NCOA Live leverages the USPS dataset of forwarding notifications with a flexible API interface to provide you with the latest address information for clients and prospects. More details on all the elements of our NCOA Live service are available in our developer guide. And we are always here to help you with any questions or integration challenges you may encounter. Don’t hesitate to reach out to us today!