官方技能(跨境魔方),利用海关贸易数据查找公司(找公司)和全球买家,获取贸易订单详情、企业联系信息及潜在客户。
Search for companies through customs trade data using the UpKuaJing Open Platform API. This skill uses a data-driven approach: finding companies by analyzing trade records and transaction patterns.
This skill provides access to UpKuaJing's customs trade data API through four scripts: two search methods (trade list, company list) and two enhancement interfaces (company details, contact information).
API key generation and top-up are provided through the auth.py script.
python --versionpip install -r requirements.txtScript directory: scripts/*.py
Run example: python scripts/*.py
Important: Always use direct script invocation like python scripts/trade_list_search.py. Do NOT use shell compound commands like cd scripts && python trade_list_search.py.
Important: Always use direct script invocation like python scripts/company_list_search.py. Do NOT use shell compound commands like cd scripts && python company_list_search.py.
Trade List Search ( trade_list_search.py)
Return granularity: Each trade order as one record
Use cases: Focus on "what transactions occurred"
Examples:
Parameters: See Trade List
Company List Search ( company_list_search.py)
Return granularity: Trade orders aggregated by company, each company as one row
Use cases: Focus on "which companies exist"
Examples:
Parameters: See Company List
After obtaining trade list or company list, use these interfaces to enrich company IDs in the results when necessary:
Company Details ( company_get_details.py --companyIds *)
--companyIds List of company IDs (space-separated), max 20 at a timeContact Information ( company_get_contact.py --companyIds *)
--companyIds List of company IDs (space-separated), max 20 at a timeThis skill requires an API key. The API key is stored in the ~/.upkuajing/.env file:
bash
cat ~/.upkuajing/.env
Example file content:
text
UPKUAJING_API_KEY=your_api_key_here
First check if the ~/.upkuajing/.env file has UPKUAJING_API_KEY;
If UPKUAJING_API_KEY is not set, prompt the user to choose:
auth.py --new_key), the new key will be automatically saved to ~/.upkuajing/.env
Wait for user selection;When API response indicates insufficient balance, explain and guide user to top up:
auth.py --new_rec_order)Use this script to get account information for UPKUAJING_API_KEY: auth.py --account_info
When an API call fails or returns abnormal data (server error, timeout, malformed response, etc.), explain the anomaly to the user in natural language and ask whether to report it to the platform for troubleshooting. Only run the report after user confirmation:
bash
python scripts/error_report.py --params '{"requestPath":"/agent/customs/company/list","requestId":"f47ac10b58cc4372a5670e02b2c3d479","context":"Customs trade company search failed with a server error"}'
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)
Billed by number of calls, each call returns up to 20 records:
ceil(query_count / 20) timesBilled by number of IDs passed, max 20 IDs per call:
Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.
Choose the appropriate API based on user intent
User IntentUse API"Analyze trade patterns/order data"Trade list"Find companies purchasing XXX"Company list"Find suppliers for XXX with email"Company list existEmail=1"Get company detailed information"Company details"Get contact information"Contact information
User request: "Show 2024 LED lighting fixture trade data exported to US"
bash
python scripts/trade_list_search.py \
--params '{"products": ["LED lights"], "buyerCountryCodes": ["US"], "dateStart": 1704067200000, "dateEnd": 1735689599999}' \
--query_count 20
To further get supplier details (supports batch queries):
bash
python scripts/company_get_details.py --companyIds 123456 789012 ...
User request: "Analyze 100 soybean trade records from 2024" Before execution inform user: ceil(100/20) = 5 API calls, confirm before executing;
bash
python scripts/trade_list_search.py --params '{"products": ["soybean"], "dateStart": 1704067200000, "dateEnd": 1735689599999}' --query_count 100
User request: "Find 2000 companies importing electronics from China, with email addresses" Before execution inform user: ceil(2000/20) = 100 API calls, confirm before executing;
bash
python scripts/company_list_search.py --params '{"companyType": 2, "sellerCountryCodes": ["CN"], "existEmail": 1}' --query_count 1000
After execution: Script responds {"task_id":"a1b2-c3d4", "file_url": "xxxxx", ……} Continue execution, append data: Specify task_id, script continues query from last cursor and appends to file
bash
python scripts/company_list_search.py --task_id 'a1b2-c3d4' --query_count 1000
UPKUAJING_API_KEY in ~/.upkuajing/.env filepython scripts/error_report.py (see Report Skill Call Errors)Handle jsonl files carefully: For large data queries, pay attention to file size
Gradually enrich information: Only call details/contact interfaces when needed
python scripts/auth.py --price_info to get accurate pricing informationOther UpKuaJing skills you might find useful: