Tech Stack Detector - Wappalyzer & BuiltWith Alternative
Pricing
from $2.30 / 1,000 website tech stack detecteds
Tech Stack Detector - Wappalyzer & BuiltWith Alternative
Detect the tech stack of any website in bulk: CMS, ecommerce, analytics, CDN, JS frameworks, servers, payments, chat, tag managers, email provider. 7,600+ fingerprints with versions, confidence and DNS signals. $3 per 1,000 sites, offline sites free.
Pricing
from $2.30 / 1,000 website tech stack detecteds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Paste a list of websites and get the technology stack of each one as clean JSON, CSV or Excel: CMS, ecommerce platform, analytics, tag manager, CDN, hosting, JavaScript framework, web server, programming language, payment processor, live chat, marketing automation, CRM and the email provider behind the domain, with versions and a confidence score. US$ 3 per 1,000 websites, no monthly fee, and websites that are offline or blocked are free.
It is a pay-per-use Wappalyzer alternative and BuiltWith alternative for sales and lead generation teams, agencies auditing client portfolios, market researchers and AI agents that need technographic data in bulk, from a spreadsheet, a CRM export or an automation, without a subscription.
At a glance
| This Actor | nexgendata/wappalyzer-replacement (most used for this term) | |
|---|---|---|
| Price per 1,000 websites, Free plan | US$ 3.00 | US$ 100.00 |
| Price per 1,000 websites, Gold plan and above | US$ 2.30 | US$ 100.00 (same on every plan) |
| Offline, blocked or invalid websites | Returned with an errorCode, not charged | Not stated on its page |
| DNS signals (email provider, SaaS verification records) | Included, same price | Not stated on its page |
| Users in the last 30 days | 1 (published 2026-09-15) | 1,221 |
| Store rating | No reviews yet | No reviews yet |
| Public run success, last 30 days | No public runs yet; 22 of our 22 test runs succeeded | 100.0% (12,676 of 12,679) |
Competitor figures were read from the public Apify API (api.apify.com/v2/store?search=wappalyzer) on 2026-09-15 and change every day; the Store page always shows the live number. Across the ten most relevant Actors for "tech stack" that day, prices ran from about US$ 1 to US$ 100 per 1,000 websites, several of them with an extra fee of up to US$ 0.10 charged on every run start.
In one call
Minimal input:
{ "urls": ["wordpress.org", "www.shopify.com", "github.com"] }
One real row from a test run of 2026-09-15, with the technologyNames list and the summary columns trimmed (the full item is under "Output" below):
{"url": "https://vercel.com/","domain": "vercel.com","statusCode": 200,"technologyCount": 12,"technologyNames": ["Amazon S3", "Amazon Web Services", "Google Workspace", "Next.js", "React", "Vercel", "Webpack"],"cms": null,"ecommerce": null,"analytics": "Linkedin Insight Tag","cdn": "Amazon S3","hosting": "Amazon Web Services, Vercel","javascriptFrameworks": "Next.js, React","emailProviders": "Google Workspace","errorCode": null,"scrapedAt": "2026-09-15T18:54:11.654119+00:00"}
What you can do with it
- Lead generation: take 10,000 domains from a directory or a Google Maps export and keep only the stores running Shopify, WooCommerce or Magento, or only the sites that use HubSpot, Intercom or Stripe.
- Sales intelligence: enrich accounts in your CRM with the tools they already pay for (Salesforce, Zendesk, Microsoft 365 or Google Workspace) before the first call, and route leads by stack.
- Competitor research: see which analytics, A/B testing, CDN, payment and chat tools your competitors use, and schedule a monthly run to catch migrations.
- Agencies and freelancers: audit a client portfolio in one run: outdated WordPress or jQuery versions, missing tag manager, no CDN.
- Market research: measure the adoption of a platform across a country, an industry list or the top sites of a niche.
- Security and IT inventory: list the web servers, frameworks and exposed versions across your own domains.
What it detects
7,600+ technologies in 109 categories, from the open fingerprint rules that power Wappalyzer, plus DNS rules written for this Actor. Every website is checked against:
| Signal | Examples of what it reveals |
|---|---|
| HTTP headers | Nginx 1.25, Apache, Cloudflare, Vercel, Varnish, PHP version from X-Powered-By, Next.js |
| Cookies | Shopify, Google Analytics (GA4 or UA), HubSpot, Stripe, Laravel, ASP.NET |
| Meta tags | WordPress 6.x generator, Drupal, Joomla, Wix, Squarespace, Shopify checkout tokens |
| Script URLs | React, Vue.js, jQuery 3.7.1, Google Tag Manager, Hotjar, Klaviyo, Intercom, Algolia |
| Inline scripts and HTML | Next.js, Nuxt, Gatsby, Magento, PrestaShop, Webflow, Tailwind CSS |
| DOM selectors (on the page HTML) | WooCommerce, Elementor, Stripe checkout links, cookie banners |
| DNS MX, SPF, NS, SOA, CNAME | Google Workspace, Microsoft 365, Zoho Mail, Proofpoint, Mimecast, SendGrid, Amazon SES, Mailchimp, Cloudflare DNS, Route 53, GoDaddy |
| DNS verification records | Atlassian, Slack, Zoom, Stripe, Salesforce, DocuSign, OpenAI and ~100 more SaaS tools the company verified its domain with |
The DNS part is what browser extensions miss: the email provider and the SaaS tools a company uses never show on its home page, but they are published in its DNS records. Verification records are returned in a separate dnsVerifications list so they do not mix with the website stack.
Quick start
- Paste domains or URLs in Websites, one per line.
example.com,www.example.comandhttps://example.com/pricingall work. - Click Start.
- Open the Overview tab, or download JSON, CSV, Excel or HTML.
{"urls": ["wordpress.org", "www.shopify.com", "github.com"],"categoriesFilter": [],"checkDns": true,"maxConcurrency": 20}
Input
| Field | Type | Default | What it does |
|---|---|---|---|
urls | array of strings | 3 examples | Websites to analyze. Duplicates are analyzed once. |
maxItems | integer | empty (all) | Stop after this many websites. |
categoriesFilter | array of strings | empty (all) | Keep only these categories, e.g. CMS, Ecommerce, Analytics, CDN, JavaScript frameworks, Payment processors. |
minConfidence | integer 0-100 | 50 | Drop weak detections. |
includeVersions | boolean | true | Extract version numbers when exposed. |
checkDns | boolean | true | Read MX, TXT, NS, SOA and CNAME records. |
legacyFieldNames | boolean | false | Also write status_code, final_url, tech_count, tech_names, scan_time_ms. |
timeoutSecs | integer 3-60 | 20 | Time to wait for each website. |
maxConcurrency | integer 1-100 | 20 | Websites analyzed in parallel. |
proxyConfiguration | object | Apify Proxy | Used for retries: the first request goes out directly, a blocked or failed website is retried through the proxy and then with a Chrome-like client. |
Switching from another tech stack Actor
You do not need to change your integration. The Actor also reads startUrls (plain strings or {"url": ...} objects, including uploaded files), domains, websites, targetUrls, startDomains (the BuiltWith Actor name), url (one string, or several separated by commas or new lines), and the snake_case options categories_filter, include_versions, include_confidence and timeout_seconds. When a snake_case option is present, the snake_case output fields are added automatically.
Output
One item per website. This is a real item from a test run on 15/09/2026, shortened only in the technologies list (5 of 12) and the categories object (5 of 12):
{"url": "https://vercel.com/","inputUrl": "vercel.com","finalUrl": "https://vercel.com/","domain": "vercel.com","statusCode": 200,"redirectChain": [],"title": "Agentic Infrastructure - Vercel","language": "en","technologyCount": 12,"technologyNames": ["Amazon S3", "Amazon Web Services", "Google Workspace", "HSTS", "Linkedin Insight Tag", "Next.js", "Open Graph", "Priority Hints", "PWA", "React", "Vercel", "Webpack"],"cms": null,"ecommerce": null,"analytics": "Linkedin Insight Tag","tagManagers": null,"cdn": "Amazon S3","hosting": "Amazon Web Services, Vercel","javascriptFrameworks": "Next.js, React","webFrameworks": "Next.js","webServers": "Next.js","programmingLanguages": null,"paymentProcessors": null,"liveChat": null,"marketingAutomation": null,"crm": null,"emailProviders": "Google Workspace","advertising": null,"technologies": [{ "name": "Google Workspace", "categories": ["Webmail", "Email"], "version": null, "confidence": 100, "website": "https://workspace.google.com/", "detectedBy": ["dns:MX"] },{ "name": "Next.js", "categories": ["JavaScript frameworks", "Web frameworks", "Web servers", "Static site generator"], "version": null, "confidence": 100, "website": "https://nextjs.org", "detectedBy": ["headers"] },{ "name": "React", "categories": ["JavaScript frameworks"], "version": null, "confidence": 100, "website": "https://reactjs.org", "detectedBy": ["html"] },{ "name": "Vercel", "categories": ["PaaS"], "version": null, "confidence": 100, "website": "https://vercel.com", "detectedBy": ["headers", "dns:SOA"] },{ "name": "Webpack", "categories": ["Miscellaneous"], "version": null, "confidence": 100, "website": "https://webpack.js.org/", "detectedBy": ["implied by Next.js"] }],"categories": { "Analytics": ["Linkedin Insight Tag"], "CDN": ["Amazon S3"], "JavaScript frameworks": ["Next.js", "React"], "PaaS": ["Amazon Web Services", "Vercel"], "Webmail": ["Google Workspace"] },"dnsVerifications": [],"responseTimeMs": 15272,"errorCode": null,"error": null,"scrapedAt": "2026-09-15T18:54:11.654119+00:00"}
In a separate test run on 500 popular websites, 397 were analyzed and charged, with 10.9 technologies per website on average; the other 103 (offline domains, anti-bot walls, timeouts) were returned with an errorCode for free.
Output fields
| Field | Description |
|---|---|
url | Website as analyzed (normalized). |
inputUrl | Website exactly as you sent it. |
finalUrl | Address after redirects. |
domain | Final host without www.. |
statusCode | HTTP status of the final page. |
redirectChain | Addresses visited before the final one. |
title, language | Page title and lang attribute. |
technologyCount, technologyNames | How many and which technologies, alphabetical. |
cms, ecommerce, analytics, tagManagers, cdn, hosting | Summary columns, comma-separated names, ready for a spreadsheet. |
javascriptFrameworks, webFrameworks, webServers, programmingLanguages | Summary columns. |
paymentProcessors, liveChat, marketingAutomation, crm, emailProviders, advertising | Summary columns. |
technologies | One object per technology: name, categories, version, confidence (0-100), website, detectedBy. |
categories | Technology names grouped by category. |
dnsVerifications | SaaS tools the company verified its domain with (company signals). |
responseTimeMs | Time to download the page. |
errorCode, error | Filled only when the website could not be analyzed. |
scrapedAt | Time of the analysis (ISO 8601). |
detectedBy tells you why each technology was reported: headers, cookies, meta, scriptSrc, scripts, css, html, dom, url, dns:MX, dns:SPF, dns:NS, dns:SOA, dns:CNAME, dns:TXT, or implied by WordPress (WordPress implies PHP and MySQL, Next.js implies React).
Error codes (never charged)
| errorCode | Meaning |
|---|---|
INVALID_URL | The input is not a domain or an http(s) URL. |
DNS_NOT_FOUND | The domain does not resolve (also tried with www.). |
CONNECTION_FAILED | The server refused or dropped the connection (also tried over plain HTTP). |
TIMEOUT | No answer within timeoutSecs. |
SSL_ERROR | The TLS handshake failed. |
TOO_MANY_REDIRECTS | More than 10 redirects. |
BLOCKED | The website answered with an anti-bot challenge on every attempt. Technologies seen in headers and DNS are still returned. |
HTTP_ERROR | The website answered 4xx or 5xx (statusCode has the code). |
UNEXPECTED_ERROR | Anything else. Please open an issue with the website. |
A run only fails when not a single website could be analyzed, so a list with a few dead domains still finishes as succeeded.
Pricing
US$ 3.00 per 1,000 websites analyzed, no monthly fee. You pay the event "Website tech stack detected" once per website that answered, whatever the number of technologies found, with DNS, versions and all categories included. Offline, invalid, blocked and HTTP-error websites are returned with an errorCode and are not charged. There is no start fee per run.
| Option | Typical price for 1,000 websites |
|---|---|
| This Actor | US$ 3.00, pay per use |
| Other tech stack Actors in Apify Store | from about US$ 2 plus a fee per run, up to US$ 100 |
| BuiltWith and Wappalyzer lookup plans | monthly subscription, with lookup quotas |
Apify's free plan includes monthly credits, enough to analyze a few thousand websites for free every month.
How to use it from code
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("scrapewise/tech-stack-detector").call(run_input={"urls": ["wordpress.org", "www.shopify.com", "github.com"],"categoriesFilter": ["CMS", "Ecommerce", "Analytics"],})for site in client.dataset(run["defaultDatasetId"]).iterate_items():print(site["domain"], site["cms"], site["ecommerce"], site["analytics"])
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('scrapewise/tech-stack-detector').call({urls: ['wordpress.org', 'www.shopify.com', 'github.com'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((site) => console.log(site.domain, site.technologyNames));
One HTTP call (cURL)
curl -X POST "https://api.apify.com/v2/acts/scrapewise~tech-stack-detector/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"urls": ["wordpress.org", "github.com"]}'
The synchronous endpoint waits up to 5 minutes, which fits a few hundred websites. For bigger lists, start the run and read the dataset when it finishes, or use a webhook.
No-code: n8n, Make, Zapier, Google Sheets
Use the Apify integration in n8n, Make or Zapier: "Run Actor" with scrapewise/tech-stack-detector, then "Get dataset items". A common flow is "new row in Google Sheets or new company in the CRM, then detect the stack, then write the CMS, ecommerce and email provider back".
Scheduling and monitoring
Save your list as a task and add a schedule (weekly or monthly). Compare technologyNames between runs to see who migrated from one platform to another, added a chat tool or changed CDN.
Use with AI agents and MCP
The Actor works as a tool for AI agents through the Apify MCP server in Claude, ChatGPT, Cursor, VS Code and any MCP client. Add scrapewise/tech-stack-detector to the server's tools and ask things like:
- "What CMS, analytics and payment provider do these 20 competitors use?"
- "From this list of domains, which ones run Shopify and use Klaviyo?"
- "Does example.com use Google Workspace or Microsoft 365?"
The output is compact and structured (summary columns plus technologies), so an agent can answer without parsing HTML. Items with errorCode tell the agent exactly why a website was skipped.
How it works, and honest limits
The Actor downloads each home page (or the exact URL you give) over plain HTTP, like a browser would, follows redirects and meta refresh, and reads up to 2.5 MB of HTML. It then matches the headers, cookies, meta tags, script URLs, inline scripts, styles, HTML and DOM selectors against the fingerprints, runs the DNS lookups in parallel, and applies the rules between technologies (implies, requires, excludes). No browser is launched, which is why it is fast and cheap.
- JavaScript is not executed. Technologies that are only visible after scripts run in a browser (for example a chat widget injected by a tag manager, or JavaScript variables) can be missed. The server-side, HTML and DNS signals cover the large majority of CMS, ecommerce, framework, CDN, hosting, analytics and email detections.
- One page per website. The home page is analyzed unless you give a deeper URL. A checkout provider that only appears on the cart page needs that URL.
- Anti-bot protection. A few very large websites answer automated requests with a challenge. They come back with
BLOCKED, the headers and DNS technologies, and no charge. - Confidence. Most fingerprints score 100. Weak hints score 25 to 50 and are hidden by the default
minConfidenceof 50; set it to 0 to see everything.
Something wrong or missing? Open an issue on the Actor page with the website and what you expected. Issues are answered within 12 hours, and new fingerprints are added on request.
This Actor only reads public pages and public DNS records, without logging in, and respects the websites' terms.
FAQ
Is this an alternative to Wappalyzer? Yes. It uses the same open fingerprint format and rules that Wappalyzer published before it went closed source (maintained by the webappanalyzer project), adds DNS rules, and runs them in bulk in the cloud with pay-per-use pricing instead of a subscription.
Is it a BuiltWith alternative? For current technology detection, yes: you get the live stack of each website at US$ 3 per 1,000. It does not include BuiltWith's historical data (when a technology was first and last seen) or its lists of all websites using a technology; for that, run this Actor on your own list on a schedule.
How many websites can I analyze in one run?
There is no fixed limit. Runs of 500 websites take a few minutes with the default concurrency of 20; you can raise maxConcurrency to 50 or 100 for large lists.
Do I pay for websites that are down?
No. Only websites that answered and were analyzed are charged. Every other website is returned with an errorCode for free.
How accurate is it? Detection is rule-based: when a rule matches, the technology is there. Accuracy is highest for server-side and HTML signals (CMS, ecommerce, frameworks, servers, CDN) and for DNS (email provider). See the limits above for what needs a real browser.
Can I filter by category?
Yes, with categoriesFilter. The price does not change, but the output is smaller.
Can I find all websites that use a technology?
The Actor analyzes the websites you give it. To build a prospect list, feed it domains from Google Maps, a directory or your CRM and filter the results by technologyNames.
Does it detect the email provider? Yes, from MX and SPF records: Google Workspace, Microsoft 365, Zoho Mail, Proton Mail, Fastmail, Yandex, GoDaddy, Amazon WorkMail, plus secure email gateways (Proofpoint, Mimecast, Barracuda, Cisco) and email senders (SendGrid, Amazon SES, Mailchimp, Mailgun, Postmark, Brevo).
Can I call it from Python, Node.js or an AI agent? Yes. See the API examples above and the MCP section. The input also accepts the field names of other tech stack Actors.
Can I analyze a specific page instead of the home page?
Yes, give the full URL (for example https://example.com/checkout). The URL is analyzed as given.
Why does a website show Cloudflare and nothing else?
It probably answered with a challenge page. Check errorCode: BLOCKED items are not charged.
Credits
Web fingerprints come from the open-source webappanalyzer project (GPL-3.0), the community continuation of the Wappalyzer rules. DNS email and verification rules were added for this Actor. This Actor is not affiliated with Wappalyzer or BuiltWith.
Changelog
- 2026-09-15 (page): added the "At a glance" comparison with the most used Actor for this term, measured on the public Apify API that day, plus the minimal input and a real output row in the first screen.
- 2026-09-15, 0.1: first version. 7,653 technologies, 109 categories, DNS MX/SPF/NS/SOA/CNAME/TXT detection, summary columns, error codes without charge, input names of other tech stack and BuiltWith Actors. Direct request first (median under 1 second per website), then a proxy retry and a Chrome-like client for websites behind anti-bot walls.
Em português
Detector de tecnologias de sites em lote: CMS, plataforma de e-commerce, analytics, CDN, framework, servidor, pagamento, chat e provedor de e-mail de cada site, com versão e confiança. Serve para prospecção (achar lojas Shopify ou WooCommerce numa lista), inteligência comercial (saber que ferramentas o cliente já usa) e análise de concorrentes. US$ 3 por 1.000 sites, sem mensalidade; site fora do ar ou bloqueado não é cobrado.
Keywords: tech stack detector, website technology checker, wappalyzer alternative, builtwith alternative, technology lookup, website technology detector, CMS detector, ecommerce platform detector, what technology does a website use, technographics, lead enrichment, tech stack API, shopify store finder, wordpress detector, email provider lookup, MX lookup