Company Spend
Estimate a company's annual IT spend in USD, broken down by spend category and country, from HG Insights modeled spend data. Values are HG's modeled dollar estimates (not billed/actual invoices) — e.g. Cisco returns ~$25.9B total, with per-category figures like "Total IT", "Total External IT", "Services", and "Software", each also split by country. Use this when you need budget/deal-sizing numbers: how much a company spends on IT overall or within a category (Security, Software, Cloud, Services), or the geographic distribution of that spend. Identify the company by domain (e.g., "cisco.com") or HG Insights company ID (hg_id); if both are given, hg_id wins. Filter to one category with spendCategory (fuzzy-matched). Do NOT use this when you want to know WHICH cloud/CDN/hosting vendors a company uses or when they adopted them — that is company_cloud_spend (vendor detail, no dollars). Do NOT use this to list installed on-prem software/products (CRM, databases, security tools) — that is company_technographic. Returns totalSpend (formatted like "$25,929,336,774") plus totalSpendAmount (numeric); "N/A"/null appears where HG has no value (see unknownRowCount). By default the top 50 categories (sorted by spend desc) are returned; raise limit (max 200), project rows with fields, or set full=true for everything.
Credits
3 — Per call. See the full credit table for how AI Credits work.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
companyDomain | string | - | Company website domain to estimate IT spend for (e.g., "cisco.com"). Either companyDomain or hg_id is required. Protocol prefixes (http://, https://), a leading www., and trailing paths/queries/fragments are accepted and stripped automatically; case is normalized. |
hg_id | string | - | HG Insights company ID (31-32 alphanumeric characters, e.g., "0FF69D9F596504A1FF4FF5B16FF"), typically from a prior search_companies / company_firmographic result. Takes precedence over companyDomain when both are supplied. Use this instead of a domain to pin an exact company entity. |
spendCategory | string | - | Restrict results to a single spend category, fuzzy-matched against HG's category names (e.g., "Security", "Software", "Cloud", "Services"). Omit to return every category (top ones by spend, subject to limit). No match raises an error rather than returning all categories. |
limit | integer | 50 | Maximum number of spendByCategory entries to return (default: 50, max: 200). Categories are sorted by total spend (descending) before truncation. Ignored when full=true. |
fields | array | - | Project each spendByCategory row to this subset of fields. categoryId, categoryName, totalSpend, totalSpendAmount, and unknownCountryCount are always included regardless of this list (they are required by the output schema). Useful for trimming large categoryTree or spendByCountry payloads. Ignored when full=true. |
full | boolean | false | When true, return the full payload with no limit and no field projection. Default: false (limit and fields apply, keeping unconstrained payloads under 40KB). |
Required Integrations
This tool is only available when your organization has the following integration configured in the Phoenix Integrations settings:
- HG Insights (
hginsights)
Use Cases
- How much does a company spend on IT overall (annual USD estimate)? — call by domain, read totalSpend
- What does a company spend within a specific category (Security, Software, Cloud, Services)? — spendCategory filter
- Which spend categories are largest for a company? — read the top spendByCategory rows (sorted by spend desc)
- How is a company's IT spend distributed across countries? — read spendByCountry per category
- Size a deal or compare two companies' IT budgets — one call per company, compare totalSpendAmount
Example Usage
Cisco's full IT spend estimate by category and geography
{
"tool": "company_spend",
"arguments": {
"companyDomain": "cisco.com"
}
}
Only Security spend for a company
{
"tool": "company_spend",
"arguments": {
"companyDomain": "walmart.com",
"spendCategory": "Security"
}
}
Compact top-10 categories, numbers only (no geography/tree)
{
"tool": "company_spend",
"arguments": {
"companyDomain": "microsoft.com",
"limit": 10,
"fields": [
"categoryName",
"totalSpend",
"totalSpendAmount"
]
}
}
Response Format
- All figures are HG Insights' MODELED dollar estimates, not billed or invoiced amounts — use them for budget sizing and comparison, not as a company's actual spend of record.
"N/A"/nullappears where HG has no value for a row;unknownRowCountandunknownCountryCountcount how many were suppressed, so a partial breakdown does not mean zero spend.- By default only the top 50 categories (by spend, descending) are returned; raise
limit(max 200) or setfull=truefor the complete breakdown.
| Field | Type | Description |
|---|---|---|
companyId | string | The HGInsights company identifier |
companyDomain | string | The company domain that was queried |
totalSpend | string | Total IT spend formatted as currency (e.g., '$1,234,567'), or 'N/A' when every row in the response has unknown spend. |
totalSpendAmount | number | null | Total IT spend as a numeric value. Null when every row has unknown spend; otherwise the sum of all rows whose spendAmount was not null. See unknownRowCount for how many rows were skipped. |
unknownRowCount | number | Number of country rows across all categories whose spendAmount was null (HG didn't have a value). Use this to gauge how much of the response is partial. |
spendByCategory | array | Breakdown of spend by category |
spendByCategory[].categoryId | string | Category identifier |
spendByCategory[].categoryName | string | Category display name |
spendByCategory[].categoryTree | array | Hierarchical category path |
spendByCategory[].totalSpend | string | Category spend formatted as currency, or 'N/A' when every row in the category has unknown spend |
spendByCategory[].totalSpendAmount | number | null | Category spend as numeric value. Null when every row in the category has unknown spend; otherwise the sum of known rows. |
spendByCategory[].unknownCountryCount | number | Number of country rows in this category whose spendAmount was null. |
spendByCategory[].spendByCountry | array | Geographic breakdown of spend |
spendByCategory[].spendByCountry[].countryCode | string | ISO country code |
spendByCategory[].spendByCountry[].countryName | string | Country name |
spendByCategory[].spendByCountry[].region | string | Geographic region |
spendByCategory[].spendByCountry[].spend | string | Spend formatted as currency, or 'N/A' when upstream spend is null |
spendByCategory[].spendByCountry[].spendAmount | number | null | Spend as numeric value. Null when upstream HG data is unknown for this row (e.g. certain subsidiary/country combinations). |
categoriesFound | number | Number of spend categories found |
countriesFound | number | Number of countries with spend data |
Example response
{
"companyId": "3AB6196C456CE3313A04A57BA6FA7BE3",
"companyDomain": "salesforce.com",
"totalSpend": "$17,106,767,476",
"totalSpendAmount": 17106767476,
"unknownRowCount": 0,
"spendByCategory": [
{
"categoryId": "1B2FC9F5FC548236D008A16D31697301",
"categoryName": "Total IT",
"categoryTree": [
"Total IT"
],
"totalSpend": "$4,101,304,613",
"totalSpendAmount": 4101304613,
"unknownCountryCount": 0,
"spendByCountry": [
{
"countryCode": "US",
"countryName": "United States of America (the)",
"region": "AMER",
"spend": "$4,101,304,613",
"spendAmount": 4101304613
}
]
}
],
"categoriesFound": 135,
"countriesFound": 1
}
Related Tools
company_cloud_spend, company_technographic, company_install_time_series, company_firmographic, search_companies