# Service Endpoints

Reference list of endpoints for Soracom services.

> [!WARNING]
>
> While Soracom has never changed the IP addresses of its service endpoints, we can't guarantee that they won't change in the future. If you need to use IP addresses, ensure they remain configurable or refresh them periodically from DNS.

## Soracom Air for Cellular

When connecting to a cellular network using a Soracom IoT SIM card, your device should be configured with the following APN settings:

| Item | Global | Japan |
| - | - | - |
| **Plans** | plan01s plan01s - LDV plan-US plan-US-max plan-US-NA planP1 planM1 planV1 planX1 planX2 planX3 planX3-EU planNT1 | plan-D plan-K plan-K2 plan-KM1 plan-DU |
| **APN** | `soracom.io` | `soracom.io` |
| **Username** | `sora` | `sora` |
| **Password** | `sora` | `sora` |
| **PDP Type** | `IP` | `IP` |
| **Authentication Type** | `CHAP or PAP` | `CHAP or PAP` |

> [!WARNING]
>
> 4G/LTE and newer devices are often able to automatically retrieve the `soracom.io` **APN** setting directly from the network. However, for 2G and 3G connections, the APN must be configured on the device in advance. In general, you should configure the APN setting whenever possible.
>
> When a device uses a Soracom SIM to connect to a cellular network, Soracom will authenticate the device using credentials that are stored inside the SIM. In turn, the **Username** and **Password** settings can be treated as optional and omitted. However, these settings are provided in order to support devices that do not allow these settings to be omitted.

## Ping Response Service

You can use the Ping Response Service to confirm that a device can reach the Soracom network. To do so, `ping` the endpoint:

| Item | Interface | Global | Japan | IP Address |
| - | - | - | - | - |
| **Ping Response Service** | Cellular or Arc | `pong.soracom.io` | `pong.soracom.io` | `100.127.100.127` |

> [!WARNING]
>
> If a device cannot reach the Soracom Ping Response Service (`pong.soracom.io`), another device or server may respond as a proxy. Verify that the IP address shown in the first line of ping output (e.g., `PING pong.soracom.io (100.127.100.127)`) is within the `100.64.0.0/10` range (100.64.0.0 - 100.127.255.255).

## Soracom Beam

When sending data to Beam, your device should use the following endpoints:

**Air for Cellular** and **Arc** device endpoints:

| Entry Point | Interface | Global | Japan |
| - | - | - | - |
| **HTTP** | Cellular or Arc | `http://beam.soracom.io:8888` or `http://100.127.127.100:8888` | `http://beam.soracom.io:8888` or `http://100.127.127.100:8888` |
| **Website** | Cellular or Arc | `http://beam.soracom.io:18080` or `http://100.127.127.100:18080` | `http://beam.soracom.io:18080` or `http://100.127.127.100:18080` |
| **MQTT** | Cellular or Arc | `mqtt://beam.soracom.io:1883` or `mqtt://100.127.127.100:1883` | `mqtt://beam.soracom.io:1883` or `mqtt://100.127.127.100:1883` |
| **TCP → TCP/TCPS** | Cellular or Arc | `tcp://beam.soracom.io:8023` or `tcp://100.127.127.100:8023` | `tcp://beam.soracom.io:8023` or `tcp://100.127.127.100:8023` |
| **TCP → HTTP/HTTPS** | Cellular or Arc | `tcp://beam.soracom.io:23080` or `tcp://100.127.127.100:23080` | `tcp://beam.soracom.io:23080` or `tcp://100.127.127.100:23080` |
| **UDP → HTTP/HTTPS** | Cellular or Arc | `udp://beam.soracom.io:23080` or `udp://100.127.127.100:23080` | `udp://beam.soracom.io:23080` or `udp://100.127.127.100:23080` |
| **SMS → HTTP/HTTPS** | Cellular | `901011` | |
| **USSD → HTTP/HTTPS** | Cellular | `*901011*{data}#` | |

**Air for Sigfox** and **Air for LoRaWAN** devices do not require endpoint configuration.

**Inventory** devices with resources where `observe` is enabled will automatically send resource data, and do not require endpoint configuration.

## Soracom Endorse

When requesting a token from Endorse, your **Air for Cellular** or **Arc** device should use the following endpoint:

| Action | Interface | Global | Japan |
| - | - | - | - |
| **Request Token** | Cellular or Arc | `https://endorse.soracom.io` or `https://54.250.252.67` | `https://endorse.soracom.io` or `https://54.250.252.67` |

## Soracom Funnel

When sending data to Funnel, your device should use the following endpoints:

**Air for Cellular** and **Arc** device endpoints:

| Entry Point | Interface | Global | Japan |
| - | - | - | - |
| **TCP** | Cellular or Arc | `tcp://funnel.soracom.io:23080` or `tcp://100.127.65.43:23080` | `tcp://funnel.soracom.io:23080` or `tcp://100.127.65.43:23080` |
| **UDP** | Cellular or Arc | `udp://funnel.soracom.io:23080` or `udp://100.127.65.43:23080` | `udp://funnel.soracom.io:23080` or `udp://100.127.65.43:23080` |
| **HTTP** | Cellular or Arc | `http://funnel.soracom.io` or `http://100.127.65.43` | `http://funnel.soracom.io` or `http://100.127.65.43` |
| **SMS** | Cellular | `901021` | |
| **USSD** | Cellular | `*901021*{data}#` | |

**Air for Sigfox** and **Air for LoRaWAN** devices do not require endpoint configuration.

**Inventory** devices with resources where `observe` is enabled will automatically send resource data, and do not require endpoint configuration.

## Soracom Funk

When sending data to Funk, your device should use the following endpoints:

**Air for Cellular** and **Arc** device endpoints:

| Entry Point | Interface | Global | Japan |
| - | - | - | - |
| **TCP** | Cellular or Arc | `tcp://funk.soracom.io:23080` or `tcp://100.127.19.64:23080` | `tcp://funk.soracom.io:23080` or `tcp://100.127.19.64:23080` |
| **UDP** | Cellular or Arc | `udp://funk.soracom.io:23080` or `udp://100.127.19.64:23080` | `udp://funk.soracom.io:23080` or `udp://100.127.19.64:23080` |
| **HTTP** | Cellular or Arc | `http://funk.soracom.io` or `http://100.127.19.64` | `http://funk.soracom.io` or `http://100.127.19.64` |
| **SMS** | Cellular | `901041` | |
| **USSD** | Cellular | `*901041*{data}#` | |

**Air for Sigfox** and **Air for LoRaWAN** devices do not require endpoint configuration.

**Inventory** devices with resources where `observe` is enabled will automatically send resource data, and do not require endpoint configuration.

## Soracom Harvest Data

When sending data to Harvest Data, your device should use the following endpoints:

**Air for Cellular** and **Arc** device endpoints:

| Entry Point | Interface | Global | Japan |
| - | - | - | - |
| **HTTP** | Cellular or Arc | `http://harvest.soracom.io` or `http://100.127.111.111` | `http://harvest.soracom.io` or `http://100.127.111.111` |
| **TCP** | Cellular or Arc | `tcp://harvest.soracom.io:8514` or `tcp://100.127.111.111:8514` | `tcp://harvest.soracom.io:8514` or `tcp://100.127.111.111:8514` |
| **UDP** | Cellular or Arc | `udp://harvest.soracom.io:8514` or `udp://100.127.111.111:8514` | `udp://harvest.soracom.io:8514` or `udp://100.127.111.111:8514` |
| **SMS** | Cellular | `901031` | |
| **USSD** | Cellular | `*901031*{value}#` | |

**Air for Sigfox** and **Air for LoRaWAN** devices do not require endpoint configuration.

**Inventory** devices with resources where `observe` is enabled will automatically send resource data, and do not require endpoint configuration.

**Inventory** devices can also send arbitrary data by making HTTP POST requests on any interface to the Soracom API. See the [Data Collection](https://docs.soracom.io/en/services/inventory/data-collection) documentation for more information.

## Soracom Harvest Files

When uploading files to Harvest Files, your device should use the following endpoint:

**Air for Cellular** and **Arc** device endpoints:

| Entry Point | Interface | Global | Japan |
| - | - | - | - |
| **HTTP** | Cellular or Arc | `http://harvest-files.soracom.io` or `http://100.127.111.48` | `http://harvest-files.soracom.io` or `http://100.127.111.48` |

A file path and filename may be appended to the request URL in order to specify the location where the file should be saved within Harvest Files. For more information, refer to the [Harvest Files: Uploading Files](https://docs.soracom.io/en/services/harvest/uploading-files) documentation.

Uploading files using other protocols, or using Air for Sigfox, Air for LoRaWAN, or Soracom Inventory devices, is not supported.

## Soracom Inventory

When managing devices with Inventory, your device's LwM2M agent should connect to the following servers:

| Server | Interface | Global | Japan |
| - | - | - | - |
| **Bootstrap** | Cellular or Arc | `coap://bootstrap.soracom.io:5683` or `coap://100.127.56.83:5683` | `coap://bootstrap.soracom.io:5683` or `coap://100.127.56.83:5683` |
| **Device Management** | Any | `coaps://g.inventory.soracom.io:5684` or `coaps://3.127.172.144:5684` | `coaps://jp.inventory.soracom.io:5684` or `coaps://54.249.138.115:5684` |

## Soracom Orbit

When sending data to Orbit, your device should use the following endpoints:

| Entry Point | Interface | Global | Japan |
| - | - | - | - |
| **TCP** | Cellular or Arc | `tcp://unified.soracom.io:23080` or `tcp://100.127.69.42:23080` | `tcp://unified.soracom.io:23080` or `tcp://100.127.69.42:23080` |
| **UDP** | Cellular or Arc | `udp://unified.soracom.io:23080` or `udp://100.127.69.42:23080` | `udp://unified.soracom.io:23080` or `udp://100.127.69.42:23080` |
| **HTTP** | Cellular or Arc | `http://unified.soracom.io:80` (or `:8888`) or `http://100.127.69.42` | `http://unified.soracom.io:80` (or `:8888`) or `http://100.127.69.42` |
| **SMS** | Cellular | `901001` | |
| **USSD** | Cellular | `*901001*{data}#` | |

For **TCP**, **UDP**, and **HTTP** entry points, you can also use `uni.soracom.io`.

## Unified Endpoint

When sending data to Unified Endpoint, your device should use the following endpoints:

**Air for Cellular** and **Arc** device endpoints:

| Entry Point | Interface | Global | Japan |
| - | - | - | - |
| **TCP** | Cellular or Arc | `tcp://unified.soracom.io:23080` or `tcp://100.127.69.42:23080` | `tcp://unified.soracom.io:23080` or `tcp://100.127.69.42:23080` |
| **UDP** | Cellular or Arc | `udp://unified.soracom.io:23080` or `udp://100.127.69.42:23080` | `udp://unified.soracom.io:23080` or `udp://100.127.69.42:23080` |
| **HTTP** | Cellular or Arc | `http://unified.soracom.io:80` (or `:8888`) or `http://100.127.69.42` | `http://unified.soracom.io:80` (or `:8888`) or `http://100.127.69.42` |
| **SMS** | Cellular | `901001` | |
| **USSD** | Cellular | `*901001*{data}#` | |

For **TCP**, **UDP**, and **HTTP** entry points, you can also use `uni.soracom.io`.

**Air for Sigfox** and **Air for LoRaWAN** devices do not require endpoint configuration.

**Inventory** devices with resources where `observe` is enabled will automatically send resource data, and do not require endpoint configuration.

## Soracom APIs

When using the Soracom API, use the following endpoints:

| Item | Interface | Global | Japan |
| - | - | - | - |
| **Soracom API** | Any | `https://g.api.soracom.io` | `https://api.soracom.io` or `https://jp.api.soracom.io` |
| **Soracom Endorse API** | Any | `https://g.api.soracom.io` | |
| **Soracom Krypton API** | Cellular | `https://krypton.soracom.io:8036` | `https://krypton.soracom.io:8036` |

## Metadata Service

When using the Metadata Service, your device should use the following endpoint:

| Item | Interface | Global | Japan |
| - | - | - | - |
| **Metadata Service** | Cellular or Arc | `http://metadata.soracom.io`, `https://metadata.soracom.io`, `http://100.127.100.127`, or `https://100.127.100.127` | `http://metadata.soracom.io`, `https://metadata.soracom.io`, `http://100.127.100.127`, or `https://100.127.100.127` |

## DNS Server

When a device using an IoT SIM establishes a session, the IPv4 address and DNS server provided by the Soracom platform are automatically configured. Devices can use this DNS server for name resolution.

| Item | Interface | Global | Japan |
| - | - | - | - |
| **DNS Server** | Cellular or Arc | `100.127.0.53` or `100.127.1.53` | `100.127.0.53` or `100.127.1.53` |

The DNS server IP addresses `100.127.0.53` and `100.127.1.53` are part of the Soracom platform's internal address space (100.64.0.0/10 - Shared Address Space [RFC6598](https://www.rfc-editor.org/rfc/rfc6598.txt)). These addresses are automatically configured when a device establishes a cellular session and are accessible from both cellular and Arc interfaces.

## NTP Server

Soracom provides an internal NTP server to allow devices that may not have internet access to keep accurate time.

| Item | Interface | Global | Japan |
| - | - | - | - |
| **NTP Server** | Cellular or Arc | `ntp.soracom.io` or `100.127.0.123` | `ntp.soracom.io` or `100.127.0.123` |

The NTP server IP address `100.127.0.123` is part of the Soracom platform's internal address space (100.64.0.0/10 - Shared Address Space [RFC6598](https://www.rfc-editor.org/rfc/rfc6598.txt)). This address is accessible from both cellular and Arc interfaces.

> [!WARNING]
>
> The Soracom NTP server uses Leap Smearing to smooth out leap second adjustments, eliminating the need to worry about application errors caused by leap second additions.
