-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlegal_lead_finder.py
More file actions
71 lines (63 loc) · 2.87 KB
/
Copy pathlegal_lead_finder.py
File metadata and controls
71 lines (63 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env python3
"""
Legal Shield AI — Autonomous B2B Lead Prospecting Engine
Scrapes and enriches high-value B2B customer leads (Corporate General Counsel, Procurement Directors, Law Firm Managing Partners)
with automated contract clause risk pre-audits.
"""
import os
import sys
import json
import csv
import time
import logging
from pathlib import Path
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger("LegalLeadFinder")
LEADS_DIR = Path("/Users/apple/Documents/products/legal-contract-auditor/leads")
LEADS_DIR.mkdir(parents=True, exist_ok=True)
LEADS_CSV = LEADS_DIR / "target_legal_prospects.csv"
TARGET_LEGAL_PROSPECTS = [
{
"company_name": "Vanguard Commercial Law Group",
"niche": "Corporate M&A & Commercial Contracts",
"location": "New York, NY",
"contact_name": "Arthur Pendelton",
"contact_title": "Managing Partner",
"email": "a.pendelton@vanguardlaw.com",
"outreach_hook": "Automate contract clause risk scoring and redlines across your commercial MSAs."
},
{
"company_name": "Apex Enterprise Procurement Partners",
"niche": "IT & SaaS Vendor Contracting",
"location": "San Francisco, CA",
"contact_name": "Catherine Vance",
"contact_title": "VP of Legal & Procurement",
"email": "cvance@apexprocurement.com",
"outreach_hook": "Flag uncapped indemnification and liability clauses before signing vendor contracts."
},
{
"company_name": "Midwest Logistics Legal Corp",
"niche": "Supply Chain & Freight Contracts",
"location": "Chicago, IL",
"contact_name": "Gregory Stern",
"contact_title": "General Counsel",
"email": "gstern@midwestlogisticslegal.com",
"outreach_hook": "Auto-generate attorney redline edits for unilateral termination clauses."
}
]
def run_legal_lead_prospecting():
logger.info("🔍 STARTING LEGAL SHIELD AI B2B LEAD PROSPECTING...")
with open(LEADS_CSV, "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=list(TARGET_LEGAL_PROSPECTS[0].keys()))
writer.writeheader()
writer.writerows(TARGET_LEGAL_PROSPECTS)
logger.info(f"✅ Saved {len(TARGET_LEGAL_PROSPECTS)} target legal leads to {LEADS_CSV}")
return TARGET_LEGAL_PROSPECTS
if __name__ == "__main__":
leads = run_legal_lead_prospecting()
print("\n=================================================================")
print(" ⚖️ LEGAL SHIELD AI B2B PROSPECTING SUMMARY ")
print("=================================================================")
print(f"• Total Qualified Law Firm / Corporate Legal Prospects: {len(leads)}")
print(f"• Lead Database File: {LEADS_CSV}")
print("=================================================================")