Tavaro eSIM API
Add eSIM connectivity to your travel platform. Instant delivery, 200+ destinations, one simple API.
Overview
The Tavaro API lets you embed eSIM purchasing directly into your platform. Your customers browse plans, pay through your checkout, and receive their eSIM instantly via QR code. All costs are deducted from your prepaid Tavaro Credits balance.
How It Works
Create a Partner Account
Sign up at tavaropartners.com and top up your Tavaro Credits.
Generate an API Key
Go to API Access in your partner portal. Your key starts with tvr_.
Browse & Display Plans
Call /v1/countries and /v1/packages to show eSIM plans in your platform.
Place Orders
Call /v1/order at checkout. Credits deducted instantly. eSIM returned in the response.
Deliver to Customer
Send the QR code, iOS install link, or LPA code. Customer installs in minutes.
Supported Use Cases
| Use Case | How |
|---|---|
| B2C travel booking | Show eSIM at checkout alongside flights/hotels |
| B2B travel agents | Agents order on behalf of travellers via your platform |
| Mobile app | Integrate directly into iOS/Android travel app |
| OTA platform | Add as ancillary product in your booking flow |
Authentication
All API requests must be authenticated using your API key as a Bearer token in the Authorization header.
API Keys
Generate your API key from Partner Portal โ API Access. Keys are prefixed with tvr_ and are shown only once at generation โ store them securely.
Key Management
From your partner portal you can generate multiple keys, label them by environment (e.g. Production, Staging), and revoke them at any time. If you lose a key, simply generate a new one โ your old key remains active until explicitly revoked.
Quick Start
Get your first eSIM order live in under 10 minutes.
Step 1 โ Check your balance
Step 2 โ Browse countries
Step 3 โ Get plans for a country
Step 4 โ Place an order
Step 5 โ Deliver to customer
qrCodeUrl or iosInstallUrl to your customer โ they install in under 2 minutes.Countries
List all countries and regions with available eSIM plans, including network types and carrier information.
local, regional, or global
Response Fields
| Field | Type | Description |
|---|---|---|
| name | string | Country name |
| code | string | ISO 3166-1 alpha-2 code (e.g. AE, IN, GB) |
| geography | string | local, regional, or global |
| planCount | number | Number of available plans |
| fromPrice | number | Lowest plan price at your markup (USD) |
| networks | array | Supported network types e.g. ["4G","LTE","5G"] |
| carriers | array | Network operators e.g. ["DU","Etisalat"] |
| countriesCovered | number | For regional/global: number of countries included |
Packages
Browse eSIM plans for a specific country or region. Use the planId to place an order.
AE, IN, GB
local, regional, or global
7, 14, 30
Plan Fields
| Field | Type | Description |
|---|---|---|
| planId | string | Unique plan ID โ use this in /v1/order |
| days | number | Validity period in days |
| data | string | Data amount e.g. "5GB" or "Unlimited" |
| price | number | Price at your markup (USD) |
| activation | string | first-use โ starts when customer first uses data |
| hotspot | boolean | Whether hotspot/tethering is supported |
| dataRoaming | boolean | Whether data roaming is included |
| topUp | boolean | Whether the plan supports top-up |
| networks | array | Network types e.g. ["4G","LTE","5G"] |
| carriers | array | Carrier names e.g. ["DU","Etisalat"] |
| coverage | array | Per-country breakdown for regional/global plans |
| throttle | object|null | FUP details if applicable, null if no throttle |
Place Order
Purchase an eSIM plan. Credits are deducted from your balance instantly. The eSIM is activated and returned in the response โ no additional activation step needed.
api_markup (set in portal) is applied to price shown in /v1/packages but not deducted from your credits./v1/packages
1, Max: 10
Delivering to your customer
| Field | Use |
|---|---|
| qrCodeUrl | Display as QR image or email to customer to scan |
| iosInstallUrl | One-tap install link for iPhone users |
| lpaCode | Manual entry for Android: Settings โ SIM โ Add eSIM |
| iccid | Unique eSIM identifier โ save for support queries |
eSIM Status
Check the current status of a purchased eSIM using the esimId returned from an order.
esimId returned from /v1/order
eSIM Statuses
| Status | Meaning |
|---|---|
| READY | Installed but not yet activated โ waiting for first data use |
| ACTIVE | Currently in use, data being consumed |
| EXPIRED | Validity period has ended |
| DEPLETED | Data fully consumed before expiry |
Balance
Check your current Tavaro Credits balance. Use this to verify available funds before placing bulk orders.
Errors
All errors return a consistent JSON structure. Always check the status field first.
HTTP Status Codes
/v1/balance. A 402 means the order was not placed and no credits were deducted.Postman Collection
Import our Postman collection to test all API endpoints instantly โ no setup required.
Manual Setup
Set up a Postman environment with these variables:
| Variable | Value |
|---|---|
| base_url | https://api.tavaroesim.com |
| api_key | tvr_your_key_here |
Then use Authorization: Bearer {{api_key}} as a collection-level header.
Integration Guide
Recommended approach for integrating Tavaro eSIM into a travel booking platform.
Recommended Flow
Cache countries list
Call /v1/countries once daily and cache. Countries and regions change infrequently.
Fetch packages on demand
When a customer selects a destination, call /v1/packages?country=XX. Cache per country for up to 1 hour.
Display plans with coverage
Show data, days, price, hotspot, and networks. For regional plans, show coverage array to list included countries.
Place order server-side only
Never call /v1/order from frontend. Always from your backend โ your API key must stay secret.
Deliver eSIM
Show qrCodeUrl on confirmation page. Email iosInstallUrl and lpaCode for manual install. Save iccid in your database.
Monitor balance
Set up automated alerts when balance drops below a threshold using /v1/balance.
B2B Travel Agent Flow
For platforms where agents book on behalf of travellers (e.g. Nexus DMC):
| Step | Action |
|---|---|
| Agent selects destination | Show eSIM plans via /v1/packages |
| Agent enters traveller details | Collect traveller email for eSIM delivery |
| Confirm booking | Call /v1/order with traveller's email as customerEmail |
| Deliver eSIM | Email QR code directly to traveller or to agent to forward |
Support
Our team is available to help you integrate successfully and answer any technical questions.