Linkedin Email Phone Apify
v1.0.0Enrich LinkedIn profile URLs with mobile phone numbers and work/personal emails using Apify actors, merging results into unified output records.
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description (LinkedIn enrichment via Apify) match the implementation: the script calls Apify actor endpoints using two hardcoded actor IDs and merges results. However, registry metadata provided at the top of the submission claims no required env vars/credentials while SKILL.md and the script clearly require an APIFY_TOKEN — this mismatch should be resolved.
Instruction Scope
SKILL.md and the included Python script limit actions to: accepting LinkedIn URLs, normalizing them, calling Apify run-sync endpoints for two actor IDs, merging responses, and returning JSON. The instructions do not ask the agent to read unrelated system files, call obscure endpoints, or exfiltrate secrets beyond using the declared APIFY_TOKEN.
Install Mechanism
No install spec — instruction-only skill with a bundled Python script. There are no downloads or archive extraction steps. Risk from installation is low; the script runs in the user's environment and relies on standard library modules only.
Credentials
The script requires a single credential (APIFY_TOKEN), which is appropriate for running Apify actors. The inconsistency: registry metadata earlier listed 'Required env vars: none' and 'Primary credential: none' while SKILL.md and the script declare APIFY_TOKEN as required/primary. Confirm the registry metadata or SKILL.md to avoid surprises.
Persistence & Privilege
The skill does not request permanent 'always' inclusion and does not modify other skills or system-wide agent settings. It runs only when invoked and accepts the token via env var or CLI argument.
Assessment
This skill is internally consistent with its purpose: it needs an Apify API token to run two actors and merge results. Before installing, verify the following: 1) The APIFY_TOKEN is legitimate and scoped appropriately (avoid using a highly privileged token in shared environments); 2) Confirm the two hardcoded actor IDs on your Apify account/console to ensure you trust those actors and their provider; 3) The registry metadata mismatch (claims no env vars vs SKILL.md requiring APIFY_TOKEN) should be corrected — assume the skill needs APIFY_TOKEN; 4) Test with a very small set of LinkedIn URLs first and avoid supplying secrets or unrelated files; 5) Consider legal/ToS implications of scraping LinkedIn data and ensure your use complies with applicable rules; 6) If you deploy in automation, monitor runs and be prepared to rotate/revoke the APIFY_TOKEN if anything unexpected occurs.Like a lobster shell, security has layers — review code before you run it.
apifylatestlead-enrichmentlinkedin-email-finderlinkedin-phone-finderlinkedin-scraperopenclaw
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
LinkedIn Email + Phone Enrichment (Apify)
Overview
This skill runs two Apify actors in one pipeline and merges results by LinkedIn profile URL:
- Phone actor:
X95BXRaFOqZ7rzjxM - Email actor:
q3wko0Sbx6ZAAB2xf
Use this when the user wants one command to enrich a LinkedIn URL list with:
- mobile phones
- work emails
- personal emails
- unified rows for n8n/Sheets/CRM
Step-by-step workflow
- Accept LinkedIn URLs (
linkedinUrls) from user. - Validate and normalize URLs.
- Decide branches:
- run phone actor if
includePhones=true - run email actor if
includeEmails=true
- Run selected actors on the same URL list.
- Merge results by normalized LinkedIn URL.
- Return summary + merged rows.
Authentication
export APIFY_TOKEN='apify_api_xxx'
or
python3 scripts/linkedin_email_phone_pipeline.py run \
--apify-token 'apify_api_xxx' \
--input-file references/sample_input.json
Quick start
APIFY_TOKEN='apify_api_xxx' \
python3 scripts/linkedin_email_phone_pipeline.py run \
--input-file references/sample_input.json
Toggle branches
Emails only:
APIFY_TOKEN='apify_api_xxx' \
python3 scripts/linkedin_email_phone_pipeline.py run \
--input-json '{
"linkedinUrls": ["https://www.linkedin.com/in/williamhgates"],
"includeEmails": true,
"includePhones": false,
"includeWorkEmails": true,
"includePersonalEmails": true,
"onlyWithEmails": true
}'
Phones only:
APIFY_TOKEN='apify_api_xxx' \
python3 scripts/linkedin_email_phone_pipeline.py run \
--input-json '{
"linkedinUrls": ["https://www.linkedin.com/in/williamhgates"],
"includeEmails": false,
"includePhones": true,
"onlyWithPhones": true
}'
Notes
- Actor IDs are hardcoded to your provided IDs.
linkedinUrlsis required.- At least one branch must be enabled (
includeEmailsorincludePhones). - Output rows contain available email/phone fields in one record.
References
references/input-contract.mdreferences/troubleshooting.md
Files
8 totalSelect a file
Select a file to preview.
Comments
Loading comments…
