Install
openclaw skills install @upkuajing/global-company-shareholderRetrieve overseas shareholders, executives and ultimate beneficial owners by company ID. Analyze equity structure for due‑diligence, investment research and competitor background checks. Trigger: ultimate beneficial owner check, corporate equity structure lookup, overseas shareholder research, company due‑diligence, related‑party transaction screening, identify actual company controllers
openclaw skills install @upkuajing/global-company-shareholderQuery shareholder data from the global company database (全球企业库) using the UpKuaJing Open Platform API.
This skill provides access to shareholder information from UpKuaJing's global company database. Given a company ID (pid), it returns the list of shareholders with their IDs, names, types, shareholding methods, and ratios.
Prerequisite: The company ID (pid) is required as input. If the user does not already have a company ID, use the global-company-search skill first to search for the target company and obtain its pid, then proceed with this skill.
python --versionpip install -r requirements.txtScript directory: scripts/*.py
Run example: python scripts/*.py
Important: Always use direct script invocation like python scripts/company_shareholder_list.py. Do NOT use shell compound commands like cd scripts && python company_shareholder_list.py
company_shareholder_list.py)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
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:
python scripts/error_report.py --params '{"requestPath":"/agent/search/depth_company/company/shareholder/list","requestId":"f47ac10b58cc4372a5670e02b2c3d479","context":"Shareholder list query 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 shareholder data for one company:
Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.
| User Intent | Use API |
|---|---|
| "Who are the shareholders of company US_12345?" | Shareholder List Query |
| User has a company name but no pid | global-company-search (find the company and get its pid, then use this skill) |
User request: "Who are the shareholders of company US_12345?"
python scripts/company_shareholder_list.py --pid US_12345
UPKUAJING_API_KEY in ~/.upkuajing/.env filepython scripts/error_report.py (see Report Skill Call Errors)Check API documentation:
Query parameters:
shareholderId as the unique identifiertotal field indicates the total number of shareholderspython scripts/auth.py --price_info to get accurate pricing informationOther UpKuaJing skills you might find useful: