Docs MenuTap to expand ▼
HomeOpen PlatformDocsInternational Air

International Air Rate Query

Query international air freight rates by origin airport + destination airport. Covers 1,062 international airports with 5-tier weight-graded pricing (45/100/300/500/1000kg + MIN).

Endpoint Info

EndpointPOST /api/openapi/v1/freight/air/search
Credit cost2 credits / call
Data freshnessDaily

Request Parameters

FieldTypeRequiredDescriptionExample
polstringYesOrigin airport, accepts 3-letter IATA code (exact) / Chinese / English (fuzzy)Look up code ↗PVG / Pudong
podstringYesDestination airport, accepts 3-letter IATA code (exact) / Chinese / English (fuzzy)Look up code ↗LAX / Los Angeles
airlinestringNoAirline, accepts 2-letter IATA code (exact) / Chinese / English (fuzzy)Look up code ↗CA / Air China
weightnumberNoCargo weight in kg (chargeable weight; tier is matched automatically when provided)220
pageintNoPage number, default 11
limitintNoPage size, default 20, max 5020
pol_countrystringNoOrigin country code (2-letter ISO, optional); pins the country when pol matches multiple same-name airportsCN
pod_countrystringNoDestination country code (2-letter ISO, optional). When pod matches multiple same-name airports, without it rates for all same-name airports are returned and charged per match; pass it to pin a single countryUS

Response Fields

FieldTypeDescription
resolved.pol / podobjectEcho of the parsed airport (with input/code/name/name_en)
list[].idstringUnique rate record ID
list[].pol / podobjectOrigin / destination airport (code is the 3-letter IATA, with name / name_en)
list[].airlineobjectAirline (code, name), e.g. CA Air China / PO Polar Air Cargo
list[].transitobject{ is_direct: direct flight, days: flight days, port: transit airport, route_path: e.g. PVG-LAX }
list[].price_grades[]arrayTiered rate array, each tier { min_weight, price_per_kg, currency }, typically 45/100/300/500/1000 kg tiers
list[].matched_gradeobjectTier matched by the input weight { min_weight, price_per_kg, total: unit price × weight, currency }; returned only when weight is provided
list[].schedule.cutoffstringWeekly schedule, 1-7 stands for Mon-Sun, comma separated (e.g. 2,3,4,5,6,7 means Tue-Sun have flights)
list[].schedule.cutoff_remarkstringSchedule remarks (some airlines have special notes)
list[].valid_untilstringRate validity end date YYYY-MM-DD
list[].remarkstringRate remarks
credit_used / credit_balanceintCredits deducted (AIR fixed at 2) / remaining

Full curl Example

# pol / pod accept either 3-letter IATA, Chinese, or English (e.g. "PVG" / "浦东" / "Pudong")
curl -X POST https://www.5688.cn/api/openapi/v1/freight/air/search \
  -H "Content-Type: application/json" \
  -H "X-Awice-AppKey: AK_xxxxxxxxxxxxxxxx" \
  -H "X-Awice-Timestamp: 1746086400" \
  -H "X-Awice-Nonce: a1b2c3d4e5f6a7b8" \
  -H "X-Awice-Signature: 7f8e9d6c5b4a..." \
  -d '{
    "pol": "PVG",
    "pod": "LAX",
    "airline": "CA",
    "weight": 220,
    "page": 1,
    "limit": 20
  }'

Successful Response

{
  "code": 0,
  "msg": "success",
  "request_id": "req_xxxxxxxxxxxxxxxx",
  "data": {
    "resolved": {
      "pol": { "input": "PVG", "code": "PVG", "name": "Shanghai Pudong International Airport", "name_en": "Shanghai Pudong International Airport" },
      "pod": { "input": "LAX", "code": "LAX", "name": "Los Angeles International Airport", "name_en": "Los Angeles International Airport" },
      "airline": null
    },
    "total": 15,
    "page": 1,
    "limit": 20,
    "list": [
      {
        "id": "6346",
        "pol": { "code": "PVG", "name": "Shanghai Pudong International Airport", "name_en": "Shanghai Pudong International Airport" },
        "pod": { "code": "LAX", "name": "Los Angeles International Airport", "name_en": "Los Angeles International Airport" },
        "airline": { "code": "PO", "name": "Polar Air Cargo" },
        "transit": {
          "is_direct": true,
          "days": 1,
          "port": "",
          "route_path": "PVG-LAX"
        },
        "price_grades": [
          { "min_weight": 100,  "price_per_kg": 36, "currency": "USD" },
          { "min_weight": 300,  "price_per_kg": 36, "currency": "USD" },
          { "min_weight": 500,  "price_per_kg": 36, "currency": "USD" },
          { "min_weight": 1000, "price_per_kg": 33, "currency": "USD" }
        ],
        "schedule": {
          "cutoff": "2,3,4,5,6,7",
          "cutoff_remark": ""
        },
        "valid_until": "2026-12-31",
        "remark": "",
        "matched_grade": {
          "min_weight": 100,
          "price_per_kg": 36,
          "total": 3600,
          "currency": "USD"
        }
      }
    ]
  },
  "credit_used": 2,
  "credit_balance": 9496
}
Tier matching rules:weight=220kg falls in [100, 300) → matches the 100kg tier at ¥28/kg; weight=35kg falls in [0, 45) → matches the MIN tier (flat 200, not multiplied by weight). matched_* is not returned when weight is omitted.