Tech stack detection API with business intelligence signals. Detect technologies used by any website and get actionable insights about the company.
- 5,800+ Technologies - Comprehensive fingerprint database based on Wappalyzer patterns
- Business Signals - Infer company type, business model, and tech sophistication
- Lead Scoring - Automatic scoring based on detected stack and gaps
- Gap Analysis - Identify missing tools and sales opportunities
- Evidence Trail - Optional evidence for each detection
- SSRF Protected - Secure by default with comprehensive protections
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
npm startcurl -X POST http://localhost:3000/api/detect \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'| Parameter | Type | Default | Description |
|---|---|---|---|
url |
string | required | URL to scan |
timeout |
number | 15000 | Timeout in ms (max 30000) |
includeEvidence |
boolean | false | Include detection evidence |
{
"url": "https://vercel.com/",
"domain": "vercel.com",
"meta": {
"title": "Vercel: Build and deploy the best web experiences",
"description": "...",
"ssl": true,
"statusCode": 200
},
"technologies": [
{
"name": "Next.js",
"slug": "next-js",
"category": "frontend",
"confidence": "high",
"website": "https://nextjs.org",
"evidence": ["HTML: <script[^>]+src=\"[^\"]*\\/_next\\/..."]
}
],
"insights": {
"leadScore": 80,
"companyType": "startup",
"businessModel": "saas",
"activelySelling": false,
"marketingMaturity": "none",
"techSophistication": "modern",
"gaps": [
{
"category": "crm",
"insight": "SaaS company without CRM detected",
"opportunity": "May need HubSpot, Salesforce, or Pipedrive"
}
]
},
"scan": {
"timestamp": "2025-01-01T00:00:00.000Z",
"durationMs": 4500
}
}StackRadar doesn't just detect technologies - it infers business intelligence:
startup- Modern stack, smaller footprintsmb- Medium complexityenterprise- Enterprise tools detectedunknown- Insufficient signals
saas- SaaS indicators (Stripe, Intercom, Sentry, etc.)ecommerce- E-commerce platforms (Shopify, WooCommerce, etc.)media- Content-heavy CMSunknown- Insufficient signals
cutting-edge- Astro, Qwik, Bun, Edge functionsmodern- Next.js, Vercel, Supabasestandard- Common frameworkslegacy- jQuery, WordPress, older tech
Higher scores indicate better sales opportunities based on:
- Active selling (payment processing)
- Company type and size
- Identified gaps in tooling
- Marketing maturity level
StackRadar includes comprehensive SSRF protections:
- DNS resolution validation before requests
- Request interception for redirect validation
- Blocking of private IPs (127.x, 10.x, 192.168.x, etc.)
- Blocking of cloud metadata endpoints
- Hostname blocklist (localhost, *.internal, etc.)
- Resource size limits
| Code | Description |
|---|---|
| E001 | Invalid JSON in request body |
| E002 | Missing required field: url |
| E003 | Invalid URL format |
| E004 | Invalid URL protocol (only HTTP/HTTPS) |
| E005 | Private/internal IP blocked (SSRF protection) |
| E006 | Domain not found |
| E007 | Connection refused |
| E008 | Connection timeout |
| E009 | Page error |
| E010 | Unauthorized |
| E011 | Payload too large |
| E012 | Redirect blocked (SSRF protection) |
| E099 | Detection failed |
| Variable | Description |
|---|---|
AGENTOKRATIA_SECRET |
Optional API secret for authentication |
npm install -g vercel
vercelThe project automatically uses @sparticuz/chromium-min for serverless Chromium.
FROM node:20-slim
# Install Chrome dependencies
RUN apt-get update && apt-get install -y \
chromium \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
EXPOSE 3000
CMD ["npm", "start"]- Framework: Next.js 16 (App Router)
- Runtime: Node.js with Puppeteer
- Browser: Chromium (via @sparticuz/chromium-min for serverless)
- Language: TypeScript
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE for details.
Fingerprint patterns inspired by Wappalyzer (open source).