ContactAddress
==============

**Secure context:** This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

**Experimental:** **This is an experimental technology**  
Check the Browser compatibility table carefully before using this in production.

The **`ContactAddress`** interface of the Contact Picker API represents a physical address. Instances of this interface are retrieved from the `address` property of the objects returned by `ContactsManager.getProperties()`.

It may be useful to refer to the Universal Postal Union website's Addressing S42 standard materials, which provide information about international standards for postal addresses.

Instance properties
-------------------

`ContactAddress.addressLine` Read only  
Experimental

An array of strings providing each line of the address not included among the other properties. The exact size and content varies by country or location and can include, for example, a street name, house number, apartment number, rural delivery route, descriptive instructions, or post office box number.

`ContactAddress.country` Read only  
Experimental

A string specifying the country in which the address is located, using the ISO-3166-1 alpha-2 standard. The string is always given in its canonical upper-case form. Some examples of valid `country` values: `"US"`, `"GB"`, `"CN"`, or `"JP"`.

`ContactAddress.city` Read only  
Experimental

A string which contains the city or town portion of the address.

`ContactAddress.dependentLocality` Read only  
Experimental

A string giving the dependent locality or sublocality within a city, for example, a neighborhood, borough, district, or UK dependent locality.

`ContactAddress.organization` Read only  
Experimental

A string specifying the name of the organization, firm, company, or institution at the address.

`ContactAddress.phone` Read only  
Experimental

A string specifying the telephone number of the recipient or contact person.

`ContactAddress.postalCode` Read only  
Experimental

A string specifying a code used by a jurisdiction for mail routing, for example, the ZIP code in the United States or the PIN code in India.

`ContactAddress.recipient` Read only  
Experimental

A string giving the name of the recipient, purchaser, or contact person at the address.

`ContactAddress.region` Read only  
Experimental

A string containing the top level administrative subdivision of the country, for example a state, province, oblast, or prefecture.

`ContactAddress.sortingCode` Read only  
Experimental

A string providing a postal sorting code such as is used in France.

Instance methods
----------------

`ContactAddress.toJSON()` 
Experimental

A standard serializer that returns a JSON representation of the `ContactAddress` object's properties.

Examples
--------

The following example prompts the user to select contacts, then prints the first returned address to the console.


```js
const props = ["address"];
const opts = { multiple: true };

async function getContacts() {
  try {
    const contacts = await navigator.contacts.select(props, ops);
    const contactAddress = contacts[0].address[0];
    console.log(contactAddress);
  } catch (ex) {
    // Handle any errors here.
  }
}
```

Specifications
--------------

| Specification |
| --- |
| Contact Picker API # contactaddress |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.