Contact Extractor
SkillFiles & storageMulti-source contact email extraction for KOL / media prospect rows. Given a CSV with personal_site / youtube / podcast_apple columns (e.g. output of linktree-expander or media-press-discovery), enrich each row with up to 3 ranked candidate emails + source label + confidence tier (high/medium/low/none). Triggers on "find contact email", "extract email from creator profile", "deep dig contact info", "enrich KOL contacts".
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Contact Extractor skill
What this skill tells your AI
The instructions your AI receives, as published by noique/cross-border-ecommerce-skills in tools/contact-extractor/SKILL.md and read by ahel’s review.
Multi-source email extraction with confidence tiering.
Quick Start
python3 scripts/extract_contacts.py linktree_expanded.csv --out linktree_with_contacts.csv
python3 scripts/extract_contacts.py creators.csv --verify --out enriched.csv # SMTP MX probe
Sources tried (in order)
- personal_site root + /about + /contact + /press + /work-with-me
- mailto: links → high confidence
- Visible text emails → medium
- YouTube Data API v3 (set
YOUTUBE_API_KEYenv var)- Channel description email → high
- Apple Podcasts public API (no key needed)
- RSS feed iTunes:owner email → high
- Email pattern guess (only if 1-3 produce no hits)
hello@,hi@,contact@,{firstname}@on personal_site domain- Low confidence unless
--verifyruns SMTP MX probe
Required input columns
personal_site— domain (e.g.nurtuher.com)
Optional input columns
youtube— channel slug or ID (for YouTube source)podcast_apple— Apple Podcast ID (for podcast RSS)page_title/linktree_handle— used as name hint for pattern guessing
Output
Same CSV + 5 new columns:
contact_email_1,contact_email_2,contact_email_3— rankedcontact_sources— e.g."site / podcast"(which sources hit)contact_confidence—high/medium/low/none
Confidence rubric
| Tier | Source pattern | Action |
|---|---|---|
| high | mailto: link OR YouTube API description OR podcast RSS owner | safe to outreach directly |
| medium | Visible text email on creator's site | spot-check before outreach |
| low | Pattern-guessed email only (no verification) | run --verify OR Hunter.io before outreach |
| none | No personal_site / no hits | needs IG bio extraction or manual lookup |
NEVER_DIG_DOMAINS
The script skips visiting known third-party domains that produce noise emails (link shorteners, affiliate platforms, scheduling tools, etc.). See list in source.
Pilot run (2026-05-06, 45 Linktree-derived KOLs)
After fixing personal_site identification (handle-match scoring) + NEVER_DIG filtering:
- 5 high (real mailto / podcast owner / brand support)
- 4 medium (text emails on creator sites)
- 11 low (pattern guess on validated personal_site)
- 25 none (no findable personal_site — recommend IG bio extraction next)
Limitations
- Requires
personal_sitein input — for KOLs without one (~50-70% of Linktree pool), this skill produces "none". Use IG bio extraction (Apify or manual) for those. - Pattern guess at low confidence has ~60% land rate (推算 industry baseline) — recommend SMTP probe or Hunter.io verification before mass send.
- YouTube channel
businessEmailis hidden behind CAPTCHA — only emails embedded in description are captured.
Signals
- GitHub stars
- 50
- Forks
- 6
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
contact-extractor- Source
- github.com/noique/cross-border-ecommerce-skills