AI Lead Qualifier — Score Leads & Write Openers
Pricing
Pay per event
AI Lead Qualifier — Score Leads & Write Openers
Score any batch of leads against your ideal customer profile (1-10) and draft a personalized cold-open line for each. Feed it any lead scraper's output. Bring your own OpenAI-compatible key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Rook DataTools
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Turn a raw list of leads into a scored, prioritized outreach list — with a personalized opening line already written for each one. Point it at any batch of leads, describe your ideal customer and your offer, and get back every lead scored 1–10 with a one-sentence reason and a ready-to-send cold-open line.

Not a scraper — this is the qualification layer that goes after scraping. Feed it the output of any lead-scraper on Apify (including the Wild Apricot, MembershipWorks, and ChamberMaster directory scrapers) and it turns hundreds of raw rows into a ranked call list.
Bring your own key = you pay pennies here
The model runs on your OpenAI-compatible API key (OpenAI by default; works with Azure, OpenRouter, Together, local servers — anything OpenAI-compatible). Because the model cost is billed to your own account, this Actor charges only a few cents per lead for the orchestration, prompting, parsing, and delivery.
Input
{"leads": [{ "name": "Bluewater Bistro", "category": "Restaurant", "city": "Seattle" }],"inputDatasetId": "PASTE_A_SCRAPER_RUN_DATASET_ID_optional","icpDescription": "Independent restaurants and bars, not chains.","offerDescription": "Modern restaurant POS with free install.","scoreThreshold": 7,"onlyReturnQualified": false,"model": "gpt-4o-mini","apiKey": "sk-your-own-key"}
- leads: array of objects (any shape) or strings. And/or…
- inputDatasetId: qualify another Actor's output directly — paste its dataset ID.
- icpDescription / offerDescription: the sharper and more specific, the better the scores.
- onlyReturnQualified: return just the leads that meet your threshold.
- model / apiBaseUrl / apiKey: your provider and key (key stored as a secret).
Output
Each input lead is returned unchanged, plus a _qualification block:
{"name": "Bluewater Bistro","category": "Restaurant","city": "Seattle","_qualification": {"score": 9,"reason": "Independent food-service business, strong ICP fit.","opener": "Saw your spot listed locally — most independents here still run legacy POS; ours installs free before your next weekend rush.","qualified": true,"model": "gpt-4o-mini","at": "2026-07-23T21:40:00.000Z"}}
Typical workflow (the flywheel)
- Run a directory/lead scraper → dataset of raw businesses.
- Run AI Lead Qualifier with that
inputDatasetId+ your ICP + offer. - Export the qualified rows (with openers) to your CRM / Google Sheet / Slack.
Notes
- Robust to messy model output — a malformed response never kills the run; it fails safe per lead.
- Concurrency is configurable (1–10) for speed vs. rate limits.
- Your API key is stored as a secret and used only to call your chosen model.
- No personal data is sent anywhere except your own model provider.
🔗 Part of a lead-generation suite (scrape → enrich → qualify)
This Actor works best chained with its companions on the same account:
- Directory scrapers — get businesses/members (name + website) from Wild Apricot, MembershipWorks, or ChamberMaster / GrowthZone directories.
- Business Website Contact Extractor — add the emails/phones the directories hide.
- AI Lead Qualifier — score each lead against your ICP and write a personalized opener.
Pass a run's dataset ID into the next step. NOTE: cross-actor chaining needs your apifyToken in the input (Apify runs actors with limited permissions, so reading another run's dataset requires your token).