Global customs trade data aggregated across 220+ countries with integrated bulk search functionality for global B2B prospecting. Accelerate discovery ofverified genuine buyers and qualified international suppliers for export businesses. Dig into official import & export shipment records to pinpointproduct-matching importers and full historical transaction logs. Run targeted lookups filtered by company profiles, HS codes and product keywords. Trade teamsleverage verified real-world shipment intelligence to secure high-value B2B prospects and track competitors’ cross-border trading activity.
Access global customs trade data from 220+ countries. Search import‑export records via companies, HS codes and products. Find genuine buyers and monitor competitors for your export…
upkuajing openapi skills
@upkuajing
What This Skill Does
Searches global customs trade data from 220+ countries to find import/export records, company profiles, and shipment histories. Supports lookups by company name, HS code, or product keyword, and returns verified buyer/supplier intelligence with contact details.
Replaces manual trade research and fragmented data sources by providing a single API-driven search across official customs records from 220+ countries.
When to Use It
- Find verified overseas buyers for a specific product using HS code or keyword
- Research a competitor's cross-border trade partners and shipment volumes
- Identify new international suppliers by searching import records in your industry
- Validate a potential B2B partner's trade history and transaction frequency
- Monitor trade activity changes for a known company over a custom date range
- Enrich a list of target companies with contact emails, phones, and social media
Install
$ openclaw skills install @upkuajing/upkuajing-customs-trade-company-searchUpKuaJing Customs Trade Company Search
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.
Overview
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.
Running Scripts
Environment Setup
- Check Python:
python --version - 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/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.
Two Search Methods
Trade List Search (trade_list_search.py)
- Return granularity: Each trade order as one record
- Use cases: Focus on "what transactions occurred"
- Examples:
- "Show all orders where Company A purchased LED"
- "Find soybean trade records imported/exported to US"
- "View specific transaction details within a time period"
- 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:
- "Find companies that purchased LED"
- "Find US companies with electronics import/export business with China"
- "Find companies with China-US trade" (logistics industry customer development)
- Parameters: See Company List
Two Enhancement Features
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 *)
- Get company information (excluding contact information)
- Parameters:
--companyIdsList of company IDs (space-separated), max 20 at a time - API business parameters: Company Details
Contact Information (company_get_contact.py --companyIds *)
- Get contact details: email, phone, social media, website
- Parameters:
--companyIdsList of company IDs (space-separated), max 20 at a time - API business parameters: Get Contact Information
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:
- User has one: User provides it (manually add to ~/.upkuajing/.env file)
- 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:
- Create top-up order (
auth.py --new_rec_order) - 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
- Newly applied API key: Register and login at UpKuaJing Open Platform, then bind account
Report Skill Call Errors
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:
python scripts/error_report.py --params '{"requestPath":"/agent/customs/company/list","requestId":"f47ac10b58cc4372a5670e02b2c3d479","context":"Customs trade company search failed with a server error"}'
- Do not report normal business conditions (insufficient balance, invalid API key, parameter errors) — handle them via their own flows
- Error reporting does not incur query fees
- Parameters: See Error Report API
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)
List Search Billing Rules
Billed by number of calls, each call returns up to 20 records:
- Number of calls:
ceil(query_count / 20)times - Whenever query_count > 20, must before execution:
- Inform user of expected number of calls
- Stop, wait for explicit user confirmation in a separate message, then execute script
Enhancement Interface Billing Rules
Billed by number of IDs passed, max 20 IDs per call:
- Pass 1 ID = billed 1 time
- Pass 20 IDs = billed 20 times (single call limit)
- Before batch retrieval must:
- Inform user of number of IDs passed and corresponding fee count
- 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
Choose the appropriate API based on user intent
Decision Guide
| User Intent | Use 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 |
Usage Examples
Scenario 1: Small Query — Trade Data Analysis
User request: "Show 2024 LED lighting fixture trade data exported to US"
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):
python scripts/company_get_details.py --companyIds 123456 789012 ...
Scenario 2: Large Query — Big Data Analysis
User request: "Analyze 100 soybean trade records from 2024" Before execution inform user: ceil(100/20) = 5 API calls, confirm before executing;
python scripts/trade_list_search.py --params '{"products": ["soybean"], "dateStart": 1704067200000, "dateEnd": 1735689599999}' --query_count 100
Scenario 3: Ultra Large Query - Multiple Script Calls Required
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;
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
python scripts/company_list_search.py --task_id 'a1b2-c3d4' --query_count 1000
Error Handling
- API key invalid/non-existent: Check
UPKUAJING_API_KEYin~/.upkuajing/.envfile - Insufficient balance: Guide user to top up according to Account Top-up steps
- Invalid parameters: Must first check the corresponding API documentation in references/ directory, check parameter names and formats, do not guess
- Skill call errors / abnormal responses: Explain to the user and, with user confirmation, report to the platform via
python scripts/error_report.py(see Report Skill Call Errors)
API Documentation Reference
- Error Report: Check references/skill-error-report-api.md
Best Practices
Choosing the Right Method
-
Understand user intent:
- Analyze trade data? → Use trade list search
- Find customers/partners? → Use company list search
-
Check API documentation:
- Before executing list queries, must first check the corresponding API reference documentation
- Trade list: Check references/trade-list-api.md
- Company list: Check references/company-list-api.md
-
Identify parameter conditions:
- Set date range
- HS codes are usually more precise than product names for filtering
- Reduce noise by filtering specific countries
- Use ISO country codes: CN, US, JP, etc.
- Use filters to find companies with contact information
Handling Results
-
Handle jsonl files carefully: For large data queries, pay attention to file size
-
Gradually enrich information: Only call details/contact interfaces when needed
- Company IDs returned by both list interfaces can be used for both detail interfaces
- If user only needs a few companies, don't get details for all companies
Notes
- All timestamps are in milliseconds
- Country codes use ISO 3166-1 alpha-2 format (e.g., CN, US, JP)
- File paths use forward slashes on all platforms
- Product names and industry names must be in English
- Search quantity affects API response time, recommend setting timeout:120
- 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_infoto get accurate pricing information - Do not guess parameter names, get accurate parameter names and formats from documentation
Related Skills
Other UpKuaJing skills you might find useful:
- linkedin-person-search — Search people from the LinkedIn source
- global-company-person-search — Search people from the global company database
- linkedin-company-search — Search companies from the LinkedIn source
- global-company-search — Search companies from the global company database
- global-company-shareholder — Query shareholder list from the global company database
- global-company-employee — Query employee list from the global company database
- global-company-person-colleague — Query colleague list from the global company database
- global-company-person-alumni — Query alumni list from the global company database
- global-company-person-experience — Query work experience list from the global company database
- global-company-person-education — Query education history list from the global company database
- global-company-person-school-detail — Query school detail from the global company database
- upkuajing-global-company-people-search — Global company and people search
- upkuajing-email-tool — Send emails and manage email tasks
- upkuajing-map-merchants-search — Map-based merchant search
- upkuajing-sms-tool — Send SMS and manage SMS tasks
- upkuajing-contact-info-validity-check — Check contact info validity
- phone-validity-check — Check phone number validity
- email-validity-check — Check email address validity
- domain-validity-check — Check domain validity and security
Top skills in this category
Multi Search Engine
@gpyangyoujunMulti search engine integration with 16 engines (7 CN + 9 Global). Supports advanced search operators, time filters, site search, privacy engines, and Wolfra...
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Openai Whisper
@steipeteLocal speech-to-text with the Whisper CLI (no API key).
Tavily 搜索
@jacky1n7Web search via Tavily API (alternative to Brave). Use when the user asks to search the web / look up sources / find links and Brave web_search is unavailable...
Baidu web search
@ide-reaSearch the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.