Your CRM has thousands of leads. Names, emails, company URLs. But without knowing what technologies those companies use, your sales team is shooting in the dark.
Tech stack data transforms cold outreach into relevant conversations. If you're selling a Shopify app, you only want leads running Shopify. If you offer WordPress security, you need WordPress sites.
In this guide, we'll build a lead enrichment pipeline that takes a list of company domains and enriches each one with technology data using the DetectZeStack API.
The Pipeline
- Export leads from your CRM (just the domain column)
- Batch analyze with DetectZeStack (10 domains per request)
- Filter and score leads by technology match
- Push enriched data back to your CRM
Step 1: Prepare Your Domain List
Export your leads as a CSV. The only required field is the company's domain:
domains.csv:
company,domain
Acme Corp,acmecorp.com
Globex Inc,globex.io
Initech,initech.com
Step 2: Batch Analyze
The /analyze/batch endpoint processes up to 10 URLs concurrently. Here's a Python script that reads your CSV and enriches each domain:
import csv
import json
import requests
import time
API_URL = "https://detectzestack.fly.dev/analyze/batch"
API_KEY = "your-api-key"
BATCH_SIZE = 10
def enrich_domains(csv_path):
with open(csv_path) as f:
rows = list(csv.DictReader(f))
enriched = []
for i in range(0, len(rows), BATCH_SIZE):
batch = rows[i:i + BATCH_SIZE]
urls = [row["domain"] for row in batch]
resp = requests.post(API_URL, json={"urls": urls}, headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
})
results = resp.json().get("results", [])
for row, result in zip(batch, results):
techs = [t["name"] for t in result.get("technologies", [])]
categories = set()
for t in result.get("technologies", []):
categories.update(t.get("categories", []))
row["technologies"] = ", ".join(techs)
row["categories"] = ", ".join(categories)
row["tech_count"] = len(techs)
enriched.append(row)
time.sleep(1) # Respect rate limits
return enriched
results = enrich_domains("domains.csv")
For 1,000 leads, that's 100 API calls — well within the Pro plan's 5,000 monthly limit.
Step 3: Filter and Score
Now filter leads by relevance:
# Find all Shopify stores
shopify_leads = [r for r in results if "Shopify" in r["technologies"]]
# Find WordPress sites without a CDN
wp_no_cdn = [
r for r in results
if "WordPress" in r["technologies"]
and not any(cdn in r["technologies"]
for cdn in ["Cloudflare", "Fastly", "CloudFront"])
]
# Score leads by tech stack overlap with your ideal customer
TARGET_TECHS = {"React", "Next.js", "Vercel", "Stripe"}
for lead in results:
lead_techs = set(lead["technologies"].split(", "))
lead["score"] = len(lead_techs & TARGET_TECHS)
results.sort(key=lambda r: r["score"], reverse=True)
Pro tip: Use the
/compareendpoint to compare a prospect's stack against your best customer's stack. High overlap = high-probability close.
Step 4: Push to Your CRM
Most CRMs support custom fields. Once technology data is in your CRM, you can:
- Create smart lists filtered by technology ("All Shopify + Klaviyo leads")
- Trigger automated sequences based on tech stack match
- Personalize email templates with technology references
- Route leads to the right sales rep based on tech expertise
Real-World Use Cases
SaaS Sales: Find companies using a competitor's product. "I noticed you're using [Competitor] — here's how we compare."
Agency Prospecting: Find sites on outdated tech. "Your site runs jQuery 1.x — we can modernize it."
Platform Partnerships: Find companies in your ecosystem. "You're on Vercel + Next.js — our integration is built for your stack."
Security Services: Identify sites with known vulnerable technologies using CPE data. Offer remediation.
Keeping Data Fresh
Tech stacks change. Set up webhook alerts for real-time monitoring:
curl -X POST "https://detectzestack.fly.dev/webhooks" \
-H "X-Api-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "important-prospect.com",
"webhook_url": "https://your-app.com/webhook",
"secret": "your-hmac-secret"
}'
Cost Comparison
Enriching 1,000 leads monthly:
| Tool | Monthly Cost |
|---|---|
| BuiltWith | $995/mo |
| Wappalyzer | $450/mo |
| DetectZeStack | $5/mo |
At $5/month for 5,000 requests, you can enrich your entire pipeline for less than a single month of the cheapest alternative. See our full comparison for details.
Get your free API key — 100 requests/month, no credit card required.
What's your lead enrichment workflow? I'd love to hear how you're using tech detection in the comments.
Top comments (0)