Templates / Research
Tech stack detector
Reads each row's website and reports what it is built on — CMS, analytics, payments, framework, hosting.
What it isTemplate
A ready-made column. It opens the editor pre-filled, so you look it over once and hit Add.
InputWhat you give it
Paste company websites (one per line)
stripe.com www.figma.com https://linear.app
One company website per row — this reads each site itself. http:// is optional.
OutputWhat comes back
- A Tech stack column per row
| Website | CMS | Analytics | Payments | Framework | Hosting |
|---|---|---|---|---|---|
| linear.app | — | Segment, Amplitude | Stripe | Next.js | Vercel |
| basecamp.com | — | Google Analytics | — | Ruby on Rails | AWS |
| smallbakery.co.uk | WordPress | Google Analytics | WooCommerce | — | SiteGround |
| quiet-corp.com | — | — | — | — | — |
Illustrative. Detection is fingerprint-based against 7,352 signatures — it reports what a page reveals, and a site can reveal nothing.
How it worksThree things you decide
- Pick the website columnChoose the column holding each row's site. A row with an empty or invalid URL is skipped without a fetch, but still counts as 1 action.
- Run itOne fetch per row, matched against 7,352 fingerprints — CMS, analytics, payments, framework, hosting. Emails, phones and social links are collected on the same fetch and stored.
- Filter on what you foundThe column is worth having because you can cut on it: a Shopify store and a WordPress site last touched in 2019 are different conversations, and a competitor tag is a different one again.
Limits — read this before you run it
One fetch per row, so 1 action per row. Detection is fingerprint-based: it finds what a page reveals, and a site can reveal nothing. Emails, phones and social links are collected on the same fetch and stored — showing them later is a click, not another run.
FAQQuestions people actually ask
Why did a site come back with almost nothing?
Detection is fingerprint-based: it reports what a page reveals, and a page can reveal nothing. A hand-built site with no third-party tags legitimately has no stack to report.
What if a site blocks the request?
We retry automatically with a different route. If it still fails the row is marked Failed with the reason — that still counts as 1 action, the same as a successful fetch.
Will it re-run rows that already have a stack?
No. Use Fill missing on the table to run only the empty cells.
What does "Auto-run on new rows" do?
Runs this column by itself whenever new rows arrive — no clicking Run. It only picks up new arrivals; rows already in the table when you turn it on are left alone. It only fires while the app is open — closing it pauses everything until you reopen.
What does "Add run condition" do?
Skips rows where a condition on another column isn't met — e.g. only run if Email is empty. Skipped rows cost no actions, on both manual and auto runs.
Related templates
Email finder
Emails published on each row's website.
Social profiles
Social links published on each site.
Scrape
Scrape visits every URL in the selected column and reads the page like a person would — body text, title…
Google results
Organic results — title, URL, snippet, rank.