Skip to content
Get started

Verify

client.addressVerification.verify(AddressVerificationVerifyParamsparams, RequestOptionsoptions?): AddressVerificationVerifyResponse { data, message, status }
POST/v1/addver/verifications
  1. Structured Address — Verify and standardize a structured address (e.g., with line1, city, etc.).
  2. Freeform Address — Verify and standardize a freeform address written on one line. For best results, append the ISO 2-letter country code (e.g., US, CA) to the end of the line.
  • Specifying includeDetails=true will provide additional output as documented in the Details schema.
  • Uses 1 lookup for verification, and 1 more if geocoding (unless your contract says otherwise).
ParametersExpand Collapse
AddressVerificationVerifyParams = StandardFreeformAddressInput | StandardStructuredAddressInput
AddressVerificationVerifyParamsBase { address, geocode, includeDetails, properCase }
address: string

Body param: The address you want to verify, written on a single line.

geocode?: boolean

Query param

includeDetails?: boolean

Query param

properCase?: boolean

Query param

StandardFreeformAddressInput extends AddressVerificationVerifyParamsBase { address, geocode, includeDetails, properCase }
StandardStructuredAddressInput extends AddressVerificationVerifyParamsBase { address, geocode, includeDetails, properCase }
ReturnsExpand Collapse
AddressVerificationVerifyResponse { data, message, status }
data: Data { city, country, line1, 10 more }
city: string

The city name of the address.

country: string

The country code of the address.

line1: string

The first line of the address.

postalOrZip: string

The postal code or ZIP code of the address.

provinceOrState: string

The province or state of the address.

countryName?: string

The country name of the address.

details?: Details { boxID, county, countyNum, 43 more }

If you supply includeDetails=true as a query parameter, we will also populate an additional details field that follows the Address Details schema.

boxID?: string

PO Box ID

county?: string

County in the United States (US address only)

countyNum?: string

FIPS code for county (US address only)

deliveryInstallationAreaName?: string

Delivery installation area name

deliveryInstallationQualifier?: string

Delivery installation qualifier

deliveryInstallationType?: string

Delivery installation type

extraInfo?: string

Any extra information relevant to the address

postDirection?: string

The post-direction of the street (after the street name, US addresses only)

preDirection?: string

The pre-direction of the street (before the street name, US addresses only)

residential?: boolean

Indicates that the address is residential (US address only)

ruralRouteNumber?: string

Rural route number

ruralRouteType?: string

Rural route type

streetDirection?: string

The direction of the street (N, S, E, W, etc)

streetName?: string

Name of the street where the address is located

streetNumber?: string

Street number (e.g. the 20 in 20 Bay St)

streetType?: string

Type of the street (DR, ST, BLVD, etc)

suiteID?: string

The unit number/name

suiteKey?: string

The suite key

usCensusBlockNumber?: string

US Census block number

usCensusCMSA?: string

US Census consolidated metropolitan statistical area

usCensusMA?: string

US Census metropolitan area

usCensusMSA?: string

US Census metropolitan statistical area

usCensusPMSA?: string

US Census primary metropolitan statistical area

usCensusTractNumber?: string

US Census tract number

usCongressionalDistrictNumber?: string

US congressional district number

usHasDaylightSavings?: boolean

True if address location recognizes DST

usMailingCheckDigit?: string

PostNet barcode digit

usMailingsCarrierRoute?: string

4-character code assigned to mail delivery route within a 5 digit zip code

usMailingsDefaultFlag?: boolean

True if US address matches a high-rise default or rural route default in the USPS data

usMailingsDeliveryPoint?: string

Unique USPS identifier for the delivery point

usMailingsDpvConfirmationIndicator?: string
usMailingsDpvCrmaIndicator?: string

Y if this is a commercial mail receiving agency, N otherwise

usMailingsDpvFootnote1?: string
usMailingsDpvFootnote2?: string
usMailingsDpvFootnote3?: string
usMailingsElotAscDesc?: string

A for ascending, D for descending

usMailingsElotSequenceNumber?: string

eLOT sequence number

usMailingsEWSFlag?: string

Y if address is in early warning system database

usMailingsLACSFlag?: string

Y if address converted by LACS

usMailingsLACSReturnCode?: string

Corresponds to USPS LACSLink return code

usMailingsRecordTypeCode?: string
usMailingsSuiteLinkReturnCode?: string
usStateLegislativeLower?: string

Lower legislative district for the US address

usStateLegislativeUpper?: string

Upper legislative district for the US address

usTimeZone?: string

Time zone for the US address area

vacant?: boolean

Indicates that the address is vacant according to the USPS (US address only)

errors?: Errors { city, generic, line1, 2 more }

Errors encountered during address verification.

city?: Array<string>

Errors related to the city.

generic?: Array<string>

Generic errors not tied to a specific field.

line1?: Array<string>

Errors related to the first address line.

line2?: Array<string>

Errors related to the second address line.

provinceOrState?: Array<string>

Errors related to the province or state.

firmName?: string

The firm name of the address.

geocodeResult?: GeocodeResult { accuracy, accuracyType, location }

If the geocode=true query parameter is supplied, the response will include a geocodeResult which follows the Geocoding schema. You can request this feature be enabled by emailing [email protected]. This includes our verification, batch verification, suggestions, and POST /completions endpoint. Note that you must supply country when geocoding to get the result successfully.

accuracy: number

A real number from 0.00 to 1.00 which represents an accuracy score

accuracyType: "rooftop" | "point" | "range_interpolation" | 5 more

A string representing the accuracy type

One of the following:
"rooftop"
"point"
"range_interpolation"
"nearest_rooftop_match"
"intersection"
"street_center"
"place"
"state"
location: Location { lat, lng }

Object that contains lat, lng properties with number values

lat: number
lng: number
line2?: string

The second line of the address.

status?: Status

The verification status of an address.

One of the following:
"verified"
"corrected"
"failed"
zipPlus4?: string

The zip plus 4 code of the address.

message: string
status: "success" | "error"
One of the following:
"success"
"error"

Verify

import PostGrid from 'postgrid-node';

const client = new PostGrid({
  addressVerificationAPIKey: process.env['POSTGRID_ADDRESS_VERIFICATION_API_KEY'], // This is the default and can be omitted
});

const response = await client.addressVerification.verify({
  address: '1234 Elm St, Los Angeles, CA 90001, US',
});

console.log(response.data);
{
  "status": "success",
  "message": "Address verified successfully",
  "data": {
    "city": "Los Angeles",
    "country": "US",
    "line1": "1234 Elm St",
    "postalOrZip": "90001",
    "provinceOrState": "CA",
    "status": "verified",
    "errors": {}
  }
}
{
  "status": "success",
  "message": "Address verified successfully",
  "data": {
    "city": "Los Angeles",
    "country": "US",
    "line1": "1234 Elm St",
    "postalOrZip": "90001",
    "provinceOrState": "CA",
    "status": "verified",
    "errors": {}
  }
}
Returns Examples
{
  "status": "success",
  "message": "Address verified successfully",
  "data": {
    "city": "Los Angeles",
    "country": "US",
    "line1": "1234 Elm St",
    "postalOrZip": "90001",
    "provinceOrState": "CA",
    "status": "verified",
    "errors": {}
  }
}
{
  "status": "success",
  "message": "Address verified successfully",
  "data": {
    "city": "Los Angeles",
    "country": "US",
    "line1": "1234 Elm St",
    "postalOrZip": "90001",
    "provinceOrState": "CA",
    "status": "verified",
    "errors": {}
  }
}