What is that website built with? With evidence.
Paste domains and get the CMS, ecommerce platform, frameworks, analytics, hosting, email provider and DNS provider of each one. Every detection shows the header, tag, script or DNS record that proves it.
Run it on ApifySee real output
- $2 per 1,000 websites
- Failed and duplicate sites are free
- Email & DNS stack from MX, SPF and NS records
A list of domains in, one row per website out
Call it from Python, any HTTP client, Make, Zapier, n8n, or an AI agent through Apify's MCP server.
urls: domains or URLs, duplicates removed before scanningincludeDns(default on): email and DNS provider at no extra charge- Respects your maximum cost per run exactly
Runs on your own Apify account. Apify's free plan includes monthly credits, so small tests cost nothing.
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("siftwright/tech-stack-detector").call(run_input={
"urls": ["vercel.com", "wordpress.org", "shopify.com"],
})
# apify-client 3.x; on 2.x use run["defaultDatasetId"]
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item["domain"], item.get("technologyNames") or item.get("error"))curl -X POST "https://api.apify.com/v2/acts/siftwright~tech-stack-detector/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls":["vercel.com","shopify.com"]}'{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=siftwright/tech-stack-detector"
}
}
}What you get back
A real row from our test run on 30 September 2026 (shortened).
| Field | What it is |
|---|---|
domain, finalUrl | The website scanned, after redirects |
status | "ok" (charged) or "error" with a reason (free) |
technologyNames | Flat list of everything detected |
byCategory | The same, grouped: CMS, Analytics, Hosting, Email provider… |
technologies | Each technology with categories, version (when visible) and evidence |
dns | The MX, SPF and NS records used |
{
"domain": "wordpress.org",
"status": "ok",
"generator": "WordPress 7.2-alpha-64027",
"technologyCount": 9,
"technologyNames": [
"WordPress",
"Google Fonts",
"PHP",
"HSTS",
"Open Graph",
"Schema.org JSON-LD",
"Twitter Cards",
"Google Tag Manager",
"Nginx"
],
"technologies": [
{
"name": "WordPress",
"categories": [
"CMS"
],
"version": "7.2",
"evidence": [
"meta generator: WordPress 7.2-alpha-64027",
"asset https://wordpress.org/wp-content/mu-plugins/pub-sync/blocks/language-suggest/build/front.…"
]
},
{
"name": "Nginx",
"categories": [
"Web server"
],
"version": null,
"evidence": [
"header server: nginx"
]
}
]
}What people use it for
Lead targeting
Find the Shopify stores, WordPress sites or HubSpot users in a prospect list.
Competitor research
See which analytics, testing and marketing tools competitors run.
CRM enrichment
Add CMS, ecommerce platform and email provider columns to accounts.
Security audits
Check a portfolio of sites for HSTS, consent managers and old libraries.
Agency qualification
Keep only leads on the platforms you build for.
Agent tools
Let an AI agent answer "what is this site built with?" with evidence.
Pricing
Each website that loads is one charged event at $0.002. Dead domains, timeouts, invalid URLs and duplicates in your list cost nothing.
| Option | Price |
|---|---|
| Pay-per-event on Apify | $0.002 per website ($2.00 per 1,000), plus Apify's $0.00005 start fee |
| Siftwright API plans | Not included yet. Join the waitlist if you want it behind your Siftwright key. |
Limits you should know about
- It scans one page per website over plain HTTPS without running JavaScript, so tools loaded later by a tag manager can be missed.
- About 200 fingerprints: fewer than Wappalyzer or BuiltWith, but every match comes with evidence.
- Email tools found in SPF records are services the domain authorises to send mail, not proof they are used today. There is no history of past technologies.
Frequently asked questions
How is this different from Wappalyzer or BuiltWith?
Those have bigger catalogues and, in BuiltWith's case, history. This detector checks the live site and DNS now, shows the evidence for every match, adds the email and DNS stack, and costs $2 per 1,000 websites with failures free.
Why was a technology I know about not detected?
Usually it is loaded only by JavaScript after the page renders, or it lives on another page. Try the exact page URL, and tell us at support@siftwright.com so we can add a fingerprint.
Am I charged for websites that don't load?
No. Only websites whose page loaded are charged. Failures come back with status: "error" and a readable reason, for free.
Can I cap what a run costs?
Yes. Set a maximum cost per run on Apify; the run stops exactly there and never pushes results it can't charge for.
Know the stack behind every site on your list
Pay per result on the Apify Store, or ask us for a scheduled custom feed from $2,000/month.