Every B2B sales team researches prospects manually. They Google the company, check LinkedIn, browse the website. What if you could detect a company's entire tech stack in one API call?
What is Tech Stack Detection?
Tech stack detection analyzes a website and identifies every technology it uses — frameworks, analytics, CDNs, payment processors, CRMs, and more.
# Detect the tech stack of any website
curl "https://api.lazy-mac.com/tech-stack/detect?url=https://stripe.com"
Response:
{
"url": "https://stripe.com",
"technologies": [
{"name": "React", "category": "JavaScript Framework"},
{"name": "Next.js", "category": "Web Framework"},
{"name": "Cloudflare", "category": "CDN"},
{"name": "Segment", "category": "Analytics"},
{"name": "Marketo", "category": "Marketing Automation"}
],
"confidence": 0.94
}
Why Sales Teams Care
1. Qualify Leads Instantly
A company using Segment, Mixpanel, and HubSpot is likely a well-funded SaaS. A company with just WordPress and Google Analytics is probably a small business.
import requests
def qualify_lead(website_url: str) -> str:
resp = requests.get("https://api.lazy-mac.com/tech-stack/detect", params={
"url": website_url
})
stack = resp.json()
premium_tools = ["Segment", "Salesforce", "Marketo", "Snowflake", "Datadog"]
matches = [t for t in stack["technologies"] if t["name"] in premium_tools]
if len(matches) >= 3:
return "enterprise"
elif len(matches) >= 1:
return "mid-market"
return "smb"
tier = qualify_lead("https://example.com")
print(f"Lead tier: {tier}")
2. Personalize Outreach
Knowing a prospect uses React + AWS tells you they are technical. Knowing they use Shopify + Mailchimp tells you they are marketing-focused.
3. Competitive Intelligence
Find companies using your competitor's product and pitch your alternative.
# Find what CRM a company uses
curl "https://api.lazy-mac.com/tech-stack/detect?url=https://target.com&category=CRM"
Integration Examples
Node.js — Enrich CRM Leads
const enrichLead = async (websiteUrl) => {
const resp = await fetch(
`https://api.lazy-mac.com/tech-stack/detect?url=${encodeURIComponent(websiteUrl)}`
);
const data = await resp.json();
return {
technologies: data.technologies.map(t => t.name),
categories: [...new Set(data.technologies.map(t => t.category))],
techScore: data.technologies.length,
hasAnalytics: data.technologies.some(t => t.category === 'Analytics'),
hasCRM: data.technologies.some(t => t.category === 'CRM')
};
};
// Bulk enrich your lead list
const leads = ['https://company1.com', 'https://company2.com'];
const enriched = await Promise.all(leads.map(enrichLead));
Python — Batch Processing
import requests
from concurrent.futures import ThreadPoolExecutor
def detect_stack(url):
try:
resp = requests.get("https://api.lazy-mac.com/tech-stack/detect",
params={"url": url}, timeout=30)
return {"url": url, "stack": resp.json()}
except requests.RequestException as e:
return {"url": url, "error": str(e)}
urls = ["https://stripe.com", "https://shopify.com", "https://linear.app"]
with ThreadPoolExecutor(max_workers=5) as pool:
results = list(pool.map(detect_stack, urls))
for r in results:
if "stack" in r:
techs = [t["name"] for t in r["stack"]["technologies"]]
print(f"{r['url']}: {', '.join(techs[:5])}")
Pricing
The Tech Stack Detection API starts free (100 lookups/month) with paid tiers for production use.
Top comments (0)