Analyse a competitor · 11 min read · Updated 21 Sep 2026

Use This Prompt to Analyse a Competitor's Tech Stack

A technology detection tool reports what a competitor's pages loaded in a browser, which is a fact about their marketing site rather than about their company. Turning that list into a claim about how they sell is the part a model does well, and it is also where it will quietly read presence as use. These prompts keep the source and the capture date attached to every line, and separate what the profile states from what you concluded from it.

Presence in a profile is not use in production

A technology detection export is a list of what a browser downloaded on the pages that were scanned. Everything in it is true and the scope is narrower than almost anyone reads it as being.

Consider three situations that produce an identical line. A tracking tag fired once, on a single campaign landing page that a contractor built two years ago. The same tag runs on every page of the marketing site. Or the library sits inside the logged-in product, handling something a customer depends on. Those are three different companies, and the export writes them the same way.

So the first job of the prompt is not to classify anything. It is to make the model say where it saw each entry and what production use of it would look like, before any sentence beginning “this suggests they”. An unmarked list invites a story, and a model asked for a reading will supply one whether or not the evidence carries it.

What a detection profile states, and what it is silent on

A profile states that a given file loaded on a given page at a given moment. It is silent on how much of the product that file serves, how long it has been there, whether anyone inside the company still considers it in use, and what any of it cost. Every commercially interesting question about a competitor’s technology sits in the silent column.

What a competitor tech stack analysis actually reads

Four inputs, and they are listed here in a deliberate order: by what it would cost the competitor to be wrong about each one. A vendor list published alongside a data-processing agreement is a contractual undertaking. A status page has to be accurate or customers notice within the hour. An integrations directory is marketing and costs nothing to be optimistic in. A detection profile the competitor did not write and has never seen.

Their published vendor or sub-processor list, with its last-modified date

Where it comes from
A trust centre, security page or data-processing agreement usually carries one. Of every source for a competitor's tech stack, this is the only one they are contractually obliged to keep accurate, which is the argument for putting it at the top of the context window rather than the bottom.
What good looks like
The full table including the purpose column and any effective dates, plus the date you captured it.
Without it
The reading runs on what a browser downloaded, and the infrastructure, data and AI layers never appear at all.

A technology profile for their domain, carrying the date of the scan

Where it comes from
Whatever detector you already use. BuiltWith and Wappalyzer both export one, and the export matters more than the choice between them: a profile read off a screen arrives without its date, and an undated stack claim cannot be checked by anyone, including you in three months.
What good looks like
Every detected entry, the page it was detected on, and the date of the scan.
Without it
Nothing anchors the reading to this company, and the output drifts into a description of what firms in this category typically run.

Their integrations directory and API documentation

Where it comes from
Their own site, usually behind a marketplace or integrations menu. This is marketing material and it costs them nothing to be optimistic in, so treat it as evidence of intent rather than of engineering.
What good looks like
The full directory rather than the featured tiles, plus the documentation index showing which integrations have a real interface behind them.
Without it
You lose the only public view of what a competitor assumes is already running inside the companies they sell to.

Their status page, with the component names it lists

Where it comes from
A public status page names the internal services a vendor breaks into, because customers have to be told which part is down. That makes it operational writing rather than marketing, and the names on it are the ones their engineers use.
What good looks like
The component list rather than the current state, plus any historical incident that names a third party.
Without it
The product reads as one object, and you cannot tell which parts of it were separately built or separately bought.
Then run it
Four labelled blocks, ordered by what it would cost the competitor to be wrong about each: the vendor list, then the status page, then the integrations directory, then the detection profile last. Putting the weakest evidence last means the model already has something better to contradict it with.
Before the output leaves the building
Trace every line of the output back to the block it came from. Anything that cannot be tied to a specific entry in a specific input is the model completing a familiar pattern rather than reading one. Then check each conclusion against its date, because an undated stack reads as a claim about now and is a claim about whenever the scan happened.

The order is not housekeeping. A model given the detection profile first will build its picture from the marketing layer and then fit everything else around it, because that is the material it met while it had no other frame. Given the contractual list first, the detection profile arrives as a set of details to place inside a structure that already exists.

Prompts to analyse a competitor's tech stack

Three passes, doing genuinely different work. The first turns a profile into a reading. The second reads the integrations directory, which is the one input that describes the buyer rather than the builder. The third needs two captures and is the only one of the three that reports a change.

Start here, and read the discard list at the end as carefully as the groups above it.

Here is a technology profile for [COMPETITOR]'s site, their integrations page, and their status page: [PASTE]. Group what this shows into: analytics and attribution, marketing and lifecycle, sales and support, infrastructure, and payments. Then answer the question the list does not: what do these choices imply about how they sell and who they sell to? Separate what the data states from what you are inferring, and name the two or three entries that carry the most weight in your reading. Ignore anything that is present on almost every website, and say which entries you discarded for that reason.

Run this on the directory rather than the detection profile. What a vendor expects to sit beside is a claim about your buyer as much as theirs.

Here is [COMPETITOR]'s integrations directory and the integrations section of their documentation: [PASTE]. Group the listed integrations by the job they do for the customer. For each group, say what it assumes is already running inside the buying company. Then answer two things the directory does not state: 1. Which integrations are conspicuously absent, given the buyers this product is aimed at? 2. Which of these would be expensive for a customer to unpick if they moved to another vendor? Quote their own wording for anything you classify as a deep integration rather than a surface one. Mark as ABSENT anything you looked for and did not find, rather than leaving it out.

Use this once you have two captures of the same list. It is the only version of this job that reports a direction rather than a position.

Here are two captures of [COMPETITOR]'s published vendor or sub-processor list, taken on [DATE ONE] and [DATE TWO]: [PASTE]. Produce three lists: entries present in both, entries that appear only in the later capture, and entries that have gone. For every entry give the purpose exactly as they describe it, plus any effective date written beside it. Where an effective date falls after the capture date, put that entry in a separate list and label it announced rather than in use. Do not explain why anything changed. Report the change, the date, and their wording for it.

Read the discard list at the end of the first output before the groups above it. Asking the model to name what it threw out as ubiquitous is the cheapest audit available on this job: if a consent banner and a font service were discarded, the filter worked, and if a data warehouse was discarded as ordinary, the reading in front of you is about websites in general rather than about this company.

Why AI misses most of a competitor's tech stack

We asked which third-party vendors a real product runs on, then opened the list that company publishes itself and compared.

Which vendors HubSpot's products rely on, asked on 21 September 2026 with nothing supplied and then with the company's own sub-processor page in the window.

Claude Opus 5asked which third-party vendors HubSpot's products run on, nothing supplied

2026-09-21

Amazon Web Services for hosting, after moving off their own data centres. Cloudflare in front of the web properties. Stripe processes payments in the commerce products. Internally it is largely Java, with HBase, Kafka and MySQL in the data layer and Elasticsearch for search; the front end is React.

Checked against HubSpot's published sub-processor page, last modified 16 September 2026

Three named vendors are on the list and correct: Amazon Web Services for hosting, Cloudflare as content delivery network, Stripe as payment processor. The page names seventeen third-party companies, so fourteen never appeared, and they are not fourteen at random. Six of them serve a single product area: Amazon Web Services, Baseten Labs, Google and OpenAI are all listed as AI service providers, and Bright Data and Exa Labs supply web search results to the same feature. Snowflake as data warehouse, Twilio for calling and SMS, Mux for video, Ably for chat and Dropbox for e-signature are absent as well. Nothing in the answer was false. Note also that the second half of it, the languages and databases, is neither confirmed nor contradicted here, because a sub-processor list names companies that process personal data rather than the technology a product is built in. Two different kinds of claim arrived under one heading, and the half that would have told you where this company is spending now is the half that was missing.

Silent omission

Claude Opus 5the sub-processor page supplied, nothing else allowed in

2026-09-21

Infrastructure: Amazon Web Services (hosting), Cloudflare (CDN), Google (regional data processing), Snowflake (data warehouse). AI providers: Amazon Web Services, Baseten Labs, Google, OpenAI. Web search for AI: Bright Data, Exa Labs. Communications: Twilio (calling and SMS), Ably (chat), Meta (WhatsApp), Mux (video). Documents: Dropbox (e-signature), ConvertAPI, Litmus, Hyperdoc (meeting transcripts). Payments: Stripe. Dated: Baseten Labs, Bright Data and Exa Labs are marked effective 16 October 2026 - announced, not yet in use. Not stated on this page: languages, databases, internal services, or anything that does not process personal data.

Checked against HubSpot's published sub-processor page, last modified 16 September 2026

Accurate to the page, and two blocks in it are worth more than the list itself. The last one is the source drawing its own boundary: a sub-processor list covers companies that handle personal data on the vendor's behalf, so it is silent on anything built in house, and an analysis presenting it as a complete technology inventory has overstated its evidence. The dated block is the finding. Three vendors carry an effective date thirty days after the page's own last-modified date, because the vendor has undertaken to give customers notice before a change. A competitor publishing the vendors they are about to start using is a forward-looking signal, and it appears only if the prompt is told to report the date column.

Which layer goes missing

Hosting, content delivery and payments came back correctly. Those three have been true about that company for years, which is the whole explanation: an answer assembled from what has been written about a company is weighted towards the years when most of the writing happened. Six of the entries it missed exist to serve a single feature area, and they are the six that would have told you where this company is currently spending.

The second half of the ungrounded answer is a separate problem wearing the same clothes. Languages, databases and front-end frameworks are not on a sub-processor page at all, because that document lists companies handling personal data rather than the technology a product is built in. Two kinds of claim arrived under one heading, one checkable against a published source and one not, and nothing in the output distinguished them.

What each answer could actually support, question by question
What you wanted to knowAnswered from memoryAnswered from their published list
Which cloud do they run on?Correct, and it has been correct for years.Correct, with the regions and the data location per market.
Are they building on third-party AI, and whose?Never came up.Four named providers, plus two suppliers of web search.
What are they about to start using?Unanswerable.Three vendors, each with an effective date still in the future.
What is the product built in?A confident list.Out of scope, and the page says so.

The last row is the one worth keeping. A source that states its own boundary lets you stop; an answer that does not state one leaves you unable to tell a gap in the evidence from a gap in the company.

Dates are what turn a competitor's stack into a direction

A stack read once is a photograph. It tells you where a competitor stood on the morning somebody ran a scan, and every sentence it produces is written in the present tense regardless.

Two things fix that, and neither is a better prompt. The first is capturing the same list twice and diffing it, which is the third prompt above. The second is reading the column almost nobody asks for. A published vendor list carries effective dates, and some of those dates have not arrived yet: vendors undertake to give customers notice before they add a processor, so the list names the companies they are about to start using. On the page we checked, three entries were marked effective thirty days after the page itself was last modified.

An announced vendor is not an adopted one

Which is exactly why the prompt separates them into their own list rather than folding them in. An entry that takes effect next month is a decision already taken and a capability not yet shipped, and those two states support completely different actions. Treating them as one produces a competitor who already does something they have only agreed to start doing, which is the sort of claim that reaches a sales call and gets corrected by the buyer.

None of this survives contact with a profile that arrived without a date on it, which is the real reason the input contract insists on the export rather than the screenshot. It is also why engineering job postings are worth reading beside the list: a role naming a tool that does not appear anywhere in the published stack is either something built in house or something arriving, and the posting is usually months earlier than any other public trace.

A prompt to analyse a competitor's tech stack describes one scan

Every layer of a stack moves at its own speed, and the layer that changes most often is the one that means least. Tags, widgets and marketing tools turn over constantly. Hosting, data warehouses and model providers barely move, and a movement there is a decision somebody had to argue for internally, which is precisely why it is worth a notification and the tag changes are not.

The practical consequence is that this analysis has no natural re-run date. Run it monthly and you spend the time re-reading a marketing layer. Run it annually and you find out about a new model provider a year after it was published, with an effective date on it that you could have had in advance. What you want is not a schedule at all, but to be told when a specific document changes.

The output belongs somewhere it can be compared against itself later. A dated technology section inside a competitor profile is enough, as long as every line keeps the source it came from, and the same discipline makes the next feature comparison easier to defend, because a capability and the vendor underneath it tend to appear in the public record at different moments.

One limit does not move. A change in a vendor list tells you that something changed and never why, and the why is what decides whether it matters to you. A data warehouse swapped for cost reasons and one swapped because a new product needs it look identical from outside, and no amount of watching resolves them.

Flares monitors competitor documentation, trust pages and changelogs, so a vendor appearing or a page being re-published arrives dated instead of being discovered at the next review. Deciding what the change means for your roadmap stays a judgement somebody on your side has to make.

Watch a competitor's vendor list change

Flares monitors competitor documentation and trust pages, so a new vendor arrives dated rather than in hindsight.

Discover Flares

14-day free trial · 30-second setup

Reading a competitor's technology choices FAQ

How do you analyse a competitor's tech stack with AI?

Give the model the profile rather than the company name. A detection export, their published vendor list, their integrations directory and their status page, each in a labelled block carrying its capture date, then ask for a grouping by layer and a separate list of what that grouping implies about how they sell. The classification is the part worth handing over; the inference is the part that needs a confidence rating beside every line.

Can AI tell you what software a competitor uses?

Not from memory, and the gap falls in a predictable place. Asked with nothing supplied, a model returns the vendors that have been true about a company for years, which tend to be hosting, content delivery and payments. Anything adopted recently is missing, and recent adoption is usually the thing you were asking about. Given the competitor's own published vendor list, the same model reads it accurately and says what the list does not cover.

Why does a model get a competitor's tech stack wrong?

Because a stack is a set of decisions with dates on them, and a model holds no dates. What comes back is an average of everything written about a company, weighted towards the years when most of that writing happened, so the long-standing vendors are right and the recent ones are absent. A stack analysis exists to catch exactly the recent ones, which is why this job fails from memory more completely than almost any other in this library.

Can you find out which AI models a competitor is using?

Often, and the place to look is contractual rather than technical. A vendor sending customer data to a third-party model usually has to name that provider in the sub-processor list published alongside its data-processing agreement, because its own enterprise customers require the disclosure. One published list read for this page named four AI service providers and two separate suppliers of web search results. What it will not tell you is which model version runs which feature, and no technology detection tool sees any of it, because none of it runs in the browser.

Does a sub-processor list show a competitor's whole tech stack?

No, and the boundary is unusually clean. A sub-processor list names companies that process personal data on the vendor's behalf, so anything built in house, every language and database, and any tool that never touches customer data all sit outside it by definition. Read as a vendor list it is the most reliable input on this job. Read as a technology inventory it is a fragment being presented as a whole.

How do you stop a tech stack analysis treating presence as use?

Make the prompt report where each entry was detected and what production use of it would look like. A tag that fired on one campaign landing page and a tag present on every screen of the application are the same line in a detection export and two different facts about the company. Asking for the evidence behind each classification turns an unmarked list into one somebody can argue with, which is the only state in which it is worth circulating.

What does a competitor's integrations directory say about their buyer?

Every listed integration is a claim about what the vendor expects to be running already inside the buying company. A directory heavy with enterprise data warehouses describes a different buyer from one heavy with small-business accounting tools, and neither vendor has said a word about segment. The absences carry as much as the entries: an integration an obvious segment would need, missing from a long directory, is either a gap or a boundary, and the directory will not say which.

How often does a competitor's tech stack analysis need re-running?

The layers move at such different speeds that a single schedule is the wrong shape. Analytics tags, chat widgets and marketing tools change monthly and mean very little. Hosting, data warehouse and AI providers change rarely, and a change there is a decision somebody had to defend internally. Watching the published vendor list is the cheap version of this, since it is dated and the vendor has committed to keeping it current.

What can a competitor's tech stack not tell you?

How well any of it works, and what any of it cost. A detected analytics platform says what a company measures and nothing about what the measurements showed, so estimating their traffic stays a separate exercise with separate sources. A named data warehouse says nothing about how much sits in it. The stack is evidence of choices, and choices are evidence of priorities, which leaves you two inferences away from the commercial question most people are really asking.

Track the tools your competitors adopt

Flares follows competitor product pages, documentation and changelogs, and reports what changed and when.

Discover Flares

14-day free trial · 30-second setup