Data & analysis

Query paginated port trade data for a company — retrieve port-level trade statistics with counts,amounts, and percentages for logistics analysis. Supports paginated port queries, companytrade port details, import-export port analysis and trade logistics dr

Try it

Query paginated port trade data for a company — retrieve port-level trade statistics with counts, amounts, and percentages for logistics analysis. Trigger: customs port list, paginated port query, company trade port details, import-export port analysis, trade logistics drill-down

What it does

Query paginated port trade data for a company — retrieve port-level trade statistics with counts, amounts, and percentages for logistics analysis. Trigger: customs port list, paginated port query, company trade port details, import-export port analysis, trade logistics drill-down

The skill document

Customs Company Port Trade List

Query paginated port trade data for a company from customs data using the UpKuaJing Open Platform API.

Overview

This skill provides access to paginated port trade data from UpKuaJing's customs database. Given a company ID and company type, it returns a list of ports with trade statistics including trade count, amount, quantity, weight, and percentage.

Running Scripts

Environment Setup

  1. Check Python: python --version
  2. Install dependencies: pip install -r requirements.txt

Script directory: scripts/*.py Run example: python scripts/*.py

Important: Always use direct script invocation like python scripts/customs_company_port_list.py. Do NOT use shell compound commands like cd scripts && python customs_company_port_list.py

Company Port List Query (customs_company_port_list.py)

  • Return granularity: One record per port
  • Use cases: Browse through a company's trade ports with detailed stats, analyze logistics routes and port-level trade volume
  • Examples:
    • "List trade ports for company 100001 as a supplier"
    • "Get port-level trade details for company 100001 as a buyer"
  • Parameters: See Company Port List API

API Key and Top-up

This skill requires an API key. The API key is stored in the ~/.upkuajing/.env file:

cat ~/.upkuajing/.env

Example file content:

UPKUAJING_API_KEY=your_api_key_here

API Key Not Set

First check if the ~/.upkuajing/.env file has UPKUAJING_API_KEY; If UPKUAJING_API_KEY is not set, prompt the user to choose:

  1. User has one: User provides it (manually add to ~/.upkuajing/.env file)
  2. User doesn't have one: You can apply using the interface (auth.py --new_key), the new key will be automatically saved to ~/.upkuajing/.env Wait for user selection;

Account Top-up

When API response indicates insufficient balance, explain and guide user to top up:

  1. Create top-up order (auth.py --new_rec_order)
  2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;

Get Account Information

Use this script to get account information for UPKUAJING_API_KEY: auth.py --account_info

API Key and UpKuaJing Account

Fees

All API calls incur fees, different interfaces have different billing methods.

Latest pricing: Users can visit Detailed Price Description Or use: python scripts/auth.py --price_info (returns complete pricing for all interfaces)

Query Billing Rules

Billed by number of calls, each call returns a page of port list for one company:

  • Each API call incurs a fee
  • Before execution:
    1. Inform user that this query will incur a fee
    2. Stop, wait for explicit user confirmation in a separate message, then execute script

Fee Confirmation Principle

Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.

Workflow

Decision Guide

User IntentUse API
"List trade ports for company 100001 as a supplier"Company Port List Query
"Show port-level trade breakdown for company 100001"Company Port List Query

Usage Examples

Query Company Port List

User request: "List trade ports for company 100001 as a supplier"

python scripts/customs_company_port_list.py --params '{"companyId":100001,"companyType":1}'

Query the next page:

python scripts/customs_company_port_list.py --params '{"companyId":100001,"companyType":1,"cursor":"eyJsYXN0X2lkIjogMTAwMX0="}'

Query with filters:

python scripts/customs_company_port_list.py --params '{"companyId":100001,"companyType":1,"dateStart":1700000000000,"dateEnd":1735689599999,"countryCodes":["KR"]}'

Error Handling

  • API key invalid/non-existent: Check UPKUAJING_API_KEY in ~/.upkuajing/.env file
  • Insufficient balance: Guide user to top up
  • Invalid parameters: Must first check the corresponding API documentation in references/ directory, get correct parameter names and formats from documentation, do not guess

API Documentation Reference

  • Company Port List: Check references/customs-company-port-list-api.md

Best Practices

  1. Check API documentation:

    • Before executing queries, must first check the corresponding API reference documentation
    • Check references/customs-company-port-list-api.md
    • Do not guess parameter names, get accurate parameter names and formats from documentation
  2. Pagination:

    • Use the cursor parameter from the response to fetch the next page
    • If no cursor is returned in the response, there are no more pages
  3. Data interpretation:

    • percentTrade is the percentage of trade (as a decimal, e.g., 45.67 means 45.67%)
    • port is the port name (e.g., "BUSAN")
  4. Cross-skill usage:

    • The company ID can be obtained from customs-company-stats or upkuajing-customs-trade-company-search
    • Port names from results can be used to filter data in customs-company-trends and customs-company-partner-stats

Notes

  • companyType determines the company's role (1=supplier, 2=buyer)
  • Use cursor for pagination — it's a base64-encoded string
  • File paths use forward slashes on all platforms
  • Prohibit outputting technical parameter format: Do not display code-style parameters in responses, convert to natural language
  • Do not estimate or guess per-call fees — use python scripts/auth.py --price_info to get accurate pricing information
  • Do not guess parameter names, get accurate parameter names and formats from documentation

Other UpKuaJing skills you might find useful:

  • customs-company-area-stats — Query company trade area statistics
  • customs-company-area-list — Query company trade area list
  • customs-company-hscode-stats — Query company trade HS code statistics
  • customs-company-hscode-list — Query company trade HS code list
  • customs-company-product-list — Query company trade product list
  • customs-company-stats — Query company basic trade statistics
  • customs-company-trends — Query company trade trends (monthly breakdown)
  • customs-company-partner-stats — Query company trade partner distribution
  • upkuajing-customs-trade-company-search — Search customs trade companies
  • upkuajing-global-company-people-search — Unified company and people search across all sources

Related skills

Query paginated trade-area data for a company — retrieve country/region breakdowns with trade counts, amounts, and percentages for market-analysis. Trigger: customs area list, paginated region query, company trade country breakdown, import-export market analysis, trade region drill-down

查询公司海关贸易港口列表数据 — 获取港口的贸易次数、金额和占比,用于物流分析。 Trigger: 海关港口列表,分页港口查询,公司贸易港口详情,进出口港口分析,贸易物流下钻

Query paginated product trade data for a company — retrieve product names with trade counts, amounts, quantities, and associated HS codes for product-mix analysis. Trigger: customs product list, paginated product query, company product trade details, import-export product breakdown, trade product drill-down

Query import/export trade trend data — retrieve monthly trade volume trends within a specified time range, with cursor-based pagination. Trigger: trade trend, import export trend, monthly trade volume, trade time series, trade date range query

Query company customs trade statistics by region dimension — analyze trade volume, amount, monthly trends, and country distribution across global markets. Trigger: customs trade area statistics, regional trade analysis, company import-export country distribution, global trade intelligence, supplier market coverage

Query paginated national trade list data — retrieve country-level trade breakdowns with annual, quarterly, and monthly trade volumes for market analysis. Trigger: country trade list, paginated trade query, national trade breakdown, import export country comparison, trade volume by country