Install any skill in seconds. Free to start, no credit card required.
Get Started Free →apify/apify-lead-scoring-enrichment
Score and enrich a CSV of B2B leads using Apify Actors. Takes a CSV with company URLs, free-text scoring rules, and an enrichment preference; runs BuiltWith (tech stack), Website Content Crawler (content classification), and Contact Info Scraper (company metadata) for scoring; enriches with either department-specific contacts (Contact Info Scraper + Bulk Email Finder fallback) or copywriter discovery (Google Search Scraper → AI Web Scraper → Bulk Email Finder). Outputs an enriched CSV with a num
Passed 12 of 19 test cases with the skill, and 3 of 19 without it.
and 12 more in the full report
12 fixed2 passed either way7 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am running scripts/enrich_departments.js for sales contacts with max 3 leads per domain. I also want to check email deliverability status for returned emails. Which option flag enables this validation?
| Checked | Without skill | With skill |
|---|---|---|
| Includes --verify-emails when running the department enrichment script. | Missed | Passed |
The instructions your model reads when the skill loads.
Turn a CSV of company URLs into a scored, contact-enriched pitch list. The agent asks the user for scoring rules in plain English ("+10 if using Shopify", "-5 if company size <10"), picks an enrichment path (departments or copywriters), and orchestrates six Apify Actors through four helper scripts.
APIFY_TOKEN (Console → Settings → Integrations)--env-file support).env file at the skill root containing APIFY_TOKEN=apify_api_...scripts/: npm install (installs csv-parse, csv-stringify)Optional but recommended: the Apify CLI (npm i -g apify-cli) for ad-hoc Actor
calls. The helper scripts hit the REST API directly and do not need the CLI.
Copy this checklist and track progress:
Task Progress:
- [ ] Step 1: Collect CSV path and validate required column (company_url)
- [ ] Step 2: Collect scoring rules per source (tech / content / metadata)
- [ ] Step 3: Collect enrichment path (departments OR copywriters)
- [ ] Step 4: Run scoring Actors (writes scoring.json)
- [ ] Step 5: Apply scoring rules per lead → assign per-source scores + outreach_hook (writes scored.json)
- [ ] Step 5b: Compute theoretical min/max score, ask user for qualification threshold, filter leads → qualified_leads.csv
- [ ] Step 6: Run enrichment path against qualified_leads.csv (writes enrichment.json)
- [ ] Step 7: Merge scoring + enrichment onto the ORIGINAL CSV → leads.enriched.csv (qualified column marks who made the cut)
Ask the user for the CSV path. Required column: company_url. Recognized
optional columns pass through untouched: company_name, first_name,
last_name, role, department. Reject the run if company_url is
missing. Trim to a bare domain (strip trailing slash, www. optional) when
feeding downstream Actors that expect a domain.
test cases passed, vs 3 / 19 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.