Home / Tools / Tech Stack Detector like Wappalyzer & BuiltWith

Domain & website intelligence

Tech Stack Detector like Wappalyzer & BuiltWith

Detect the technologies behind any list of websites: CMS, ecommerce platform, analytics, ad pixels, marketing tools, payment, CDN, hosting, frameworks and 7,600+ more, plus email provider and SPF senders from DNS. One clean row per website. Pay only for websites analysed.

Run it on Apify API & MCP

Sample output

DomainTechnologiesCMSWeb serverCDN
wordpress.org14WordPress, WordPress Block EditorNginx–
apify.com22––Amazon CloudFront, Amazon S3
allbirds.com16––Cloudflare

Real rows from the prefilled example run (Oct 19, 2026), 5 of 54+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.

Full JSON of one real output row (3 rows in the example dataset)
{
  "input": "wordpress.org",
  "domain": "wordpress.org",
  "url": "https://wordpress.org/",
  "status": "ok",
  "title": "Blog Tool, Publishing Platform, and CMS – WordPress.org",
  "description": "Open source software which you can use to easily create a beautiful website, blog, or app.",
  "language": "en-US",
  "httpStatus": 200,
  "technologyCount": 14,
  "technologies": [
    "WordPress",
    "WordPress Block Editor",
    "WordPress Site Editor",
    "... 11 more"
  ],
  "cms": [
    "WordPress",
    "WordPress Block Editor",
    "WordPress Site Editor"
  ],
  "ecommerce": [],
  "ecommerceAddOns": [],
  "paymentProcessors": [],
  "analytics": [],
  "tagManagers": [
    "Google Tag Manager"
  ],
  "advertising": [],
  "marketingAutomation": [],
  "emailServices": [],
  "crm": [],
  "liveChat": [],
  "abTesting": [],
  "reviews": [],
  "cookieConsent": [],
  "javascriptFrameworks": [],
  "javascriptLibraries": [
    "Google Font API"
  ],
  "uiFrameworks": [],
  "webFrameworks": [],
  "programmingLanguages": [
    "PHP"
  ],
  "webServers": [
    "Nginx"
  ],
  "cdn": [],
  "hosting": [],
  "security": [
    "HSTS"
  ],
  "searchAndAI": [],
  "bookingAndScheduling": [],
  "forms": [],
  "recruiting": [],
  "seo": [],
  "emailProvider": "Other / self-hosted",
  "emailSecurityGateway": null
}

Output fields

From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.

FieldTypeDescription
inputstringWebsite or domain as given
domainstringRegistrable domain (after redirects)
urlstringHomepage URL after redirects
statusstringok (charged) | no_technologies | filtered_out | error | invalid_input (all free)
technologyCountintegerNumber of technologies detected
technologiesarrayAll technology names, most important categories first
cmsarrayTechnologies in categories: CMS, Blogs, Page builders, Static site generator, Wikis, DMS, LMS
ecommercearrayTechnologies in categories: Ecommerce, Ecommerce frontends
ecommerceAddOnsarrayTechnologies in categories: Shopify apps, Cart abandonment, Loyalty & rewards, Returns, Fulfilment, Cross border ecommerce, Shipping carriers, Referral marketing, Affiliate programs
paymentProcessorsarrayTechnologies in categories: Payment processors, Buy now pay later
analyticsarrayTechnologies in categories: Analytics, RUM, Surveys, Browser fingerprinting, Customer data platform, Segmentation
tagManagersarrayTechnologies in categories: Tag managers
advertisingarrayTechnologies in categories: Advertising, Retargeting
marketingAutomationarrayTechnologies in categories: Marketing automation, Personalisation, Content curation
emailServicesarrayTechnologies in categories: Email, Webmail
crmarrayTechnologies in categories: CRM
liveChatarrayTechnologies in categories: Live chat, User onboarding
abTestingarrayTechnologies in categories: A/B Testing, Feature management
reviewsarrayTechnologies in categories: Reviews
cookieConsentarrayTechnologies in categories: Cookie compliance
javascriptFrameworksarrayTechnologies in categories: JavaScript frameworks, Mobile frameworks
javascriptLibrariesarrayTechnologies in categories: JavaScript libraries, JavaScript graphics, Font scripts
uiFrameworksarrayTechnologies in categories: UI frameworks
webFrameworksarrayTechnologies in categories: Web frameworks

Pricing

Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.

EventFree planBronzeSilverGold
Website analyzed main
Charged once for each website analysed with at least one technology detected. Websites with nothing detected, filtered-out sites, errors, and invalid inputs are free.
$0.0025$0.0022$0.002$0.0015
Actor start
Charged once when the Actor run starts.
$0.0001$0.0001$0.0001$0.0001

Examples on the Free plan: 100 website analyzeds = $0.25, 1,000 website analyzeds = $2.50, 10,000 website analyzeds = $25. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).

Example input

This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.

{
  "urls": [
    "apify.com",
    "wordpress.org",
    "allbirds.com"
  ],
  "outputFilteredOut": false,
  "minConfidence": 50,
  "includeTechnologyDetails": true,
  "checkDnsAndTls": true,
  "maxPagesPerWebsite": 1,
  "maxConcurrency": 25,
  "proxyMode": "fallback",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": false
}

Use it from code, no-code or an AI agent

cURL (one request, returns rows)
curl -X POST \
  "https://api.apify.com/v2/acts/wrenfield-data~website-tech-stack-detector/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["apify.com", "wordpress.org", "allbirds.com"], "outputFilteredOut": false, "minConfidence": 50, "includeTechnologyDetails": true, "checkDnsAndTls": true, "maxPagesPerWebsite": 1, "maxConcurrency": 25, "proxyMode": "fallback", "proxyConfiguration": {"useApifyProxy": true}, "residentialFallback": false}'
Python
# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/website-tech-stack-detector").call(
    run_input={
    "urls": [
        "apify.com",
        "wordpress.org",
        "allbirds.com"
    ],
    "outputFilteredOut": False,
    "minConfidence": 50,
    "includeTechnologyDetails": True,
    "checkDnsAndTls": True,
    "maxPagesPerWebsite": 1,
    "maxConcurrency": 25,
    "proxyMode": "fallback",
    "proxyConfiguration": {
        "useApifyProxy": True
    },
    "residentialFallback": False
},
    max_total_charge_usd=1.00,  # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/website-tech-stack-detector').call({
  "urls": [
    "apify.com",
    "wordpress.org",
    "allbirds.com"
  ],
  "outputFilteredOut": false,
  "minConfidence": 50,
  "includeTechnologyDetails": true,
  "checkDnsAndTls": true,
  "maxPagesPerWebsite": 1,
  "maxConcurrency": 25,
  "proxyMode": "fallback",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": false
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
MCP (Claude, Cursor, VS Code, any MCP client)
{
  "mcpServers": {
    "wrenfield-website-tech-stack-detector": {
      "url": "https://mcp.apify.com?tools=wrenfield-data/website-tech-stack-detector"
    }
  }
}

Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--website-tech-stack-detector. More client setups on the MCP page.

n8n, Make, Zapier

Use the official Apify node or app, pick Run Actor, enter wrenfield-data/website-tech-stack-detector and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.

FAQ

How much does Tech Stack Detector like Wappalyzer cost?

$0.0025 per website analyzed on the Apify Free plan ($2.50 per 1,000), billed per result by Apify with no subscription. Plus $0.0001 per actor start. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.

How is this different from Wappalyzer or BuiltWith?

Wappalyzer's and BuiltWith's APIs are sold as monthly subscriptions. This Actor uses the same open fingerprint format as Wappalyzer, so detections and names match what you know. You pay per website, with no subscription. Unlike BuiltWith it checks the live website at run time instead of a historical database, so results are current but don't include past technologies.

Why wasn't technology X detected?

The Actor doesn't run a headless browser, so tools that are only injected later by JavaScript (some chat widgets and pixels loaded through a tag manager) can be missed. It still finds them when they show up in the HTML, script URLs, inline scripts, cookies, headers or DNS. Setting Pages per website to 2-3 catches tools that only load on some pages. If something is consistently missing, tell us in the Issues tab.

How accurate is it? What does confidence mean?

Each fingerprint carries a confidence (usually 100). The confidences of all matching signals are added up, to a maximum of 100. Minimum confidence 50 (the default) hides weak single-signal guesses. detectedBy shows how each technology was found (headers, scriptSrc, dom, dns, implied...), so you can judge for yourself.

Can I find all websites using a technology (e.g. every Shopify store)?

This Actor checks the websites you provide. It doesn't search the whole web. Feed it a list (from Google Maps Scraper, a CRM export or a domain list) and use Only websites using to keep only the matches. You only pay for matches.

Why does a website list tools like Zoom, Figma, Atlassian or OpenAI?

Those come from the domain's DNS TXT records. Companies add a verification record when they connect their domain to a SaaS account, so it's a solid sign that the company uses that tool, even though it doesn't run on the website. detectedBy: ["dns"] marks them, and dnsRecords.txtVerifications lists the raw verifications. Turn off DNS & TLS checks if you only want what runs on the website itself.

Does it give versions?

Yes, when the site exposes them (meta generator tags, script URLs like jquery-3.7.1.min.js, headers). version is null otherwise.

Related tools

Compare and plan

Try Tech Stack Detector like Wappalyzer & BuiltWith now

Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.

Open on Apify