Blog/Sales & enrichment
11 min read

Technographic Data Platforms vs One API Call: What You Give Up

We ran a stack detection on a major site and half the fields came back empty. What per-call detection sees, and when a platform earns its price.

Technographic Data Platforms vs One API Call: What You Give Up

Technographic platforms sell a promise that sounds unarguable: know what every company runs, target accordingly. The pitch works because the alternative sounds worse, and nobody selling it shows you what a detection actually returns.

So we ran one. Monid is the OpenRouter for agent tools, and a stack-detection endpoint is in the catalogue, which means we can show the output rather than describe it.

Fair disclosure: you are on the Monid blog, and the endpoint we ran is one we resell. The measured result below is the least flattering thing in this guide and it is the reason to read it.

What does a per-call stack detection actually return?

Less than the field list implies. We ran a detection against a large, well-known SaaS domain on 2026-08-17.

The response carried fourteen structured fields. Seven came back empty:

empty:      frontend_framework, meta_framework, css_framework, analytics,
            cms, payment_processor, chat_widget
populated:  cdn, hosting_provider, email_provider, domain, plus the
            detected list below

The detection list held four items, every one at high confidence:

Cloudflare              CDN
Amazon Web Services     Hosting
Google Workspace        Email Provider
Custom font             Typography

Read that list again, because the pattern in it is the finding. Everything detected sits at the infrastructure layer. CDN, hosting, corporate email, a font. Nothing about the application: no framework, no analytics, no payments, no support tooling.

Those are exactly the fields a GTM team wants. Nobody segments an account list by CDN. They segment by whether a company runs a competing product, uses a particular analytics suite, or has a payment processor that implies a business model.

The empty fields are the ones you would have bought this for, and the response does not distinguish "not present" from "not detected". A null in analytics does not mean the company runs no analytics. It means the detector did not find any, on the page it looked at, at that moment.

Why do detections miss so much?

Because a detection reads one page's shipped markup, and modern applications hide almost everything from it.

Four reasons, and they compound:

The marketing site is not the product. A detector fetches a homepage. The application lives behind a login, on a different subdomain, built with a different stack. What you learn about is the marketing team's CMS choice, and often not even that.

Tag managers hide the tags. Analytics, chat widgets and A/B tools increasingly load through a single container, or server-side. The detector sees the container and nothing inside it, which is why analytics can be empty on a company that certainly measures its traffic.

Build tooling erases its own fingerprints. Compiled, minified and hashed output does not announce the framework that produced it. The absence of a framework signal is evidence about the build pipeline, not about the framework.

Payment processors appear at checkout. No checkout on the homepage, no processor detected. This one is nearly guaranteed and it is a field people rely on.

The honest reading of our result: it tells you the company is on Cloudflare and AWS, which is true and worth little, because so is a large share of the internet.

Detection is high-precision and low-recall. What it finds is almost always right; what it does not find is unknown. Treat a positive as evidence and a null as no information, and never as a negative.

Give this to your agent

$Set up https://monid.ai/SKILL.md, and then use Monid to show me what I can do for Company Enrichment.
See the Company Enrichment endpoints and prices

📖 See also the per-domain detection guide for the mechanics of running one.

When is a technographic platform worth its price?

When you need the fields a page read cannot reach, and that is more often than the per-call story admits.

The platforms are expensive because the hard part is not detecting a technology on a page. It is everything around that:

Panel and partner data. The good ones supplement page detection with data from sources that see beyond public markup. That is what fills the fields our run left empty, and it is licensed rather than derived.

History. "Which companies switched off a competitor last quarter" is the highest-value technographic question there is, and it requires having watched. A call today cannot answer a question about last quarter.

Coverage as a dataset. A platform has already scanned millions of domains, so you can query the population. Per-call detection can only answer about domains you name, which means you cannot discover an account list this way, only annotate one.

Normalisation. Twenty ways of naming the same product, mapped to one. That work is invisible until you try to group your own results and find three spellings of one vendor.

The honest split:

Buy the platform when technographics drive segmentation, when you need to discover accounts by what they run, or when change over time is the signal.

Buy the call when you already have the account, when you want to annotate a record at signup or in a workflow, and when infrastructure-level facts are enough for the decision.

The second is a smaller job than the platform pitch implies, and it is also the more common one in an engineering-led pipeline.

The signals that actually reach the application layer

If markup detection cannot see past the marketing site, the question becomes which public evidence can. Four sources, roughly in order of how much they tell you per item.

Job postings. The strongest, and the most under-used. A description naming a database, a cloud, a CRM or an analytics suite was written by someone who had to be certain enough to hire against it. It reaches the application layer by definition, because that is what the person will be working on. We wrote up reading hiring as a signal separately, and it applies directly here.

The company's own writing. Engineering blog posts and conference talks name the stack on purpose. context.dev /web/scrape/markdown turns those pages into text for a fraction of what a detection costs, and the text says more.

Announcements. Vendor partnerships, integrations and migrations get press releases, and a news watch on an account catches them. The pattern is covered in building a company news watcher.

Firmographics as context. Not a stack signal, but the thing that makes one interpretable: the same technology means different things at fifty people and five thousand. Turning a domain into full firmographics is the step that supplies it.

The pattern across all four: the readable signals are the ones a human wrote on purpose. Detection reads what a machine emitted by accident, which is why it finds infrastructure and misses intent. If you need to know what a company decided, look for where someone said so.

For the segmentation job this feeds, wiring up an ICP prospect search is the downstream half.

Which endpoint should I use for which job?

JobEndpointTakesBilling shape
Detect one domain's stackstrale /x402/company-tech-stackDomainPer call, the priciest row here
Enrich the company itselfpdl /v5/company/enrichWebsitePer call
Resolve a name first, freeakta /v1/company/searchName or websiteFree per call
Read the site's own textcontext.dev /web/scrape/markdownURLPer call, a fraction of the above
Hiring as a stack signalapify /harvestapi/linkedin-job-searchTitles, locationsPer result plus flat fee

Verified present on 2026-08-17 with monid discover. The billing column gives the shape rather than a figure; monid inspect prints the current figure for free.

That last row is the one worth taking seriously. A job posting naming a technology is stronger evidence than a page detection, because someone was confident enough to hire against it. It is also cheaper per record and reaches the application layer that markup detection cannot. If the question is "what does this company run", read what they are hiring for before you scan their homepage.

How to measure a detector before you trust it

Run this before any purchase, platform or per-call. It takes twenty domains and half an hour.

Pick companies whose stack you already know. Customers, partners, your own company. Ground truth is what makes the test worth anything, and it is the step people skip because it feels like cheating.

Count fill rate per field, not overall. A detector with 60% overall coverage that fills cdn reliably and analytics never is useless for a GTM team and fine for an infrastructure survey. The aggregate number hides exactly the distinction you are buying on.

Count false negatives explicitly. For each domain where you know a technology is present, record whether the detector found it. That number is the one no vendor publishes and the only one that predicts your experience.

Check whether nulls are distinguishable from absences. Ask the vendor, and if the answer is that they are not, your scoring rule needs to treat every empty field as unknown.

Twenty domains is enough to see the shape. If the fields you care about fill on fewer than half, the tool is not wrong, it is answering a different question than the one you have.

When should you not use Monid?

Technographics are your primary segmentation. If your ICP is defined by what companies run, buy a platform. A per-call endpoint cannot discover accounts, only describe ones you name, and that is the wrong shape for building a list.

You need change over time. Switching signals require history and history requires having collected it. Start collecting today if you like, but a platform already has three years.

You need application-layer detail reliably. As measured above, that is where per-call detection is weakest, and the gaps are systematic rather than random.

And the caution about us. Our own run returned half its fields empty at full price, which is the sharpest example in this guide of a rule that holds across this catalogue: metadata describes intent and a run describes behaviour. Run one before you size a batch, on any vendor, ours included.

Conclusion

Technographic detection by API is real, cheap relative to a platform, and much narrower than the field list suggests. Our measured run returned four technologies, all infrastructure, and left empty every field a GTM team would have bought it for.

Two things matter more than which vendor you pick. A null is not a negative: detection is high-precision and low-recall, so the absence of a signal tells you about the detector rather than the company, and any scoring rule that treats empty as "does not use" will be confidently wrong. And hiring data reaches the application layer that markup detection cannot, because a job ad names the stack on purpose while a compiled bundle hides it by accident.

Start with the free part: company resolution costs nothing, and monid inspect shows the detection schema before you spend. Then run one domain you already know the answer for, and count how many fields come back empty. That number is your real coverage rate, and it is the one no vendor page publishes. Begin at monid.ai.

FAQ

Does an empty field mean the company does not use that technology?

No, and this is the error that ruins technographic scoring. It means the detector did not find it on the page it read. Tag managers hide analytics, checkout-only scripts hide payment processors, and compiled bundles hide frameworks. Treat a populated field as evidence and an empty one as no information, never as a negative.

Why did the detection only find infrastructure?

Because infrastructure announces itself and applications do not. A CDN and a host are visible in headers and IP ranges, corporate email shows in DNS records, and none of those can be hidden without breaking the site. Application choices ship as compiled output with their fingerprints removed, so the layer you care about is the layer designed not to be readable.

Can I detect what a company runs behind a login?

Not by scanning. A page read reaches public markup only, and the product is not public. The signals that do reach it are indirect: job postings naming the stack, engineering blog posts, conference talks, and public repositories. Those are weaker per item and, in aggregate, more informative than a homepage scan.

Is per-call detection cheaper than a platform?

Per account, yes, by a wide margin. Per useful answer, it depends entirely on which fields you need: cheap detection that returns nothing on the field you care about is not cheaper than an expensive one that returns it. Run a sample of domains you already know and count the fill rate on your fields before comparing prices at all.

Last updated August 2026.

technographic datatech stack detectionb2b targetinggtm