# eSIMs API

Prepaid data eSIMs for single countries, regions and the whole world, sold by the eSIM providers on the exchange, such as Airalo and eSimplified. Purchases are charged to an account balance and return the activation code, LPA string and QR code at once.

## List eSIM countries

`GET https://apiv2.telecomsxchange.com/buyers/esim/countries`

Reference: https://help.telecomsxchange.com/reference/esims/#list-esim-countries

Lists the country names, followed by the region names, you can pass as country to Market View (eSIM). Country names are upper case (for example JAPAN); region names are as the sellers define them (for example Europe). Free.

> The list covers every country TCXC knows, not only countries with packages. The call can take several seconds.

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X GET \
  "https://apiv2.telecomsxchange.com/buyers/esim/countries"
```

### Response: Example

```json
{
  "status": "success",
  "countries": [
    {
      "country": "AFGHANISTAN"
    },
    {
      "country": "ALBANIA"
    },
    {
      "country": "Europe"
    }
  ]
}
```

## Market View (eSIM)

`POST https://apiv2.telecomsxchange.com/buyers/esim/market`

Reference: https://help.telecomsxchange.com/reference/esims/#market-view-esim

Searches eSIM data packages for a country, a region or worldwide (Global). Returns each package's ID, name, validity, data allowance, networks, supported countries, seller and price_with_fee (USD, including the TCXC commission). Packages listed for the exact country come first, then by price. Free.

> The first search for a country can take several seconds. max_price and data_GB values other than those listed return a plain-text error instead of results; filter by price_with_fee and data_gb in your own code.

### Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `country` | string | body | yes | Country name from List eSIM countries (for example JAPAN), a region name such as Europe, or Global for worldwide packages. Case does not matter. Example `JAPAN`. |
| `i_vendor` | integer | body | no | Search only this seller, by ID. 0 or empty searches all sellers. Example `484`. |
| `esim_vendor` | string | body | no | Seller login to search, for example eSIMP. Ignored when i_vendor is set; an unknown login searches all sellers. Example `eSIMP`. |
| `data_GB` | number | body | no | Data allowance range: 0.5 (0.5 to 1 GB), 1 (1 to 5 GB), 5 (5 to 10 GB), 10 (10 to 20 GB). One of `0.5`, `1`, `5`, `10`. Example `1`. |
| `validity_days` | integer | body | no | Validity range: 1 (1 to 7 days), 7 (7 to 15), 15 (15 to 30), 30 (30 to 60), 60 (60 to 90), 90 (90 or more). One of `1`, `7`, `15`, `30`, `60`, `90`. Example `30`. |
| `pager` | integer | body | no | Packages to return per seller, not in total. Default `20`. Example `5`. |
| `off` | integer | body | no | Offset within each seller's results. Default `0`. Example `0`. |

### Errors

| Message | When |
|---|---|
| `country parameter is required` | country is empty |

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X POST \
  "https://apiv2.telecomsxchange.com/buyers/esim/market" \
  -d country=JAPAN \
  -d i_vendor=484 \
  -d esim_vendor=eSIMP \
  -d data_GB=1 \
  -d validity_days=30 \
  -d pager=5 \
  -d off=0
```

### Response: Market View (eSIM) - Success

```json
{
  "status": "success",
  "search_results": [
    {
      "i_esim_package": "1306",
      "i_vendor": "484",
      "country_code": "jp",
      "name": "Japan 1 GB 7 Days",
      "validity_days": "7",
      "data_gb": "1",
      "networks": "KDDI Rakuten Mobile Inc.",
      "vendor_login": "eSIMP",
      "price_with_fee": "3.49",
      "supported_countries": [
        {
          "country_name": "JAPAN",
          "country_code": "JP"
        }
      ]
    },
    {
      "i_esim_package": "1307",
      "i_vendor": "484",
      "country_code": "jp",
      "name": "Japan 3 GB 15 Days",
      "validity_days": "15",
      "data_gb": "3",
      "networks": "",
      "vendor_login": "eSIMP",
      "price_with_fee": "7.99",
      "supported_countries": [
        {
          "country_name": "JAPAN",
          "country_code": "JP"
        }
      ]
    },
    {
      "i_esim_package": "1308",
      "i_vendor": "484",
      "country_code": "jp",
      "name": "Japan 5 GB 30 Days",
      "validity_days": "30",
      "data_gb": "5",
      "networks": "KDDI Rakuten Mobile Inc.",
      "vendor_login": "eSIMP",
      "price_with_fee": "11.99",
      "supported_countries": [
        {
          "country_name": "JAPAN",
          "country_code": "JP"
        }
      ]
    },
    "… 2 more items"
  ]
}
```

## Purchase an eSIM

`POST https://apiv2.telecomsxchange.com/buyers/esim/purchase`

Reference: https://help.telecomsxchange.com/reference/esims/#purchase-an-esim

Buys an eSIM package from Market View (eSIM). Charges the package price plus the TCXC commission to the account (or the account whose balance it uses) and returns the ICCID, the LPA activation string, a PNG QR code in base64 and an iOS install link, ready to install. Available funds are checked against the listed price before buying.

> Error replies carry their text in a key named `messsage` (three s), not `message`. The amount charged is the final package price at the moment of purchase plus commission, which can differ slightly from the listed price_with_fee.

### Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `i_esim_package` | integer | body | yes | Package ID from Market View (eSIM). Example `1306`. |
| `i_account` | integer | body | yes | Your account to charge. It needs balance plus credit limit of at least the package's price_with_fee. Example `1501`. |

### Errors

| Message | When |
|---|---|
| `i_esim_package parameter is required to identify the package` | i_esim_package is missing or 0 |
| `i_account parameter is required` | i_account is missing or 0 |
| `Package not found` | no package has this ID |
| `Package not found (3)` | the package's seller is no longer available |
| `Account not found` | i_account is not one of your accounts |
| `Insufficient available funds (own) for selected account` | the account's balance plus credit limit is below the package price with commission |
| `Insufficient available funds (use balance of) for selected account` | the account uses another account's balance and that account cannot cover the price |
| `Package is not available anymore, please retry market search to get the updated list of packages` | the package is no longer offered |
| `Purchase process encountered unexpected error, please retry market search to get the updated list of packages` | the eSIM could not be issued |

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X POST \
  "https://apiv2.telecomsxchange.com/buyers/esim/purchase" \
  -d i_esim_package=1306 \
  -d i_account=1501
```

### Response: Example

```json
{
  "status": "success",
  "iccid": "8910300000012345678",
  "i_esim_order": 412,
  "order_uuid": "5f0c6a7e-2b1d-4c8e-9a3f-7d2e1b6c9a40",
  "lpa": "LPA:1$smdp.example.net$TN20261022A1B2C3D4",
  "qr_base64": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAF4CAIAAAD...",
  "ios_install_link": "https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=LPA:1$smdp.example.net$TN20261022A1B2C3D4"
}
```

## List top-up packages

`POST https://apiv2.telecomsxchange.com/buyers/esim/topup/list`

Reference: https://help.telecomsxchange.com/reference/esims/#list-top-up-packages

Lists the top-up packages available for one of your eSIMs, with price_with_fee in USD including the TCXC commission. Only USD-priced packages are returned. Free.

> The fields of each package depend on the seller of the eSIM; use package_type_id to buy one.

### Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `iccid` | string | body | yes | ICCID of an eSIM you bought. Non-digits are removed. Example `8910300000012345678`. |

### Errors

| Message | When |
|---|---|
| `iccid parameter is required` | iccid is missing or has no digits |
| `ICCID not found` | the ICCID is not on one of your accounts |
| `API Error, please try again later` | top-ups cannot be retrieved at the moment |

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X POST \
  "https://apiv2.telecomsxchange.com/buyers/esim/topup/list" \
  -d iccid=8910300000012345678
```

### Response: Success

```json
{
  "status": "success",
  "packages": [
    {
      "name": "Ukraine 1 GB 7 Days",
      "data_GB": "1.00",
      "network": [],
      "plan_type": "Data Only",
      "validity_days": 7,
      "validity_days_display": "7 Days",
      "package_type_id": 18509,
      "activation_policy": "The validity period starts when the eSIM connects to any supported network(s).",
      "supported_countries": [
        {
          "country_name": "Ukraine",
          "country_code": "UA"
        }
      ],
      "price_with_fee": "1.10"
    },
    {
      "name": "Ukraine 3 GB 30 Days",
      "data_GB": "3.00",
      "network": [],
      "plan_type": "Data Only",
      "validity_days": 30,
      "validity_days_display": "30 Days",
      "package_type_id": 13837,
      "activation_policy": "The validity period starts when the eSIM connects to any supported network(s).",
      "supported_countries": [
        {
          "country_name": "Ukraine",
          "country_code": "UA"
        }
      ],
      "price_with_fee": "3.30"
    }
  ]
}
```

## Purchase a top-up

`POST https://apiv2.telecomsxchange.com/buyers/esim/topup/purchase`

Reference: https://help.telecomsxchange.com/reference/esims/#purchase-a-top-up

Buys a top-up package for one of your eSIMs. The package price is confirmed again at purchase, the price plus commission is charged to i_account (or the account whose balance it uses), and the order UUID is returned. The paying account does not have to be the one that holds the eSIM.

### Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `iccid` | string | body | yes | ICCID of an eSIM you bought. Example `8910300000012345678`. |
| `package_type_id` | string | body | yes | package_type_id from List top-up packages (numeric or text, depending on the eSIM). Example `18509`. |
| `i_account` | integer | body | yes | Your account to charge. Example `1501`. |

### Errors

| Message | When |
|---|---|
| `iccid parameter is required` | iccid is missing or has no digits |
| `i_account parameter is required` | i_account is missing or 0 |
| `package_type_id parameter is required` | package_type_id is missing |
| `Account not found (1)` | the ICCID is not on one of your accounts |
| `API Error, please try again later` | top-ups cannot be retrieved at the moment |
| `Package not found, try to search for topup packages again` | package_type_id is not among the eSIM's current USD top-ups |
| `Account not found` | i_account is not one of your accounts |
| `Insufficient available funds for account (own)` | the account's balance plus credit limit is below the price |
| `Insufficient available funds for account (use balance of)` | the account uses another account's balance and that account cannot cover the price |
| `Package is not available anymore, please try another package` | the top-up is no longer offered |

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X POST \
  "https://apiv2.telecomsxchange.com/buyers/esim/topup/purchase" \
  -d iccid=8910300000012345678 \
  -d package_type_id=18509 \
  -d i_account=1501
```

### Response: Example

```json
{
  "status": "success",
  "order_uuid": "c40d0f55-8993-40cf-8d83-108ff80ff4ed"
}
```

## eSIM order history

`POST https://apiv2.telecomsxchange.com/buyers/esim/orders`

Reference: https://help.telecomsxchange.com/reference/esims/#esim-order-history

Lists your eSIM purchases and top-ups in a time range, newest first, with the amount charged, status, ICCID, package details and, for purchases, the activation code, LPA string and QR code. Free.

> Top-up orders have empty activation_code, sm_dp_address, lpa and qr_base64, and 0 validity and data.

### Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `date_from` | string | body | no | Start of the range, YYYY-MM-DD HH:MM:SS. Default: 24 hours ago. Example `2026-10-01 00:00:00`. |
| `date_to` | string | body | no | End of the range, YYYY-MM-DD HH:MM:SS. Default: now. Example `2026-10-22 23:59:59`. |
| `pager` | integer | body | no | Orders per page. Default `20`. Example `20`. |
| `off` | integer | body | no | Offset of the first order. Default `0`. Example `0`. |

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X POST \
  "https://apiv2.telecomsxchange.com/buyers/esim/orders" \
  -d date_from='2026-10-01 00:00:00' \
  -d date_to='2026-10-22 23:59:59' \
  -d pager=20 \
  -d off=0
```

### Response: Success

```json
{
  "status": "success",
  "orders": [
    {
      "i_esim_order": "6",
      "i_account": "1181",
      "i_vendor": "484",
      "package_name": "India 1 GB 7 Days",
      "package_country_code": "IN",
      "package_networks": "",
      "package_validity_days": "0",
      "package_data_gb": "0",
      "iccid": "8910300000027319600",
      "order_type": "top-up",
      "amount_charged": "3.49",
      "status": "complete",
      "order_uuid": "c40d0f55-8993-40cf-8d83-108ff80ff4ed",
      "activation_code": "",
      "sm_dp_address": "",
      "lpa": null,
      "qr_base64": null,
      "create_ts": "2025-12-18 22:15:49",
      "account_name": "RouteTester",
      "country_name": "INDIA"
    },
    {
      "i_esim_order": "5",
      "i_account": "1181",
      "i_vendor": "484",
      "package_name": "India 1 GB 7 Days",
      "package_country_code": "in",
      "package_networks": "Reliance JIO",
      "package_validity_days": "7",
      "package_data_gb": "1",
      "iccid": "8910300000027319600",
      "order_type": "purchase",
      "amount_charged": "3.49",
      "status": "complete",
      "order_uuid": "503ee0f0-74a2-420a-a6a4-3168eead8bdf",
      "activation_code": "TN20241105110404EC9DF631",
      "sm_dp_address": "consumer.e-sim.global",
      "lpa": "LPA:1$consumer.e-sim.global$TN20241105110404EC9DF631",
      "qr_base64": "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",
      "create_ts": "2025-12-18 22:07:12",
      "account_name": "RouteTester",
      "country_name": "INDIA"
    },
    {
      "i_esim_order": "4",
      "i_account": "1928",
      "i_vendor": "484",
      "package_name": "Kuwait 3 GB 15 Days",
      "package_country_code": "KW",
      "package_networks": "",
      "package_validity_days": "0",
      "package_data_gb": "0",
      "iccid": "8910300000030228001",
      "order_type": "top-up",
      "amount_charged": "10.99",
      "status": "complete",
      "order_uuid": "ec622b5a-418f-4c9a-8fce-838b41b989fc",
      "activation_code": "",
      "sm_dp_address": "",
      "lpa": null,
      "qr_base64": null,
      "create_ts": "2025-12-16 00:38:54",
      "account_name": "SMS-Route-Test",
      "country_name": "KUWAIT"
    },
    "… 1 more items"
  ]
}
```

## List purchased eSIMs

`POST https://apiv2.telecomsxchange.com/buyers/esim/list`

Reference: https://help.telecomsxchange.com/reference/esims/#list-purchased-esims

Lists your eSIMs, newest first, with their live status: profile state (for example RELEASED, INSTALLED, ENABLED), remaining data, days to expiry, and the activation details and iOS install link. With iccid, returns that one eSIM as an esim object instead of an esims list. Free; each eSIM's status is fetched live, so large pages are slower.

> With iccid the reply is {"status": "success", "esim": {...}}; without it, {"status": "success", "esims": [...]}. When live status is unavailable, an eSIM is returned with its last known status and empty usage fields.

### Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `iccid` | string | body | no | Return only this eSIM. Non-digits are removed. Example `8910300000012345678`. |
| `esim_vendor` | string | body | no | Seller login to filter by, for example eSIMP. An unknown login is ignored. Example `eSIMP`. |
| `pager` | integer | body | no | eSIMs per page. Default `6`. Example `6`. |
| `off` | integer | body | no | Offset of the first eSIM. Default `0`. Example `0`. |

### Errors

| Message | When |
|---|---|
| `eSIM not found` | iccid is given and no eSIM of yours matches |

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X POST \
  "https://apiv2.telecomsxchange.com/buyers/esim/list" \
  -d iccid=8910300000012345678 \
  -d esim_vendor=eSIMP \
  -d pager=6 \
  -d off=0
```

### Response: Success

```json
{
  "status": "success",
  "esims": [
    {
      "i_esim": "45",
      "i_account": "48",
      "i_esim_order": "55",
      "iccid": "19220000000184396",
      "status": "complete",
      "create_ts": "2026-01-05 17:05:15",
      "i_vendor": "31",
      "package_name": "Europe 1 GB 7 Days",
      "package_country_code": "1E",
      "package_networks": "",
      "package_validity_days": "7",
      "package_data_gb": "1",
      "order_type": "purchase",
      "amount_charged": "1.1",
      "order_uuid": "b49ddddc-a67f-47e6-8b21-11180d280b52",
      "activation_code": "22184396",
      "sm_dp_address": "test.esim.com",
      "lpa": "LPA:1$test.esim.com$22184396",
      "qr_base64": "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",
      "order_status": "complete",
      "esim_status": "INSTALLED",
      "esim_create_ts": "2026-01-05 17:05:15",
      "order_package_networks": "",
      "supported_countries": [
        {
          "country_name": "ALBANIA",
          "country_code": "AL"
        },
        {
          "country_name": "AUSTRIA",
          "country_code": "AT"
        },
        {
          "country_name": "BOSNIA AND HERZEGOWINA",
          "country_code": "BA"
        },
        "… 46 more items"
      ],
      "esim_status_message": "eSIM Installed",
      "esim_last_operation_date": "2026-01-05 17:15:39",
      "data_usage_remaining_bytes": 1073741824,
      "days_left_to_expiry": 6,
      "data_allowance_bytes": 1073741824,
      "account_name": "Voice-QA",
      "ios_install_link": "https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=LPA:1$test.esim.com$22184396"
    },
    {
      "i_esim": "44",
      "i_account": "4",
      "i_esim_order": "51",
      "iccid": "19220000000173165",
      "status": "complete",
      "create_ts": "2025-12-24 10:43:06",
      "i_vendor": "31",
      "package_name": "Israel 1 GB 7 Days",
      "package_country_code": "il",
      "package_networks": "",
      "package_validity_days": "7",
      "package_data_gb": "1",
      "order_type": "purchase",
      "amount_charged": "1.1",
      "order_uuid": "4e0ebf2c-8bbb-46c2-9156-1abf0a50e253",
      "activation_code": "22173165",
      "sm_dp_address": "test.esim.com",
      "lpa": "LPA:1$test.esim.com$22173165",
      "qr_base64": "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",
      "order_status": "complete",
      "esim_status": "ERROR",
      "esim_create_ts": "2025-12-24 10:43:06",
      "order_package_networks": "",
      "supported_countries": [],
      "esim_status_message": "The eSIM encountered an error while installing",
      "esim_last_operation_date": "2026-01-05 16:07:10",
      "data_usage_remaining_bytes": 1073741824,
      "days_left_to_expiry": -6,
      "data_allowance_bytes": 1073741824,
      "account_name": "smpp",
      "ios_install_link": "https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=LPA:1$test.esim.com$22173165"
    },
    {
      "i_esim": "43",
      "i_account": "48",
      "i_esim_order": "50",
      "iccid": "19220000000191207",
      "status": "complete",
      "create_ts": "2025-12-16 09:59:38",
      "i_vendor": "31",
      "package_name": "Africa 1 GB 7 Days",
      "package_country_code": "1A",
      "package_networks": "",
      "package_validity_days": "7",
      "package_data_gb": "1",
      "order_type": "purchase",
      "amount_charged": "1.1",
      "order_uuid": "4a2d48e3-f4fb-48c6-b6bd-088da9d29556",
      "activation_code": "22191207",
      "sm_dp_address": "test.esim.com",
      "lpa": "LPA:1$test.esim.com$22191207",
      "qr_base64": "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",
      "order_status": "complete",
      "esim_status": "DOWNLOADED",
      "esim_create_ts": "2025-12-16 09:59:38",
      "order_package_networks": "",
      "supported_countries": [
        {
          "country_name": "BOTSWANA",
          "country_code": "BW"
        },
        {
          "country_name": "CONGO, THE DRC",
          "country_code": "CD"
        },
        {
          "country_name": "COTE D IVOIRE",
          "country_code": "CI"
        },
        "… 14 more items"
      ],
      "esim_status_message": "eSIM Installed but is off",
      "esim_last_operation_date": "2026-01-05 17:22:41",
      "data_usage_remaining_bytes": 4294967296,
      "days_left_to_expiry": 6,
      "data_allowance_bytes": 1073741824,
      "account_name": "Voice-QA",
      "ios_install_link": "https://esimsetup.apple.com/esim_qrcode_provisioning?carddata=LPA:1$test.esim.com$22191207"
    }
  ]
}
```

## List eSIM regions

`GET https://apiv2.telecomsxchange.com/buyers/esim/regions`

Reference: https://help.telecomsxchange.com/reference/esims/#list-esim-regions

Lists the eSIM regions the sellers define, each with its region code. Use the region name as country in Market View (eSIM). Free.

> A region offered by more than one seller appears once per seller.

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X GET \
  "https://apiv2.telecomsxchange.com/buyers/esim/regions"
```

### Response: Example

```json
{
  "status": "success",
  "regions": [
    {
      "region": "Europe",
      "region_country_code": "1E"
    },
    {
      "region": "Asia",
      "region_country_code": "1A"
    },
    {
      "region": "Global",
      "region_country_code": "2G"
    }
  ]
}
```

## List regions covering a country

`POST https://apiv2.telecomsxchange.com/buyers/esim/countries_regions`

Reference: https://help.telecomsxchange.com/reference/esims/#list-regions-covering-a-country

Lists the region codes whose regional packages cover a country, so you can tell which regional packages also work there. Free.

> Send pager; without it the list is empty. The call can take several seconds.

### Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `country_code` | string | body | yes | Two-letter ISO country code in lower case, for example jp. Example `jp`. |
| `pager` | integer | body | yes | Number of rows to return. Example `50`. |
| `off` | integer | body | no | Offset of the first row. Default `0`. Example `0`. |

### Errors

| Message | When |
|---|---|
| `missing country_code` | country_code is empty |

### Request

```bash
curl --digest -u "$TCXC_USERNAME:$TCXC_API_KEY" -X POST \
  "https://apiv2.telecomsxchange.com/buyers/esim/countries_regions" \
  -d country_code=jp \
  -d pager=50 \
  -d off=0
```

### Response: Example

```json
{
  "status": "success",
  "countries_region": [
    {
      "country_code": "jp",
      "region_country_code": "1A"
    },
    {
      "country_code": "jp",
      "region_country_code": "2G"
    }
  ]
}
```
