Erge Asia ยท Developer API
Integrate international shipping from Indonesia to 30+ countries directly into your app. Create shipments, calculate rates, and track parcels in real time.
https://system.ergeasia.com/api/external/v1Follow these steps to connect your system with the ERGE ASIA Shipping API.
Contact our team for API credentials.
GET /countries and /couriers.
POST /rates/calculate for an estimate.
POST /shipments to send a parcel.
GET /tracking/{awb} in real time.
All requests (except Tracking) require an API Key as a Bearer Token in the header.
Authorization: Bearer YOUR_API_KEYX-EA-Client-ID:YOUR_CLIENT_IDContent-Type: application/json
Click an endpoint to view its parameters, request, and response details.
/v1/countriesList Destination CountriesReturns the list of all destination countries supported by ERGE ASIA.
{ "success": true, "data": [ { "code": "TW", "name": "Taiwan" }, { "code": "SG", "name": "Singapore" }, { "code": "JP", "name": "Japan" }, { "code": "MY", "name": "Malaysia" } ], "count": 30
}/v1/couriersList Available CouriersReturns the couriers available for a given destination country.
| Field | Type | Required | Description |
|---|---|---|---|
country_code | string | Optional | 2-letter ISO country code (e.g. "TW") |
{ "success": true, "data": [ { "code": "ERGE", "name": "ERGE ASIA", "description": "International Express" } ], "count": 1
}/v1/rates/calculateCalculate Shipping RateCalculate an estimated shipping cost. Tier membership discounts are applied automatically.
| Field | Type | Required | Description |
|---|---|---|---|
country_code | string | Required | Destination ISO country code (e.g. "TW") |
courier_code | string | Required | Courier code (from /v1/couriers) |
weight | number | Required | Total weight in kg (max 100) |
items | array | Required | List of items (determines pricing category) |
delivery_type | string | Optional | "home" (default) or "store" |
{ "country_code": "TW", "courier_code": "ERGE", "weight": 2, "items": [ { "name": "Indomie Goreng", "quantity": 10, "category": "general_cargo" } ]
}{ "success": true, "data": { "country": "Taiwan", "courier": { "code": "ERGE", "name": "ERGE ASIA" }, "weight": { "actual": 2, "charged": 2 }, "category": "Barang Umum", "pricing": { "shipping_cost": 140700, "store_fee": 0, "total_cost": 140700, "formatted": "Rp 140.700" }, "tier": { "name": "Bronze", "discount_percent": 3 }, "wallet": { "sufficient": true, "balance": 5000000 } }
}/v1/shipmentsCreate a New ShipmentCreate a new shipment. The cost is automatically deducted from your wallet balance and an AWB number is generated.
| Field | Type | Required | Description |
|---|---|---|---|
sender_name | string | Required | Sender name |
sender_phone | string | Required | Sender phone |
sender_location | string | Required | Sender city / region |
receiver_country | string | Required | Destination country (name or ISO code) |
receiver_name | string | Required | Receiver name |
receiver_phone | string | Required | Receiver phone (with country code) |
receiver_postal | string | Required | Receiver postal code |
receiver_address | string | Required | Full receiver address |
receiver_id | string | Optional | Required for Taiwan (ARC/Passport) |
package_weight | number | Required | Total weight in kg |
courier_service | string | Required | Courier code |
items | array | Required | At least 1 item in the package |
collies | array | Optional | Multi-parcel (weight + items per parcel) |
voucher_code | string | Optional | Discount voucher code |
{ "sender_name": "Budi Santoso", "sender_phone": "081234567890", "sender_location": "DKI Jakarta", "receiver_country": "TW", "receiver_name": "Wang Wei", "receiver_phone": "+886912345678", "receiver_postal": "10617", "receiver_address": "No. 1, Section 4, Roosevelt Road", "package_weight": 3, "courier_service": "ERGE", "items": [ { "name": "Indomie Goreng", "quantity": 20, "unit": "pcs", "price": 3500, "category": "general_cargo" } ]
}{ "success": true, "message": "Kiriman berhasil dibuat! Resi: 88826028HXDYD", "data": { "shipment_id": 12345, "awb_number": "88826028HXDYD", "status": "submitted", "courier": "ERGE ASIA", "colly_awbs": ["88826028HXDYD"], "pricing": { "shipping_cost": 211000, "discount": 0, "total_cost": 211000, "total_formatted": "Rp 211.000" }, "wallet_balance": 4789000 }
}/v1/shipmentsList All ShipmentsList all shipments on your account with pagination and filters.
| Field | Type | Required | Description |
|---|---|---|---|
page | integer | Optional | Page (default: 1) |
per_page | integer | Optional | Items per page (max 100) |
status | string | Optional | Filter: submitted, in_process, completed |
country_code | string | Optional | Filter by destination country |
from_date | string | Optional | From date (YYYY-MM-DD) |
to_date | string | Optional | To date (YYYY-MM-DD) |
{ "success": true, "data": [ ... ], "pagination": { "current_page": 1, "per_page": 20, "total_items": 48, "total_pages": 3 }
}/v1/shipments/{id|awb}Shipment DetailFull details of a shipment by ID or AWB number, including item data and tracking.
/v1/tracking/{awb_number} PublicTrack ShipmentReal-time tracking history. Public endpoint โ no API Key required.
{ "success": true, "data": { "awb_number": "88826028HXDYD", "destination": "Taiwan", "current_status": "IN_TRANSIT", "current_status_name": "Dalam Perjalanan", "history": [ { "status_code": "IN_TRANSIT", "status_name": "Dalam Perjalanan ke Negara Tujuan", "location": "Jakarta", "timestamp": "2026-02-26T08:00:00+07:00" }, { "status_code": "PROCESSING", "status_name": "Sedang Diproses di Gudang", "location": "Gudang Jakarta", "timestamp": "2026-02-25T14:30:00+07:00" } ] }
}/v1/wallet/balanceCheck Wallet BalanceCheck your wallet balance to ensure sufficient funds before creating a shipment.
{ "success": true, "data": { "balance": 5000000, "formatted": "Rp 5.000.000" }
}Every item must have a category that determines the shipping rate.
general_cargoFood, clothing, books, souvenirs, supplements, skincare, cosmetics
sensitif_itemsMedicine, chicken-intestine chips, chicken-skin chips, beef crackers, boci, salted fish
electronicPhones, laptops, chargers, power banks
electronic > sensitif_items > general_cargo.Statuses a shipment may pass through, from AWB creation to delivery.
| Status Code | Bahasa Indonesia | English |
|---|---|---|
AWB_CREATED | Airwaybill Berhasil Dibuat | AWB Created |
PAYMENT_COMPLETED | Pembayaran Berhasil | Payment Confirmed |
PICKED_UP | Kiriman Telah Dijemput | Picked Up |
WAREHOUSE_RECEIVED | Diterima di Gudang Jakarta | Received at Warehouse |
PROCESSING | Sedang Diproses di Gudang | Processing |
DEPARTED_ORIGIN | Berangkat dari Indonesia | Departed from Indonesia |
IN_TRANSIT | Dalam Perjalanan ke Negara Tujuan | In Transit |
ARRIVED_DESTINATION | Telah Sampai di Negara Tujuan | Arrived at Destination |
CUSTOMS_CLEARANCE | Proses Bea Cukai | Customs Clearance |
OUT_FOR_DELIVERY | Sedang Dikirim ke Penerima | Out for Delivery |
DELIVERED | Kiriman Telah Diterima | Delivered |
RETURNED | Kiriman Dikembalikan | Returned |
CANCELLED | Kiriman Dibatalkan | Cancelled |
The standard error response format returned by the API.
{ "success": false, "error": { "code": "INSUFFICIENT_BALANCE", "message": "Saldo wallet tidak cukup." }
}Contact our team to get an API Key and start shipping parcels from your app.