依托 LinkedIn 数据库,结合岗位职位、所属企业、所在地区筛选目标人员,帮助销售团队、招聘专员及商务拓展人员精准挖掘企业决策者和潜在商务联系人。
Data & analysis
Pinpointing LinkedIn personnel, locating individuals from LinkedIn data by name, company,job title, and industry. Helping recruiters, sales teams, and B2B lead-generationspecialists discover LinkedIn profiles, source candidates, and enrich contactdata—suit
Try itSearch LinkedIn professionals with name, company and job‑title filters. Fetch profile information to support head‑hunting and global sales‑lead development. Trigger: LinkedIn people search, find targeted professionals, global lead generation, executive headhunting, contact‑data enrichment
What it does
Search LinkedIn professionals with name, company and job‑title filters. Fetch profile information to support head‑hunting and global sales‑lead development. Trigger: LinkedIn people search, find targeted professionals, global lead generation, executive headhunting, contact‑data enrichment
The skill document
LinkedIn Person Search
Search people data from LinkedIn using the UpKuaJing Open Platform API.
Overview
This skill provides access to UpKuaJing's LinkedIn people data through one list search script. 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/linkedin_person_search.py. Do NOT use shell compound commands like cd scripts && python linkedin_person_search.py
LinkedIn Person List Search (linkedin_person_search.py)
- Return granularity: Each person as one record
- Use cases: Focus on "which people exist" in LinkedIn data
- Examples:
- "Find CTOs at XXXX"
- "Find Sales Directors in China"
- Parameters: See LinkedIn Person List
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
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
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 parameters based on user intent.
Decision Guide
| User Intent | Use API |
|---|---|
| "Find CTOs of XX company" | LinkedIn person list (companyNames + titleNames) |
| "Find people with email in US" | LinkedIn person list existEmail=1 + countryCodes=["US"] |
| "Find people in a specific industry" | LinkedIn person list humanIndustries |
Usage Examples
Scenario 1: Small Query — Search People
User request: "Find CTOs at XXXX"
python scripts/linkedin_person_search.py \
--params '{"companyNames": ["XXXX"], "titleNames": ["CTO"]}' \
--query_count 20
Scenario 2: Large Query — Multiple Script Calls Required
User request: "Find 1000 US people with email addresses in the tech industry" Before execution inform user: ceil(1000/20) = 50 API calls, confirm before executing.
python scripts/linkedin_person_search.py --params '{"humanIndustries": ["technology"], "countryCodes": ["US"], "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 from where it left off and appends to file
python scripts/linkedin_person_search.py --task_id 'task-id-here' --query_count 2000
Error Handling
- API key invalid/non-existent: Check
UPKUAJING_API_KEYin~/.upkuajing/.envfile - 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
- LinkedIn Person List API
Best Practices
-
Check API documentation:
- Before executing queries, must first check the corresponding API reference documentation
- Check references/linkedin-person-list-api.md
- Do not guess parameter names, get accurate parameter names and formats from documentation
-
Optimize query parameters:
- Use
humanIndustries/companyNamesto filter precisely; industry names must be in English - Use
existEmail=1orexistPhone=1to filter people with contact information - Use
countryCodesto limit country scope
- Use
-
Large result sets:
- For large queries, pay attention to the jsonl file size
Notes
- People records use
hidas the unique identifier;pidis the associated company identifier - Country codes use ISO 3166-1 alpha-2 format (e.g., CN, US, JP)
- File paths use forward slashes on all platforms
- 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:
- global-company-person-search — Search people from the global company database
- linkedin-company-search — Search companies from LinkedIn data
- 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 — Unified company and people search across all sources
- upkuajing-customs-trade-company-search — Search customs trade companies
- 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
Related skills
Search global corporate personnel with name, company and profile URLs. Enrich contact data for head‑hunting and overseas sales‑lead development. Trigger: global personnel lookup, find international business contacts, cross‑border lead development, executive head‑hunting, contact‑data enrichment
Pull LinkedIn employee lists and job titles by company ID. Analyze internal hierarchies for talent mapping and qualified sales‑lead development. Trigger:LinkedIn employee lookup, corporate hierarchy research, team‑structure analysis, B2B lead qualification, talent mapping via LinkedIn
Search companies from LinkedIn filtered by industry, size and founding year. Collect firmographic data to boost client‑hunting and account‑based sales outreach. Trigger: LinkedIn company lookup, firmographic data enrichment, account‑based selling, B2B client research, competitor analysis via LinkedIn
Pull LinkedIn person and company profiles, their posts, job listings and post comments as structured JSON. 9 endpoints from 1 to 30 credits, four of them paginated, for prospecting, recruiting, and market research.
Enrich a list of prospects (profile URLs, slugs, or names) with LinkedIn role and experience data via Veezee. Use when the user wants current titles, companies, or work history for known people, or asks to "enrich" leads/prospects/candidates.