Tech
Detect which ERP or CRM a company uses, or verify a specific technology, from a domain — confirmed with public web evidence, not vendor data alone.
What it answers
The Tech signal detects which system a company currently uses in a technology category, or verifies whether it uses a specific product. It answers one of two scopes depending on which parameter you supply:
- Category scope (
category) — "Which CRM system does this company use?" Returns every system detected in the category, with the current system of record inprimary. - Technology scope (
technology) — "Does this company use Salesforce?" Returns a one-elementtechnologieslist whosestatuscarries the verdict.
Key: tech-stack · Scope: company · Cost: 0.75 credits per fresh result (cache serves and failures are free)
The legacy routes (POST /v1/signals/tech and POST /v1/signals/sync/tech) keep working at their old 2-credit price until their announced sunset — responses carry Deprecation and successor Link headers. New integrations should use the endpoint above.
Evidence over vendor data
The differentiator of this signal is how it decides. Third-party technographics data is treated as a prior, not the answer. Vendor detections enter the research loop only as leads to verify, and every reported technology must cite public web evidence — a job posting, engineering blog, documentation, a case study, or a live website fingerprint from the company's own site.
A vendor row is never itself the citation. A hint that can't be corroborated on the public web surfaces as status: not_found — an explicit "checked but unconfirmed" element — rather than being reported as a confirmed finding or silently dropped. This is what keeps the signal from regurgitating a technographics column: the answer reflects what could be verified, not what a data provider guessed.
Request
Supply a domain plus exactly one of category or technology. Providing neither, or both, returns a 422.
# Category scope: which CRM does this company use?
curl -X POST https://api.saber.app/v1/companies/enrich/tech-stack \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "monday.com",
"category": "crm"
}'# Technology scope: does this company use Salesforce?
curl -X POST https://api.saber.app/v1/companies/enrich/tech-stack \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "monday.com",
"technology": "salesforce"
}'| Field | Type | Required | Description |
|---|---|---|---|
domain | string | yes | Company domain to research. |
category | string | one of | Coarse category to survey: erp or crm. Mutually exclusive with technology. |
technology | string | one of | A specific technology to check for, as free text (e.g. salesforce, SAP S/4HANA); Saber resolves it to a canonical registry slug. Mutually exclusive with category. |
webhookUrl | string | no | Where to deliver the completed result when the run finishes (202 path). On a 200 cache serve the answer is already in the response. |
forceRefresh | boolean | no | Bypass the cache and force a fresh run. |
An unresolvable technology value returns a 422 with did-you-mean suggestions, so a typo fails fast rather than researching the wrong product.
Response
Both scopes return the same shape; scope tells you which was asked. A completed run carries the payload under result (the legacy /v1/signals routes return it under answer.jsonSchema).
{
"scope": "category",
"category": "crm",
"primary": "salesforce",
"technologies": [
{
"technology": "salesforce",
"displayName": "Salesforce",
"status": "active",
"confidence": 0.9,
"lastEvidence": "2026-05",
"evidence": [
{
"type": "job_posting",
"url": "https://monday.com/careers/salesforce-admin",
"title": "Salesforce Administrator"
}
]
}
]
}| Field | Type | Description |
|---|---|---|
scope | string | category or technology — which question was asked. |
category | string | The requested category (erp/crm). Present for category-scope answers. |
technologies | array | Technologies investigated, strongest evidence first. Each carries a canonical technology slug, displayName, confidence, status, lastEvidence, and an evidence list. |
primary | string | Canonical slug of the single current system of record; omitted when no clear primary exists. |
Each technology's status is one of:
active— current use, backed by recent public evidence.churned— evidence shows the company moved off it (e.g. a migration announcement).not_found— a vendor-data hint was checked but no public evidence of current use was found. Itsevidencelist is empty.
Every evidence entry has a type (job_posting, engineering_blog, docs, case_study, or website_fingerprint) and a public url. A website_fingerprint is a technology observed live on the company's own site (a script, cookie, header, or DOM detection) — direct public evidence, distinct from any vendor data row.
Signals
Browse all prebuilt company signals.
Firmographics
Base profile plus a refined Saber category.
Open Jobs
What the company is hiring for now.
Custom Signals
Design your own research question when the prebuilt signals don't cover it.
API reference
Endpoint reference for the prebuilt types and the enrichment-run envelope.