Query paginated HS code trade data for a company — retrieve HS codes with trade counts, amounts, and percentages for supplier product-mix analysis. Trigger:...
---
name: customs-company-hscode-list
description: "Query paginated HS code trade data for a company — retrieve HS codes with trade counts, amounts, and percentages for supplier product-mix analysis.\n\nTrigger: customs HS code list, paginated HS code query, company product category details, trade classification breakdown, HS code drill-down"
metadata: {"version":"1.0.0","homepage":"https://www.upkuajing.com","clawdbot":{"emoji":"🔢","requires":{"bins":["python"],"env":["UPKUAJING_API_KEY"]},"primaryEnv":"UPKUAJING_API_KEY"}}
---
# Customs Company HS Code Trade List
Query paginated HS code trade data for a company from customs data using the UpKuaJing Open Platform API.
## Overview
This skill provides access to paginated HS code trade data from UpKuaJing's customs database. Given a company ID and company type, it returns a list of HS codes 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_hscode_list.py`. **Do NOT use** shell compound commands like `cd scripts && python customs_company_hscode_list.py`
### Company HS Code List Query (`customs_company_hscode_list.py`)
- **Return granularity**: One record per HS code
- **Use cases**: Browse through a company's HS codes with detailed stats, drill down into specific product categories
- **Examples**:
- "List HS codes for company 100001 as a supplier"
- "Get HS code details for company 100001 as a buyer"
- **Parameters**: See [Company HS Code List API](references/customs-company-hscode-list-api.md)
## API Key and Top-up
This skill requires an API key. The API key is stored in the `~/.upkuajing/.env` file:
```bash
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
- Newly applied API key: Register and login at [UpKuaJing Open Platform](https://developer.upkuajing.com/), then bind account
## Fees
**All API calls incur fees**, different interfaces have different billing methods.
**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)
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 HS code 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 Intent | Use API |
|-------------|---------|
| "List HS codes for company 100001 as a supplier" | Company HS Code List Query |
| "Show detailed HS code breakdown for company 100001" | Company HS Code List Query |
## Usage Examples
### Query Company HS Code List
**User request**: "List HS codes for company 100001 as a supplier"
```bash
python scripts/customs_company_hscode_list.py --params '{"companyId":100001,"companyType":1}'
```
**Query the next page**:
```bash
python scripts/customs_company_hscode_list.py --params '{"companyId":100001,"companyType":1,"cursor":"eyJsYXN0X2lkIjogMTAwMX0="}'
```
**Query with filters**:
```bash
python scripts/customs_company_hscode_list.py --params '{"companyId":100001,"companyType":1,"dateStart":1700000000000,"dateEnd":1735689599999,"countryCodes":["US"]}'
```
## 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 HS Code List: Check [references/customs-company-hscode-list-api.md](references/customs-company-hscode-list-api.md)
## Best Practices
1. **Check API documentation**:
- **Before executing queries, must first check the corresponding API reference documentation**
- Check [references/customs-company-hscode-list-api.md](references/customs-company-hscode-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., 23.45 means 23.45%)
- `hscode` is the HS code string (e.g., "847130")
4. **Cross-skill usage**:
- The company ID can be obtained from **customs-company-stats** or **upkuajing-customs-trade-company-search**
- HS codes 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
## Related Skills
Other UpKuaJing skills you might find useful:
- customs-company-hscode-stats — Query company trade HS code statistics
- customs-company-area-stats — Query company trade area statistics
- customs-company-area-list — Query company trade area list
- customs-company-product-list — Query company trade product list
- customs-company-port-list — Query company trade port 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
don't have the plugin yet? install it then click "run inline in claude" again.
Query company customs trade statistics by HS code dimension — analyze HS code distribution, trade volume breakdown, and monthly trade trends. Trigger: custom...