Website Tech Stack Lookup — Live Detection, $0.001 a Site avatar

Website Tech Stack Lookup — Live Detection, $0.001 a Site

Pricing

from $0.80 / 1,000 site analyzeds

Go to Apify Store
Website Tech Stack Lookup — Live Detection, $0.001 a Site

Website Tech Stack Lookup — Live Detection, $0.001 a Site

Detect the technologies a website runs: CMS, framework, analytics, CDN, hosting, ecommerce and more, read live from its homepage with the evidence for each. One record per URL, robots.txt obeyed, failed sites never charged. $0.001 per site analyzed.

Pricing

from $0.80 / 1,000 site analyzeds

Rating

0.0

(0)

Developer

Logan Parker

Logan Parker

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Detect the technologies a website runs, from its CMS and framework to analytics, CDN, hosting and ecommerce, read live from the site's homepage with the header, script or tag that gave each one away. AI agents can call and pay for it through Apify's MCP server and agentic payments. It costs $0.001 per site analyzed, and a site that fails is never charged.

Example result

Example record for the minimal input under How to use it, as this Actor returned it on 2026-10-27 in a run of its production image; the record is kept unchanged with the release.

{
"url": "https://docs.apify.com/",
"ok": true,
"finalUrl": "https://docs.apify.com/",
"names": [
"Amazon CloudFront",
"Amazon Web Services",
"Docusaurus",
"Fastly",
"GitHub Pages",
"Google Tag Manager",
"HSTS",
"jsDelivr",
"Kapa.ai",
"Nginx",
"OneTrust",
"React",
"Varnish",
"Webpack"
],
"technologies": [
{
"name": "Amazon CloudFront",
"categories": [
"CDN"
],
"version": null,
"confidence": 100,
"website": "https://aws.amazon.com/cloudfront/",
"evidence": [
{
"type": "header",
"name": "via",
"value": "(CloudFront)"
},
{
"type": "header",
"name": "x-amz-cf-id",
"value": "WaGmXbhs0KOjeRwj-WEyQnDt1RwRoIC64Zd86nIevZzhV9d1GWcf6Q=="
}
]
},
{
"name": "Amazon Web Services",
"categories": [
"PaaS"
],
"version": null,
"confidence": 100,
"website": "https://aws.amazon.com/",
"evidence": [
{
"type": "implied",
"name": "Amazon CloudFront",
"value": "implied by Amazon CloudFront"
}
]
},
{
"name": "Docusaurus",
"categories": [
"Documentation",
"Static site generator"
],
"version": "3.10.2",
"confidence": 100,
"website": "https://docusaurus.io/",
"evidence": [
{
"type": "meta",
"name": "docusaurus_locale",
"value": "en"
},
{
"type": "meta",
"name": "docusaurus_tag",
"value": "default-latest"
},
{
"type": "meta",
"name": "generator",
"value": "Docusaurus v3.10.2"
}
]
},
{
"name": "Fastly",
"categories": [
"CDN"
],
"version": null,
"confidence": 100,
"website": "https://www.fastly.com",
"evidence": [
{
"type": "header",
"name": "x-fastly-request-id",
"value": "beb7105f3898239e3b71bf100b6381e319b82aa7"
}
]
},
{
"name": "GitHub Pages",
"categories": [
"PaaS"
],
"version": null,
"confidence": 100,
"website": "https://pages.github.com/",
"evidence": [
{
"type": "header",
"name": "x-github-request-id",
"value": "AD18:3FCF80:AA6C08:B87D43:6AE12982"
}
]
},
{
"name": "Google Tag Manager",
"categories": [
"Tag managers"
],
"version": null,
"confidence": 100,
"website": "https://www.google.com/tagmanager",
"evidence": [
{
"type": "html",
"name": "markup",
"value": "<!-- Google Tag Manager -->"
}
]
},
{
"name": "HSTS",
"categories": [
"Security"
],
"version": null,
"confidence": 100,
"website": "https://www.rfc-editor.org/rfc/rfc6797#section-6.1",
"evidence": [
{
"type": "header",
"name": "strict-transport-security",
"value": "max-age=31556952"
}
]
},
{
"name": "jsDelivr",
"categories": [
"CDN"
],
"version": null,
"confidence": 100,
"website": "https://www.jsdelivr.com/",
"evidence": [
{
"type": "script",
"name": "src",
"value": "cdn.jsdelivr.net"
}
]
},
{
"name": "Kapa.ai",
"categories": [
"Search engines"
],
"version": null,
"confidence": 100,
"website": "https://www.kapa.ai",
"evidence": [
{
"type": "script",
"name": "src",
"value": "widget.kapa.ai"
}
]
},
{
"name": "Nginx",
"categories": [
"Web servers",
"Reverse proxies"
],
"version": null,
"confidence": 100,
"website": "https://nginx.org/en",
"evidence": [
{
"type": "header",
"name": "server",
"value": "nginx"
}
]
},
{
"name": "OneTrust",
"categories": [
"Cookie compliance"
],
"version": null,
"confidence": 100,
"website": "https://www.onetrust.com",
"evidence": [
{
"type": "script",
"name": "src",
"value": "cdn.cookielaw.org"
}
]
},
{
"name": "React",
"categories": [
"JavaScript frameworks"
],
"version": null,
"confidence": 100,
"website": "https://reactjs.org",
"evidence": [
{
"type": "implied",
"name": "Docusaurus",
"value": "implied by Docusaurus"
}
]
},
{
"name": "Varnish",
"categories": [
"Caching"
],
"version": null,
"confidence": 100,
"website": "https://www.varnish-cache.org",
"evidence": [
{
"type": "header",
"name": "via",
"value": "varnish"
}
]
},
{
"name": "Webpack",
"categories": [
"Miscellaneous"
],
"version": null,
"confidence": 100,
"website": "https://webpack.js.org/",
"evidence": [
{
"type": "implied",
"name": "Docusaurus",
"value": "implied by Docusaurus"
}
]
}
],
"categories": [
"CDN",
"Caching",
"Cookie compliance",
"Documentation",
"JavaScript frameworks",
"Miscellaneous",
"PaaS",
"Reverse proxies",
"Search engines",
"Security",
"Static site generator",
"Tag managers",
"Web servers"
]
}

How to use it

Start a run in Apify Console, by API or from an agent with an input like this one — it is the input Apify runs every day to test this Actor:

{"urls": ["https://docs.apify.com/"]}
FieldTypeMeaning
urlsarrayWebsites to analyze (a homepage or any page); one record each.

Events and prices

EventTitleCharged whenFREE / BRONZESILVERGOLD / PLATINUM / DIAMOND
site-analyzedSite analyzedOne page fetched and its technologies returned.$0.001$0.0009$0.0008

Platform usage is not passed through. Apify's automatic actor-start event remains $0.00005 per started GB (one GB or less counts once). The synthetic dataset-item event is absent. Charge limits stop further paying work; unprocessed inputs receive uncharged errors. Completed readable pending events are settled on abort.

Worked cost example: ten successful site analyzed events cost $0.01 at list, plus actor start. Failures are not included in that count.

Call it from an agent

Through Apify's MCP server (https://mcp.apify.com) use call-actor:

{
"actor": "hermeskd/website-tech-stack",
"input": {
"urls": [
"https://docs.apify.com/"
]
},
"callOptions": {
"maxTotalChargeUsd": 0.01,
"timeout": 600
},
"waitSecs": 30
}

Then call get-dataset-items with the returned defaultDatasetId. Dedicated tool URL: https://mcp.apify.com?tools=hermeskd/website-tech-stack

Output fields

FieldMeaning
urlThe input URL.
okTrue for a returned result; a failure is never charged.
finalUrlThe URL after redirects.
namesEvery technology detected, by name.
technologiesEach technology with its categories, version when shown, and the evidence.
categoriesThe technology categories present.
errorFailure, always uncharged.

Limits and run time

1–100 URLs a run. One page per site is fetched, up to 5 MB, under the 30-second per-request deadline; detection reads response headers, meta tags, script and link URLs and page markup. Technologies that load only after scripts run may be missed.

The default run timeout is 600 seconds. Typical run time: not yet measured; written from the first deploy.

Errors

CodeMeaning
http_errorThe source answered an unsuccessful HTTP status.
download_failedThe request or connection failed within its bounded deadline.
unsupported_content_typeThe URL did not return an HTML page.
robots_disallowedrobots.txt forbids fetching the URL; no request was made to it.
blocked_hostThe host is on the deny-list or resolves to a private or local address; no request was made.
too_largeThe response exceeded the size cap.
timeoutThe input did not finish within the run's time budget.
invalid_inputThe run input passed the input schema but cannot be used; the message names the field.
internal_errorUnexpected failure; the message carries the error class.
charge_limit_reachedThe run reached its maximum total charge; this input was not processed.

No failure record is charged. A run fails only when all input outcomes are Actor-side failures; caller errors and a mixture of caller/Actor failures do not fail the run.

Sources and terms

Only process content you have the right to process. URL fetches obey HermesBot robots-group selection, the shared deny-list, public-address checks on connections and redirects, honest identity, deadlines and rate limits. No caller credentials, cookies, CAPTCHA solving, residential proxies or evasion. Public pages the caller names are fetched under robots.txt; fingerprints from projectdiscovery/wappalyzergo (MIT). No third-party technology index is queried.

Not affiliated

This Actor is not affiliated with Apify or the owners of the sites it reads. Third-party names describe compatibility and source material.

Changelog

  • 1.0 (2026-10-27) — first release.