Places UI Kit: A ready-to-use library that provides room for customization and low-code development. Try it out, and share yourinput on your UI Kit experience.

Fix address - examples

This document describes a number of real-world scenarios where theAddress Validation API provides response signals that warrant afix behaviorfrom your system. The examples here are illustrative, but not exhaustive. SeeWorkflow overview inBuild your validation logic for context.

Tip: Open theAddress Validation demoand try validating the example addresses for yourself.

Common examples: fix

This section describes common examples where the Address Validation APIprovides response signals indicating lower quality address information.

Missing city and postal code

This example illustrates an entry having only the street address, with no cityor postal code.

Address enteredRegion
21 45 40th streetUSA

Verdict for missing city and postal code

The example below emphasizes the important signals from the response.

{  "inputGranularity": "PREMISE","validationGranularity": "OTHER",  "geocodeGranularity": "OTHER","hasUnconfirmedComponents": true}

These signals indicate a non-deliverable address, so you can query theaddressComponents to learn more:

{  "componentName": {    "text": "21",    "languageCode": "en"  },  "componentType": "street_number", "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"},{  "componentName": {    "text": "45 40th street",    "languageCode": "en"  },  "componentType": "route","confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"},{  "componentName": {    "text": "United States",    "languageCode": "en"  },  "componentType": "country",  "confirmationLevel": "CONFIRMED"}

The Address Validation API returns only the country (United States) asCONFIRMED.It returns all other address components asUNCONFIRMED_BUT_PLAUSIBLE, withsome important omissions to the data, such as locality and postal code.

Action: For this address, the recommended action is to prompt the user for the missing information.

Missing street number

This example shows a missing street number.

Address enteredRegion
Buckingham Palace Road, SW1W 9TQ LondonUK
Verdict for missing street number
{    "inputGranularity": "PREMISE_PROXIMITY","validationGranularity": "ROUTE",    "geocodeGranularity": "ROUTE"}

ThevalidationGranularity isROUTE, which indicates a match to the street,but not enough information to get to the premise. Additionally, theaddressComplete property is missing from the verdict, and therefore it isfalse. A further query of theaddressobject reveals a missing component type:

"missingComponentTypes": [        "street_number"      ]
Action: In this case, the recommended action is to prompt the user for the missing information.

Edge-case examples: fix

In some situations, whether you fix, confirm, or accept an addressdepends on your particular business scenario. The examples below illustratescenarios that might not strictly fall into a fix category.

Unconfirmed street number

In this scenario, the Address Validation API cannot confirm the supplied streetnumber, yet it indicates that the address is complete.

Address enteredRegion
84 Buckingham Palace Road, SW1W 9TQ, LondonUK

Verdict for unconfirmed street number

The example below emphasizes the important signals.

{"inputGranularity":"PREMISE","validationGranularity":"PREMISE_PROXIMITY","geocodeGranularity":"PREMISE_PROXIMITY","addressComplete":true,"hasUnconfirmedComponents":true}

It's worth investigating the combination of a validation granularity only topremise-level approximation along with unconfirmed components. A query of theaddressComponents property shows the following unconfirmedcomponentType:

{  "componentName": {    "text": "84",    "languageCode": "en"  },  "componentType": "street_number","confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"}

Here, theconfirmation_level of thestreet_number is set toUNCONFIRMED_BUT_PLAUSIBLE.Unconfirmed means that the service cannot matchthe street number of 84 in its dataset, andplausible means that thecomponent data could still be valid.

Action: You can either accept the input as entered, or confirm with thecustomer to determine if the street number entered was intended or an error.Your response depends on the level of risk associated with your delivery. SeeImplementation guidanceinBuild your validation logic.

Missing subpremise

This scenario describes an address that is only missing a subpremise, such as anapartment or department number. Otherwise, the Address Validation API can fullyvalidate the address. As is the case when any address component is missing, thetheaddressComplete isfalse and therefore not present on manual inspectionof the verdict.

Note: In some countries, the Address Validation API cannot detect amissing subpremise; while in the US, a missingSUB_PREMISE indicates anon-deliverable address.

To illustrate, suppose a customer enters a valid address for the San Franciscocity assessor's office, but misses the room number from the input.

Address enteredRegion
1 Doctor Carlton B Goodlett Place, San Francisco, CA 94102USA

Verdict for missing subpremise

In this example, the verdict does not display theaddressComplete property, sotherefore it isfalse. Because of this, you know that at least one addresselement is unexpected, unresolved, or missing.

{  "inputGranularity": "PREMISE",  "validationGranularity": "PREMISE",  "geocodeGranularity": "PREMISE",  "hasInferredComponents": true}

Anaddress query reveals the following:

"missingComponentTypes": [        "subpremise"      ]

Upon further inquiry, the USPS data provides adpvConfirmation code ofD, which also indicates a missing subpremise.

Action: For this address, the recommended action is to prompt the user for the missing information.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-11 UTC.