DEV Community

Cover image for I Built a BuiltWith Alternative That Costs 30x Less
Elman Mahmudov
Elman Mahmudov

Posted on

I Built a BuiltWith Alternative That Costs 30x Less

I wanted to analyze what technologies my competitors use — programmatically, across multiple domains.

I started looking for an API. The first quote I got was $295/month — from BuiltWith. Wappalyzer wanted $250/month.

A quick note: BuiltWith is a different product — it maintains a massive historical database of 68K+ technologies by crawling the web over years. If you need to know what a site used in 2019, BuiltWith is your only option. I needed real-time detection — visit a URL right now and analyze what's actually running. Different problem.

I checked RapidAPI for real-time alternatives. The top result had a 1-star rating. Another one offered a free tier of 4 requests per month. Four. Per month.

So I did what any developer would do. I built my own.


Here's What a Real Scan Returns

Before I explain how it works — here's a real scan of vercel.com:

curl "https://stackxray-api.p.rapidapi.com/api/v1/detect?url=vercel.com" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: stackxray-api.p.rapidapi.com"
Enter fullscreen mode Exit fullscreen mode
{
  "url": "https://vercel.com",
  "status": 200,
  "scan_time_ms": 585,
  "technologies": [
    { "name": "Next.js", "category": "JavaScript frameworks", "confidence": 100 },
    { "name": "Vercel", "category": "PaaS", "confidence": 100 },
    { "name": "React", "category": "JavaScript frameworks", "confidence": 50 },
    { "name": "HSTS", "category": "Security", "confidence": 100 }
  ],
  "summary": {
    "total_technologies": 8,
    "categories": {
      "JavaScript frameworks": ["Next.js", "React"],
      "PaaS": ["Vercel", "Amazon Web Services"],
      "Security": ["HSTS"],
      "CDN": ["Amazon S3"],
      "Analytics": ["Linkedin Insight Tag"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

585ms. 8 technologies. One API call.


Going Deeper: Infrastructure Analysis

Most tech detection tools stop at "this site uses React."

That wasn't enough for my use case. I needed to know where it's hosted, what serves it, how it's secured. So I built the /detect/detailed endpoint:

{
  "technologies": ["..."],
  "dns_info": {
    "mx_records": ["mxa.global.inbound.cf-emailsecurity.net"],
    "ns_records": ["ns3.cloudflare.com", "ns4.cloudflare.com"],
    "a_records": ["104.16.124.96", "104.16.123.96"],
    "dns_provider": "Cloudflare DNS"
  },
  "ssl_info": {
    "issuer_org": "Let's Encrypt",
    "protocol_version": "TLSv1.3",
    "days_until_expiry": 64,
    "is_valid": true
  },
  "server_info": {
    "server_software": "Cloudflare",
    "hsts": true,
    "compression": "br"
  },
  "cdn_info": {
    "detected": true,
    "provider": "Cloudflare"
  },
  "hosting_info": {
    "ip": "104.16.124.96",
    "asn_org": "CLOUDFLARENET",
    "hosting_provider": "Cloudflare"
  }
}
Enter fullscreen mode Exit fullscreen mode

DNS records, SSL certificates, CDN, hosting provider, server software — one call. No other tech detection API on RapidAPI does this.


Under the Hood

Detection Engine

The core uses Wappalyzer's open-source fingerprint database7,513 technologies, pre-compiled at startup. Each fingerprint checks:

  • HTTP headersServer: nginx, X-Powered-By: Express
  • CookiesPHPSESSID, laravel_session
  • HTML patterns<meta name="generator" content="WordPress">
  • Script sources/wp-content/, /_next/
  • Implied technologies — Next.js implies React implies JavaScript

As mentioned earlier — this is real-time detection, not historical tracking. StackXray visits the URL and analyzes what's running right now.

Infrastructure Detectors

On top of fingerprinting, 5 custom detectors run in parallel: DNS records, SSL certificate parsing, server header analysis, CDN detection via header signatures, and hosting provider identification via ASN lookup.

Stack

Python 3.12 + FastAPI (fully async), httpx with HTTP/2, pre-compiled regex for all 7,513 fingerprints, in-memory cache (24h TTL), and SSRF protection blocking private IPs and metadata endpoints.


Why It's 30x Cheaper

BuiltWith charges $295/month. Wappalyzer charges $250/month. StackXray starts at $0 with a free tier of 100 requests/month. The first paid plan is $10/month.

  • No enterprise sales team. Just an API and documentation.
  • No bloated dashboards. You get clean JSON — build your own UI.
  • No marketing department. You're reading a dev.to post, not a $50K landing page.
  • Runs on Railway. Total hosting cost: $5/month.
  • Async Python. One server handles concurrent scans efficiently.
  • Open-source fingerprints. Wappalyzer's community maintains the database for free.
  • One developer. Me.

Enterprise tools are built for enterprise workflows — dashboards, team management, SLAs, account managers. If you just need clean JSON from an API — you probably don't need enterprise pricing.


The Full Comparison

BuiltWith is excluded — it's a historical database product, not a real-time detection API.

Wappalyzer API RapidAPI alternatives StackXray
Basic paid plan $250/mo $10-20/mo $10/mo
Free tier No 4 req/mo 100 req/mo
Technologies 5K+ 900 7,500+
DNS/SSL/CDN analysis No No Included
Bulk scanning No No 25 URLs/request
Response time 1-3s 1-2s < 2s
Endpoints 1 1 6

6 Endpoints

Method Endpoint Description
GET /detect?url= Detect technologies (basic)
GET /detect/detailed?url= Technologies + DNS, SSL, CDN, hosting
POST /detect/bulk Scan up to 25 URLs in parallel
GET /categories List all 108 technology categories
GET /technologies Browse all 7,500+ technologies
GET /health Service health check

Code Examples

Python — Scan a Single URL

import requests

url = "https://stackxray-api.p.rapidapi.com/api/v1/detect"
headers = {
    "X-RapidAPI-Key": "YOUR_API_KEY",
    "X-RapidAPI-Host": "stackxray-api.p.rapidapi.com"
}

response = requests.get(url, headers=headers, params={"url": "github.com"})
data = response.json()

for tech in data["technologies"]:
    print(f"{tech['name']} ({tech['category']}) — {tech['confidence']}%")
Enter fullscreen mode Exit fullscreen mode

JavaScript — Quick Lookup

const response = await fetch(
  'https://stackxray-api.p.rapidapi.com/api/v1/detect?url=github.com',
  {
    headers: {
      'X-RapidAPI-Key': 'YOUR_API_KEY',
      'X-RapidAPI-Host': 'stackxray-api.p.rapidapi.com'
    }
  }
);

const { technologies, summary } = await response.json();
console.log(`Found ${summary.total_technologies} technologies`);
technologies.forEach(t => console.log(`  ${t.name}${t.category}`));
Enter fullscreen mode Exit fullscreen mode

Python — Bulk Scan 25 URLs

import requests

url = "https://stackxray-api.p.rapidapi.com/api/v1/detect/bulk"
headers = {
    "X-RapidAPI-Key": "YOUR_API_KEY",
    "X-RapidAPI-Host": "stackxray-api.p.rapidapi.com",
    "Content-Type": "application/json"
}

response = requests.post(url, json={
    "urls": ["github.com", "vercel.com", "shopify.com"]
}, headers=headers)

for result in response.json()["results"]:
    print(f"{result['url']}{result['summary']['total_technologies']} technologies")
Enter fullscreen mode Exit fullscreen mode

Who Is This For

If you're building SaaS or internal tools:

  • Add "tech stack lookup" as a feature in your product
  • Enrich your database with technographic data
  • Monitor competitor infrastructure changes

If you're in sales or lead generation:

  • Qualify leads by technology ("Show me all Shopify stores using Stripe")
  • Segment prospects by infrastructure maturity
  • Bulk-scan lead lists before outreach

If you're a developer or researcher:

  • Analyze what frameworks power the top 100 SaaS companies
  • Audit SSL/HSTS configurations across your client portfolio
  • Build automated monitoring for technology changes

Try It

StackXray is live on RapidAPI with 100 free requests/month — no credit card required.

If you're building SaaS tools, automation pipelines, or competitive intelligence software — this might save you hundreds per month compared to enterprise alternatives.

Get your free API key on RapidAPI

If the free tier isn't enough, paid plans start at $10/month — cancel anytime.

Questions? Drop a comment or reach me on Twitter/X.


One developer. Python + FastAPI. Railway for $5/month. 7,513 technologies. Sometimes the best alternative to an expensive product is just building it yourself.

Top comments (0)