Teach Your Claude Code to Enrich Leads with Apify
Real Apify actor configs, real enrichment pipelines, real data quality rules. Everything below is from the actual skill file. Read it, learn it, then download the complete version.
What this skill file teaches Claude
Drop one markdown file into your repo. Claude Code learns how to enrich every lead in your CRM with real company data.
LinkedIn Scraping
Pull job titles, company, connections, and activity from public LinkedIn profiles.
Company Intelligence
Scrape websites for size, industry, team, pricing, and about info.
Tech Stack Detection
Identify CMS, analytics, CRM, and dev tools a company uses.
Contact Discovery
Find email addresses and phone numbers from public sources.
News & Signals
Recent funding, job postings, product launches, and company events.
CRM Auto-Sync
Merge enriched data into your Neon Postgres contacts table automatically.
Enrichment pipeline
A raw lead goes in with just a name and company. A fully enriched contact record comes out the other side.
What an enriched contact looks like
Every enriched field comes from a specific data source. Here's a real contact with each source labeled.
The enrichment agent
These rules go into departments/sales/agents/lead-enricher.md. Claude Code follows them when enriching every contact.
If a human has verified a field (email, title, company), the agent must preserve it. Scraped data goes into a staging column for review, not directly into the verified field.
Pattern match the email format, then verify the domain has valid MX records. Mark unverifiable emails as "unverified" -- never assume they're valid.
Apify and LinkedIn have rate limits. Batch processing with delays prevents bans and keeps costs predictable. Never run unbounded enrichment jobs.
Low scores mean missing data. These contacts need a human to investigate -- maybe the company is private, or the LinkedIn profile doesn't exist.
When enrichment finds an existing contact, merge the new data into the existing record. Never create a second record for the same person.
Every field change, every source used, every API call -- logged as an event. If enrichment data is wrong, you can trace exactly where it came from.
How the enrichment pipeline works
Six stages. Fully automated. One repo. Raw leads go in, enriched contacts come out -- no exports, no data silos.
Shared CRM
Every stage reads from and writes to the same Neon Postgres database. When a lead is enriched, every department sees the updated data instantly -- sales, marketing, growth.
Event-driven
Every enrichment action is logged: field_updated, source_used, score_changed, enrichment_failed. Full audit trail for every contact in your pipeline.
Human-in-the-loop
AI enriches 100 contacts. You review the 4 flagged ones. Approve. Ship. The agent handles volume. You handle judgment.
Enrich your CRM with plain English
Tell Claude Code what to enrich. It scrapes LinkedIn, crawls websites, detects tech stacks, and updates your CRM.
Enriching 34 new contacts...
Source: Apify LinkedIn Profile Scraper + Website Crawler
✓ 34 LinkedIn profiles scraped
✓ 28 company websites crawled
✓ 31 tech stacks detected
✓ 19 funding signals found
Enrichment coverage:
90-100% complete: 22 contacts ✓
60-89% complete: 8 contacts
< 60% complete: 4 contacts &TriangleDot; (flagged for review)
→ Average enrichment score: 84%. 4 contacts need manual review. Tech stack analysis for 28 companies:
Most common tools:
1. Google Analytics — 24/28 (86%)
2. React/Next.js — 16/28 (57%)
3. HubSpot CRM — 12/28 (43%) ← potential pain point
4. Stripe — 11/28 (39%)
5. Intercom — 9/28 (32%)
CRM distribution:
HubSpot: 12 | Salesforce: 6 | None detected: 10
→ 10 companies with no detected CRM = high-intent prospects. Re-enrichment complete for 4 contacts:
Sarah Kim (Acme Corp)
Before: 35% → After: 82% ✓
Added: title, company_size, tech_stack, funding
Tom Rivera (LaunchPad Inc)
Before: 28% → After: 71% ✓
Added: title, linkedin_url, company_size
Priya Sharma (ScaleUp.io)
Before: 40% → After: 91% ✓
Added: tech_stack, recent_news, funding, email
James Chen (StartupXYZ)
Before: 32% → After: 45% &TriangleDot;
Reason: Private LinkedIn, minimal web presence
→ 3 of 4 contacts now above 60% threshold. Rate limits & data quality
The skill file includes rate limits and quality rules so your enrichment stays accurate and your accounts stay safe.
| Service | Limit | Notes |
|---|---|---|
| Apify (Starter) | ~30K runs/mo | $49/mo, usage-based |
| LinkedIn scraping | 100-200/day | Rate-limit to avoid bans |
| Google Search | 1,000 queries/day | Via Apify Google actor |
Quality rules
Get the full skill file
Everything above is 80% of the skill file. Download the complete version with full Apify actor configs, data mapping rules, quality checks, and setup instructions.
Common questions
Keep building your data stack
Related Solutions
More tools and workflows from across SoloStack
Free CRM
Unlimited contacts, zero per-seat pricing. AI-managed CRM in your repo.
Free ToolFree Email Marketing
Send campaigns with Resend API. No monthly fees, no subscriber limits.
Free ToolFree Scheduling
Booking pages with Google Calendar sync. Replace Cal.com for $0/mo.
Free ToolFree Website Builder
Build with Astro + AI. Static, fast, SEO-optimized, fully customizable.
Ready to enrich smarter?
Join the waitlist and get early access to the full SoloStack lead enrichment system.
Join Waitlist →