The Client
This one is us. New business and audit. Before a pitch we need a straight answer to one question: what is on this site?
Walking into a room and guessing the CMS is a waste of the hour. A stack list is not a plan either. We needed the list out of the way so the conversation can move to tracking, consent, and what we would change.
The Brief
Scan a URL against a maintained definition set. Show names, categories, versions where we can see them, and a confidence score. Save the company so we can search it later. Export JSON, CSV, or PDF when a report needs to leave the tool.
Competitor URLs go through the same scan. n8n should be able to hit the same API when a new client lands.
The Approach
Definitions come from enthec/webappanalyzer, which is still being maintained. The December 2025 note counted 7,219 technology definitions across 108 categories, with 6,541 icon files for the UI.
If the first HTML dump is thin, Playwright runs Chromium so technologies that only appear after render still show up. Gemini 2.0 Flash can sit on top of that: faster prioritised detection, and a short company summary from the page.
1. Submit URL
FastAPI /api/v1/analyze
2. Fetch + match
HTML, headers, 7,219 patterns
3. Render if needed
Playwright / Chromium
4. Optional AI
Gemini validate + summary
Technical Implementation
The hosted app is techstack.pacing.agency, behind Cloudflare Zero Trust, on Google Cloud Run in europe-west1. Internal cost line is £0. People at Pacing open it in the browser. n8n uses service tokens on the same API.
| Mode | What it does | When we use it |
|---|---|---|
| Full scan | All 7,219 definitions, no AI filter | Audit, first look |
| Browser | Playwright renders JS-heavy sites | SPA / tag-heavy pages |
| Smart scan | Gemini prioritises detections, 15-25s vs 90s+ | When we need a faster pass |
| Company summary | Logo, description, links from the page | Pitch prep |
| Export | JSON, CSV, or PDF | Handover and CRM |
- Detection: URL patterns, HTML, headers, scripts, and meta tags. Cookie detection is still on the list, not live.
- Companies database: Scans save. We can search a domain later instead of running it again from memory.
- Live progress: Server-sent events so the UI is not a spinner with no story.
Results & Impact
- A pitch or audit starts with a stack list we can defend, not a guess.
- n8n can snapshot a new client without someone opening the UI.
- The library is large enough that "we missed the CMS" is a rare excuse.
It will not write the plan. If you stop at the list, you have a catalogue. The meeting still has to decide what to change.
Why It Worked
We stopped treating BuiltWith screenshots as research. The scan is ours, the definitions are maintained, and the API is on the same host we already sit on.
- Maintained definitions: 7,219+ technologies and 108 categories from a repo that is still moving.
- Render when HTML lies: Playwright is there for the sites that hide the stack until JavaScript runs.
- API for ops: n8n can run the same job we run by hand. That is how it stays used after the novelty dies.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.








