Installmap

Method

How the sample is drawn, how a site is fetched, how a tool is counted, and what is left out.

Crawl: 2026-09-03

1. Sample

30,000 company domains were drawn from Crunchbase company records: companies with 11 to 1,000 employees, registered in United States, United Kingdom, Canada, Ireland, Australia, Germany, Netherlands, France, Sweden, Norway, Denmark, Finland and Iceland. No industry holds more than 8% of the sample. Each company contributes one domain, its registered website with the www prefix removed.

2. Fetch

Each domain gets one request to its homepage over HTTPS, with HTTP as the fallback, through a rotating proxy with browser headers. Redirects are followed, the timeout is 12 seconds and the body is capped at 1.5 MB. A response that is not a 200 with an HTML body is recorded as a failure with its reason and is not counted.

3. Detection

The HTML, response headers and cookies of each fetched page are matched against 275 fingerprints: script hosts, generator meta tags, response headers, cookie names and asset paths on the site's own host. One match records one install. A fingerprint says the site loads a tool's code; it does not say the company pays for it.

4. Join and count

Every fetched domain is joined back to its Crunchbase company record, which carries the industry, country and employee band used for the cuts. Installs are rolled up per tool, then split by industry, employee band and country. A cell is published once its base reaches 20 crawled sites; below that it reads n/a. Findings on the stats pages compare only segments with at least 150 crawled sites.

Attrition funnel

StepCountShare of attemptedNote
Domains selected for the sample 30,000 100.0% Company domains drawn from the source universe.
Homepage fetched 8,948 29.8% A response was returned for the request.
Fetch succeeded 8,130 27.1% A 200 response with a readable HTML body.
Firmographics joined 8,130 27.1% Industry, country and employee band all present. The base every share on this site is divided by.

Named failures

ReasonCountShare of attempted
HTTP 502 249 2.8%
HTTP 403 243 2.7%
Connection timeout 205 2.3%
SSL error 55 0.6%
HTTP 429 (rate limited) 20 0.2%
HTTP 503 11 0.1%
HTTP 500 9 0.1%
Connect 5 0.1%
Proxy error 4 0.0%
HTTP 401 4 0.0%
HTTP 526 3 0.0%
HTTP 530 2 0.0%
HTTP 521 2 0.0%
HTTP 525 2 0.0%
Too many redirects 2 0.0%
HTTP 523 1 0.0%
Http520 1 0.0%

Detection method by signal type

Out of scope

These tools are deliberately excluded from the crawl: they run behind a login or inside a data platform and leave no fingerprint on a public homepage, so a homepage crawl cannot count them.