Skip to content
Last updated

Company Enrichment

The enrichment endpoint returns firmographics, spend, and technographics data for companies.

Use Cases

Use the company enrichment endpoint to:

  • Enrich CRM records: Add firmographics, spend, and technology data to existing company records
  • Account planning: Understand a prospect's tech stack and IT spending before outreach
  • Qualify leads: Evaluate company size, revenue, and technology adoption for your sales pipeline
  • Competitive intelligence: Analyze the technologies and IT investments of specific companies

Endpoint

POST /data-api/v2/companies/enrich

Preview Credit Cost

Before calling /companies/enrich you can call /companies/enrich/estimate to check the credit cost.

POST /data-api/v2/companies/enrich/estimate

Pass the same request body you'd send to /companies/enrich. No credits are consumed, no data is returned, it's just a cost preview.

What the credits_estimate means:

  • It's a ceiling, not a guarantee. Actual charges may be lower if you've already pulled this data within your 12-month contract period.
  • It covers the full result set. The estimate assumes you page through every result. If you stop after page 1, you only pay for page 1. Paging through the full set costs the same as fetching it all at once, pagination doesn't multiply the cost

See Credits and Usage for the full request and response schema.

Request

You can enrich companies using either HG IDs or domains. The API supports bulk enrichment of up to 25 companies per request.

Request by HG ID

{
  "companies": {
    "ids": ["1698C53EBC888758570396E0334965C1"]
  },
  "fields": ["firmographics", "spend", "technographics"]
}

HG IDs are unique identifiers assigned by HG Insights to each company in our database. These IDs are returned in API responses and ensure precise company matching.

Request by Domain

{
  "companies": {
    "domains": ["walmart.com", "example.com"]
  },
  "fields": ["firmographics", "spend", "technographics"]
}

You can use company domains (e.g., walmart.com) to enrich companies without knowing their HG ID.

Parameters

ParameterTypeRequiredDescription
companies.idsarrayYes*HG company IDs (hex format, max 25)
companies.domainsarrayYes*Company domains (e.g., example.com, max 25)
fieldsarrayYesData categories to return

*Either ids or domains is required, but not both.

Bulk Enrichment

The API accepts up to 25 companies per request, allowing you to efficiently enrich multiple companies in a single call:

{
  "companies": {
    "ids": [
      "1698C53EBC888758570396E0334965C1",
      "E48EDEB162A5FBFDAF2DCF707079F8F",
      "ABC123DEF456..."
      // ... up to 25 IDs
    ]
  },
  "fields": ["firmographics", "technographics"]
}

Benefits of bulk requests:

  • More efficient than individual requests
  • Reduces API calls
  • Faster processing for large datasets

For datasets larger than 25 companies, split your requests into batches of 25.

Field Groups

You can request specific data categories by including them in the fields array:

  • **firmographics** - Company information including name, domain, location, industry classification, revenue, employee counts, and HG rankings
  • **spend** - IT spending data organized by technology category, including spend amounts and category details
  • **technographics** - Technology installation data including products, vendors, usage intensity, installation dates, and product categories

Important: The data returned by the company enrichment endpoint depends on your plan's entitlements. You can only access the field groups included in your subscription. Contact your account manager if you need access to additional data categories.

Response

{
  "companies": [
    {
      "id": "1698C53EBC888758570396E0334965C1",
      "firmographics": {
        "name": "Walmart Inc.",
        "domain": "walmart.com",
        "country_code": "US",
        "employees_total": 2100000,
        "revenue_total": 680985000000
      },
      "spend": {
        "all": [...],
        "all_count": 135
      },
      "technographics": {
        "installs": [...],
        "installs_count": 5900
      }
    }
  ]
}

Filtering Technographics

You can narrow down technographics results by vendor, product, or product category. Filters support both names and IDs — use names for simplicity, or IDs if you already have them from the Catalog API.

Filter by Name

The easiest way to filter. Just pass the vendor, product, or category name directly.

Filter by vendor (only Salesforce technologies):

{
  "companies": {"domains": ["walmart.com"]},
  "fields": ["technographics"],
  "filters": {
    "technographics": {
      "vendors": {"names": ["Salesforce"]}
    }
  }
}

Filter by product (only Salesforce CRM):

{
  "companies": {"domains": ["walmart.com"]},
  "fields": ["technographics"],
  "filters": {
    "technographics": {
      "products": {"names": ["Salesforce CRM"]}
    }
  }
}

Filter by product category (all CRM products, any vendor):

{
  "companies": {"domains": ["walmart.com"]},
  "fields": ["technographics"],
  "filters": {
    "technographics": {
      "categories": {"names": ["CRM"]}
    }
  }
}

Combine filters (Salesforce and Microsoft products in the CRM category):

{
  "companies": {"domains": ["walmart.com"]},
  "fields": ["technographics"],
  "filters": {
    "technographics": {
      "vendors": {"names": ["Salesforce", "Microsoft"]},
      "categories": {"names": ["CRM"]}
    }
  }
}

Filter by ID

If you need exact matching or are building programmatic integrations, you can use IDs instead. Look up IDs from the Catalog API — all catalog endpoints support ?name= for searching, plus limit and offset for pagination.

# Find a vendor ID
curl "https://api.hginsights.com/data-api/v2/catalog/vendors?name=Salesforce" \
  -H "Authorization: Bearer $HG_API_KEY"

# Find a product ID
curl "https://api.hginsights.com/data-api/v2/catalog/products?name=Salesforce%20CRM" \
  -H "Authorization: Bearer $HG_API_KEY"

# Find a category ID
curl "https://api.hginsights.com/data-api/v2/catalog/product_categories?name=CRM" \
  -H "Authorization: Bearer $HG_API_KEY"

Then pass the IDs in your filter:

{
  "companies": {"domains": ["walmart.com"]},
  "fields": ["technographics"],
  "filters": {
    "technographics": {
      "vendors": {"ids": [316]},
      "categories": {"ids": ["63E88D6A88D45AB23B4CB4E71CB5A2E"]}
    }
  }
}

Filter by Last Verified Date

Use the last_verified filter to only return technologies verified after a specific date. This is useful for identifying technologies that are still actively installed rather than stale detections.

{
  "companies": {"domains": ["walmart.com"]},
  "fields": ["technographics"],
  "filters": {
    "technographics": {
      "last_verified": {"after": "2026-01-01"}
    }
  }
}

You can combine last_verified with other filters. For example, only Salesforce products verified in the last 90 days:

{
  "companies": {"domains": ["walmart.com"]},
  "fields": ["technographics"],
  "filters": {
    "technographics": {
      "vendors": {"names": ["Salesforce"]},
      "last_verified": {"after": "2026-01-15"}
    }
  }
}