---
title: Network
description: A library that provides access to the device's network such as its IP address, MAC address, and airplane mode status.
sourceCodeUrl: https://github.com/expo/expo/tree/sdk-53/packages/expo-network
packageName: expo-network
iconUrl: /static/images/packages/expo-network.png
platforms: ["android", "ios", "web", "tvos"]
---
`expo-network` provides useful information about the device's network such as its IP address, MAC address, and airplane mode status.
## Installation
## Configuration
On Android, this module requires permissions to access the network and Wi-Fi state. The permissions `ACCESS_NETWORK_STATE` and `ACCESS_WIFI_STATE` are added automatically.
## API
```js
```
## Error codes
| Code | Description |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ERR_NETWORK_IP_ADDRESS | On Android, there may be an unknown Wi-Fi host when trying to access `WifiManager` in `getIpAddressAsync`. On iOS, no network interfaces could be retrieved. |
| ERR_NETWORK_UNDEFINED_INTERFACE | An undefined `interfaceName` was passed as an argument in `getMacAddressAsync`. |
| ERR_NETWORK_SOCKET_EXCEPTION | An error was encountered in creating or accessing the socket in `getMacAddressAsync`. |
| ERR_NETWORK_INVALID_PERMISSION_INTERNET | There are invalid permissions for [`android.permission.ACCESS_WIFI_STATE`](https://developer.android.com/reference/android/Manifest.permission#ACCESS_WIFI_STATE) in `getMacAddressAsync`. |
| ERR_NETWORK_NO_ACCESS_NETWORKINFO | Unable to access network information |