Address Validation (beta)

AddressValidation class

google.maps.addressValidation.AddressValidation class

Static class for accessing the AddressValidation APIs.

Access by calling const {AddressValidation} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

BetafetchAddressValidation
fetchAddressValidation(request)
Parameters: 
Return Value:  Promise<AddressValidation>
Betaaddress
Type:  Address optional
Information about the address itself as opposed to the geocode.
Betageocode
Type:  Geocode optional
Information about the location and place that the address geocoded to.
Betametadata
Type:  AddressMetadata optional
Other information relevant to deliverability. metadata is not guaranteed to be fully populated for every address sent to the Address Validation API.
BetaresponseId
Type:  string optional
The UUID that identifies this response. If the address needs to be re-validated, this UUID must accompany the new request.
BetauspsData
Type:  USPSData optional
Extra deliverability flags provided by USPS. Only provided in region US and PR.
Betaverdict
Type:  Verdict optional
Overall verdict flags
BetatoJSON
toJSON()
Parameters:  None
Return Value:  Object
Converts the AddressValidation class to a JSON object with the same properties.

AddressValidationRequest interface

google.maps.addressValidation.AddressValidationRequest interface

Request interface for BetaAddressValidation.fetchAddressValidation.

Betaaddress
The address being validated. Unformatted addresses should be submitted via PostalAddress.addressLines.
BetapreviousResponseId optional
Type:  string optional
This field must not be set for the first address validation request. If more requests are necessary to fully validate a single address (for example if the changes the user makes after the initial validation need to be re-validated), then each followup request must populate this field with the BetaAddressValidation.responseId from the very first response in the validation sequence.
BetauspsCASSEnabled optional
Type:  boolean optional
Enables USPS CASS compatible mode. This affects only the BetaAddressValidation.uspsData field of AddressValidation. Note: for USPS CASS enabled requests for addresses in Puerto Rico, a PostalAddress.regionCode of the address must be provided as "PR", or an PostalAddress.administrativeArea of the address must be provided as "Puerto Rico" (case-insensitive) or "PR".

Address class

google.maps.addressValidation.Address class

Details of the post-processed address. Post-processing includes correcting misspelled parts of the address, replacing incorrect parts, and inferring missing parts.

Access by calling const {Address} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

Betacomponents
The individual address components of the formatted and corrected address, along with validation information. This provides information on the validation status of the individual components.
BetaformattedAddress
Type:  string optional
The post-processed address, formatted as a single-line address following the address-formatting rules of the region where the address is located.
BetamissingComponentTypes
Type:  Array<string>
The types of components that were expected to be present in a correctly formatted mailing address but were not found in the input AND could not be inferred. Components of this type are not present in formatted_address, postal_address, or address_components. An example might be ['street_number', 'route'] for an input like "Boulder, Colorado, 80301, USA". The list of possible types can be found here.
BetapostalAddress
Type:  PostalAddress optional
The post-processed address represented as a postal address.
BetaunconfirmedComponentTypes
Type:  Array<string>
The types of the components that are present in the address_components but could not be confirmed to be correct. This field is provided for the sake of convenience: its contents are equivalent to iterating through the address_components to find the types of all the components where the BetaAddressComponent.confirmationLevel is not BetaConfirmationLevel.CONFIRMED or the BetaAddressComponent.inferred flag is not set to true. The list of possible types can be found here.
BetaunresolvedTokens
Type:  Array<string>
Any tokens in the input that could not be resolved. This might be an input that was not recognized as a valid part of an address (for example in an input like "123235253253 Main St, San Francisco, CA, 94105", the unresolved tokens may look like ["123235253253"] since that does not look like a valid street number.

AddressComponent class

google.maps.addressValidation.AddressComponent class

Represents a single component of an address (ex. street name, city).

Access by calling const {AddressComponent} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

BetacomponentName
Type:  string optional
The component name text. For example, "5th Avenue" for a street name or "1253" for a street number,
BetacomponentNameLanguageCode
Type:  string optional
The BCP-47 language code. This will not be present if the component name is not associated with a language, such as a street number.
BetacomponentType
Type:  string optional
The type of the address component. See Table 2: Additional types returned by the Places service for a list of possible types.
BetaconfirmationLevel
Type:  ConfirmationLevel optional
Indicates the level of certainty that the component is correct.
Betainferred
Type:  boolean
If true, this component was not part of the input, but was inferred for the address location. Including this component is recommended for a complete address.
Betareplaced
Type:  boolean
Indicates the name of the component was replaced with a completely different one. For example, replacing a wrong postal code being with one that is correct for the address. This is not a cosmetic change; the input component has been changed to a different one.
BetaspellCorrected
Type:  boolean
Indicates a correction to a misspelling in the component name. The API does not always flag changes from one spelling variant to another, such as "centre" to "center".
Betaunexpected
Type:  boolean
If true, this component is not expected to be present in a postal address for the given region. It has been retained only because it was part of the input.

AddressMetadata class

google.maps.addressValidation.AddressMetadata class

The metadata for the address. AddressMetadata is not guaranteed to be fully populated for every address sent to the Address Validation API.

Access by calling const {AddressMetadata} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

Betabusiness
Type:  boolean
BetapoBox
Type:  boolean
Betaresidential
Type:  boolean

ConfirmationLevel constants

google.maps.addressValidation.ConfirmationLevel constants

The different possible values indicating the level of certainty that the component is correct.

Access by calling const {ConfirmationLevel} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

BetaCONFIRMED
BetaUNCONFIRMED_AND_SUSPICIOUS
BetaUNCONFIRMED_BUT_PLAUSIBLE

Geocode class

google.maps.addressValidation.Geocode class

Contains information about the place the input was geocoded to.

Access by calling const {Geocode} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

Betabounds
Type:  LatLngBounds optional
The bounds of the geocoded place.
BetafeatureSizeMeters
Type:  number optional
The size of the geocoded place, in meters. This is another measure of the coarseness of the geocoded location, but in physical size rather than in semantic meaning.
Betalocation
Type:  LatLngAltitude optional
The geocoded location of the input.
BetaplaceId
Type:  string optional
The Place ID of the geocoded place. Using Place is preferred over using addresses, latitude/longitude coordinates, or plus codes. Using coordinates for routing or calculating driving directions will always result in the point being snapped to the road nearest to those coordinates. This may not be a road that will quickly or safely lead to the destination and may not be near an access point to the property. Additionally, when a location is reverse geocoded, there is no guarantee that the returned address will match the original.
BetaplaceTypes
Type:  Array<string>
The type(s) of place that the input geocoded to. For example, ['locality', 'political']. The full list of types can be found in the Geocoding API documentation.
BetaplusCode
Type:  PlusCode optional
The plus code corresponding to the location.
BetafetchPlace
fetchPlace()
Parameters:  None
Return Value:  None
Returns a Place representation of this Geocode. To get full place details, a call to place.fetchFields() should be made.

Granularity constants

google.maps.addressValidation.Granularity constants

The various granularities that an address or a geocode can have. When used to indicate granularity for an address, these values indicate with how fine a granularity the address identifies a mailing destination. For example, an address such as "123 Main Street, Redwood City, CA, 94061" identifies a PREMISE while something like "Redwood City, CA, 94061" identifies a LOCALITY. However, if we are unable to find a geocode for "123 Main Street" in Redwood City, the geocode returned might be of LOCALITY granularity even though the address is more granular.

Access by calling const {Granularity} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

BetaBLOCK The address or geocode indicates a block. Only used in regions which have block-level addressing, such as Japan.
BetaOTHER All other granularities, which are bucketed together since they are not deliverable.
BetaPREMISE Building-level result.
BetaPREMISE_PROXIMITY A geocode that approximates the building-level location of the address.
BetaROUTE The geocode or address is granular to route, such as a street, road, or highway.
BetaSUB_PREMISE Below-building level result, such as an apartment.

USPSAddress class

google.maps.addressValidation.USPSAddress class

USPS representation of a US address.

Access by calling const {USPSAddress} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

Betacity
Type:  string optional
The city name.
BetacityStateZipAddressLine
Type:  string optional
The address line containing the city, state, and zip code.
Betafirm
Type:  string optional
The name of the firm.
BetafirstAddressLine
Type:  string optional
The first line of the address.
BetasecondAddressLine
Type:  string optional
The second line of the address.
Betastate
Type:  string optional
The 2-letter state code.
Betaurbanization
Type:  string optional
The Puerto Rican urbanization name.
BetazipCode
Type:  string optional
The Postal code, e.g. "10009".
BetazipCodeExtension
Type:  string optional
The 4-digit postal code extension, e.g. "5023".

USPSData class

google.maps.addressValidation.USPSData class

The USPS data for the address. USPSData is not guaranteed to be fully populated for every US or PR address sent to the Address Validation API. It's recommended to integrate the backup address fields in the response if you utilize uspsData as the primary part of the response.

Access by calling const {USPSData} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

BetaabbreviatedCity
Type:  string optional
Abbreviated city.
BetaaddressRecordType
Type:  string optional
Type of the address record that matches the input address.
BetacarrierRoute
Type:  string optional
The carrier route code. A four character code consisting of a one letter prefix and a three digit route designator.
BetacarrierRouteIndicator
Type:  string optional
Carrier route rate sort indicator.
BetacassProcessed
Type:  boolean
Indicator that the request has been CASS processed.
Betacounty
Type:  string optional
County name.
BetadeliveryPointCheckDigit
Type:  string optional
The delivery point check digit. This number is added to the end of the delivery_point_barcode for mechanically scanned mail. Adding all the digits of the delivery_point_barcode, delivery_point_check_digit, postal code, and ZIP+4 together should yield a number divisible by 10.
BetadeliveryPointCode
Type:  string optional
The 2-digit delivery point code.
BetadpvCMRA
Type:  string optional
Indicates if the address is a CMRA (Commercial Mail Receiving Agency)--a private business receiving mail for clients. Returns a single character.
BetadpvConfirmation
Type:  string optional
The possible values for DPV confirmation. Returns a single character or returns no value.
BetadpvDoorNotAccessible
Type:  string optional
Flag indicates addresses where USPS cannot knock on a door to deliver mail. Returns a single character.
BetadpvDrop
Type:  string optional
Flag indicates mail is delivered to a single receptable at a site. Returns a single character.
BetadpvEnhancedDeliveryCode
Type:  string optional
Indicates that more than one DPV return code is valid for the address. Returns a single character.
BetadpvFootnote
Type:  string optional
The footnotes from delivery point validation. Multiple footnotes may be strung together in the same string.
BetadpvNonDeliveryDays
Type:  string optional
Flag indicates mail delivery is not performed every day of the week. Returns a single character.
BetadpvNonDeliveryDaysValues
Type:  number optional
Integer identifying non-delivery days. It can be interrogated using bit flags: 0x40 – Sunday is a non-delivery day 0x20 – Monday is a non-delivery day 0x10 – Tuesday is a non-delivery day 0x08 – Wednesday is a non-delivery day 0x04 – Thursday is a non-delivery day 0x02 – Friday is a non-delivery day 0x01 – Saturday is a non-delivery day
BetadpvNoSecureLocation
Type:  string optional
Flag indicates door is accessible, but package will not be left due to security concerns. Returns a single character.
BetadpvNoStat
Type:  string optional
Is this a no stat address or an active address? No stat addresses are ones which are not continuously occupied or addresses that the USPS does not service. Returns a single character.
BetadpvNoStatReasonCode
Type:  number optional
Indicates the NoStat type. Returns a reason code as int.
BetadpvPBSA
Type:  string optional
Indicates the address was matched to PBSA record. Returns a single character.
BetadpvThrowback
Type:  string optional
Indicates that mail is not delivered to the street address. Returns a single character.
BetadpvVacant
Type:  string optional
Is this place vacant? Returns a single character.
BetaelotFlag
Type:  string optional
eLOT Ascending/Descending Flag (A/D).
BetaelotNumber
Type:  string optional
Enhanced Line of Travel (eLOT) number.
BetaerrorMessage
Type:  string optional
Error message for USPS data retrieval. This is populated when USPS processing is suspended because of the detection of artificially created addresses.
BetafipsCountyCode
Type:  string optional
FIPS county code.
BetahasDefaultAddress
Type:  boolean
Indicator that a default address was found, but more specific addresses exist.
BetahasNoEWSMatch
Type:  boolean
The delivery address is matchable, but the EWS file indicates that an exact match will be available soon.
BetalacsLinkIndicator
Type:  string optional
LACSLink indicator.
BetalacsLinkReturnCode
Type:  string optional
LACSLink return code.
BetapmbDesignator
Type:  string optional
PMB (Private Mail Box) unit designator.
BetapmbNumber
Type:  string optional
PMB (Private Mail Box) number.
BetapoBoxOnlyPostalCode
Type:  boolean
PO Box only postal code.
BetapostOfficeCity
Type:  string optional
Main post office city.
BetapostOfficeState
Type:  string optional
Main post office state.
BetastandardizedAddress
Type:  USPSAddress optional
USPS standardized address.
BetasuiteLinkFootnote
Type:  string optional
Footnotes from matching a street or highrise record to suite information. If business name match is found, the secondary number is returned.

Verdict class

google.maps.addressValidation.Verdict class

Represents the post-processed address for the supplied address.

Access by calling const {Verdict} = await google.maps.importLibrary("addressValidation").
See Libraries in the Maps JavaScript API.

BetaaddressComplete
Type:  boolean
The address is considered complete if there are no unresolved tokens, no unexpected or missing address components. If unset, indicates that the value is false. See BetaAddress.missingComponentTypes, BetaAddress.unresolvedTokens or BetaAddressComponent.unexpected fields for more details.
BetageocodeGranularity
Type:  Granularity optional
Information about the granularity of the Geocode. This can be understood as the semantic meaning of how coarse or fine the geocoded location is.
BetahasInferredComponents
Type:  boolean
At least one address component was inferred (i.e. added) that wasn't in the input, see AddressComponent for details.
BetahasReplacedComponents
Type:  boolean optional
At least one address component was replaced - see AddressComponent for details.
BetahasUnconfirmedComponents
Type:  boolean
At least one address component cannot be categorized or validated, see AddressComponent for details.
BetainputGranularity
Type:  Granularity optional
The granularity of the input address. This is the result of parsing the input address and does not give any validation signals. For validation signals, refer to validationGranularity.
BetavalidationGranularity
Type:  Granularity optional
The granularity level that the API can fully validate the address to. For example, a validationGranularity of PREMISE indicates all address components at the level of PREMISE and broader can be validated.