> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.
# Directory
> Directory interface for managing addresses
Directory interface for managing addresses
This is the public API contract for address directory functionality.
It provides access to addresses, loading capabilities, and search functionality.
## **Extends**
* `AddressProvider
` (see [`Address`](/docs/browser-sdk/v4/reference/address))
## **Properties**
**`addresses`** `Address[]`
Current snapshot of all addresses in the directory
---
**`addresses$`** `Observable`
Observable stream of all addresses in the directory Emits a new array whenever addresses are added, removed, or updated
---
**`hasMore$`** `Observable`
Observable indicating whether more addresses can be loaded from the server
---
**`loading`** `boolean`
Whether the directory is currently loading.
---
**`loading$`** `Observable`
Observable indicating the current loading state Emits `true` when loading, `false` when idle
---
## **Methods**
### findAddressIdByURI()
```ts
findAddressIdByURI(uri): Promise
```
Find an address ID by searching for a name
#### Parameters
**`uri`** `string` — required
The address name to search for
---
#### Returns
`Promise`
Promise resolving to the address ID, or undefined if not found
---
### get()
```ts
get(addressId): Address | undefined
```
Get a specific address by ID
#### Parameters
**`addressId`** `string` — required
The address ID to retrieve
---
#### Returns
[`Address`](/docs/browser-sdk/v4/reference/address) | `undefined`
The address instance, or undefined if not found
---
### get\$()
```ts
get$(id): Observable | undefined
```
Get an observable stream for a specific address by ID
#### Parameters
**`id`** `string` — required
The address ID to retrieve
---
#### Returns
`Observable | undefined`
Observable of the address, or undefined if not found
#### Inherited from
`AddressProvider.get$`
---
### loadMore()
```ts
loadMore(): void
```
Load more addresses from the server
Only loads if `hasMore` is true
#### Returns
`void`
> Directory interface for managing addresses