Skip to content
Last updated

The HG API offers two ways to find companies: Match and Search. Use the one that fits your situation.

MatchSearch
Use whenYou have company names, domains, or countries and need to find their HG recordsYou want to discover companies based on criteria like industry, tech stack, or spend
InputUp to 10 companies per request (name, domain, and/or country)Filters (firmographics, installs, spend, intent)
OutputHG company records ranked by relevancePaginated list of matching companies
CreditsNo (requires positive balance)No (requires positive balance)
EndpointPOST /companies/matchPOST /companies/search

Common workflow: Use Match to resolve your existing company list into HG IDs, then use Enrich to pull their data. Use Search to discover new companies you don't already know about — Search returns minimal data (id, name, domain), so follow up with Enrich to get firmographics, technographics, or spend.


Company Match

Resolve companies from partial information. Submit a company name, domain, and/or country, and get back ranked HG company matches.

POST /data-api/v2/companies/match

Request

Each company must include at least one of: name, domain, or country. The more fields you provide, the better the match quality.

{
  "companies": [
    {
      "name": "Ford Motor Company",
      "domain": "ford.com",
      "country": "US"
    },
    {
      "domain": "google.com"
    },
    {
      "name": "Walmart",
      "country": "US"
    }
  ],
  "limit": 3
}

Parameters

ParameterTypeRequiredDescription
companiesarrayYesArray of companies to match (1-10)
companies[].namestringNo*Company name
companies[].domainstringNo*Company domain (e.g., ford.com)
companies[].countrystringNo*Country name or ISO 3166 alpha-2 code (e.g., US)
limitintegerNoMaximum matches per company (1-10, default: 1)

*At least one of name, domain, or country is required per company.

Response

Results are returned in the same order as the input, with matches sorted by relevance.

{
  "companies": [
    {
      "name": "Ford Motor Company",
      "domain": "ford.com",
      "country": "US",
      "matches": [
        {
          "id": "E48EDEB162A5FBFDAF2DCF707079F8F",
          "name": "Ford Motor Company",
          "domain": "ford.com",
          "country": "US",
          "matched_on": ["name", "domain", "country"]
        }
      ]
    }
  ]
}
FieldDescription
idHG company ID — use this for enrichment
nameMatched company name
domainMatched company domain
countryMatched company country
matched_onFields that contributed to the match (name, domain, country)

Match then Enrich

A common workflow is to match first, then enrich the results:

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

Find companies across the entire HG database using filters. You can filter by:

  • Firmographics — country, employee count, revenue, industry, region, NAICS/SIC codes
  • Technology installs — vendors, products, product categories
  • Spend — spend categories with min/max range
  • Intent — topics and signal score (LOW / MEDIUM / HIGH)
  • Corporate hierarchy — global headquarters, domestic parent

All filter categories use AND logic — combine as many as you need.

Search returns minimal company data (id, name, domain). To get firmographics, technographics, or spend data for the results, pass the returned IDs to POST /companies/enrich.

POST /data-api/v2/companies/search

Request

A search request requires fields (what to return) and filters (what to search for).

{
  "fields": ["id", "name", "domain"],
  "filters": {
    "firmographics": {
      "country_codes": [
        {"ids": ["US"], "inclusion_method": "ANY_PRESENT"}
      ],
      "employees": {"min": 1000}
    }
  },
  "limit": 10
}

Parameters

ParameterTypeRequiredDescription
fieldsarrayYesFields to return: id, name, domain, domain_normalized
filtersobjectYesFilter criteria (see below)
limitintegerNoResults per page (1-100, default: 10)
offsetintegerNoSkip results for pagination (default: 0)
sortsarrayNoSort by field and direction (ASC or DESC)

Filters

Combine any of the following. All filter categories use AND logic.

Firmographics

{
  "filters": {
    "firmographics": {
      "country_codes": [
        {"ids": ["US", "GB"], "inclusion_method": "ANY_PRESENT"}
      ],
      "employees": {"min": 1000, "max": 50000},
      "revenue": {"min": 100000000},
      "industries": [
        {"ids": [16], "inclusion_method": "ANY_PRESENT"}
      ]
    }
  }
}

You can also filter by region_names, naics_codes, and sic_codes.

Technology Installs

{
  "filters": {
    "installs": {
      "vendors": [
        {"ids": [316], "inclusion_method": "ANY_PRESENT"}
      ],
      "products": [
        {"ids": [814], "inclusion_method": "ANY_PRESENT"}
      ],
      "product_categories": {
        "ids": ["63E88D6A88D45AB23B4CB4E71CB5A2E"],
        "inclusion_method": "ANY_PRESENT"
      }
    }
  }
}

Two additional filters apply across whichever of vendors, products, or product_categories you also specify in the same request:

  • country — restrict to installs located in a specific country, independent of the company's own headquarters. For example, a US-headquartered company with a product installed at its German office would match country: {"codes": ["DE"]}, even though the company itself is not based in Germany.
  • product_last_verified_date — restrict to installs last verified within a date range (inclusive min/max, ISO 8601 dates).
{
  "filters": {
    "installs": {
      "vendors": [
        {"ids": [316], "inclusion_method": "ANY_PRESENT"}
      ],
      "country": {"codes": ["DE"]},
      "product_last_verified_date": {"min": "2026-01-01", "max": "2026-12-31"}
    }
  }
}

Spend

{
  "filters": {
    "spend": [
      {
        "categories": {
          "ids": ["3B36D42E7F8E60BE58BA4356B6AF40C"],
          "inclusion_method": "ANY_PRESENT"
        },
        "range": {"min": 1000000}
      }
    ]
  }
}

Intent

Available for all topics regardless of your plan.

{
  "filters": {
    "intent": {
      "topics": {
        "ids": ["19861D3AC60455102792F87A33AF533F"],
        "inclusion_method": "ANY_PRESENT"
      },
      "signal_score": "MEDIUM"
    }
  }
}

Signal score values: LOW, MEDIUM, HIGH.

Corporate Hierarchy

{
  "filters": {
    "corporate_hierarchy": {
      "is_global_headquarters": true,
      "is_domestic_parent": true
    }
  }
}

Inclusion Methods

MethodDescription
ANY_PRESENTMatches if any of the specified IDs are present
ALL_PRESENTMatches only if all specified IDs are present
NONE_PRESENTMatches only if none of the specified IDs are present

Response

{
  "companies": [
    {
      "id": "1698C53EBC888758570396E0334965C1",
      "name": "Walmart Inc.",
      "domain": "walmart.com"
    }
  ],
  "count": 1,
  "total": 4523
}

Use limit and offset to page through results. For the next page, increment offset by limit.

25,000 record limit: To protect performance for all users, each search query returns at most 25,000 records (100 per page × 250 pages). The total in the response reflects the true match count — if it exceeds 25,000, add filters to retrieve targeted segments. Combine firmographic, install, and intent filters to stay under the limit. Company Search does not consume credits, but requires a positive balance — see Credits and Usage.

{
  "fields": ["id", "name", "domain"],
  "filters": { ... },
  "limit": 100,
  "offset": 100
}

Full Example

US companies with 5,000+ employees that use Salesforce:

{
  "fields": ["id", "name", "domain"],
  "filters": {
    "firmographics": {
      "country_codes": [
        {"ids": ["US"], "inclusion_method": "ANY_PRESENT"}
      ],
      "employees": {"min": 5000}
    },
    "installs": {
      "vendors": [
        {"ids": [316], "inclusion_method": "ANY_PRESENT"}
      ]
    }
  },
  "sorts": [{"field": "name", "direction": "ASC"}],
  "limit": 25
}

Tips

  • Use the Catalog API to look up IDs for vendors, products, categories, industries, and intent topics
  • Neither Match nor Search consumes credits, but both require a positive balance
  • Provide more fields to Match for better accuracy — name + country is more precise than name alone
  • Start Search with broad filters and narrow down — the total field tells you how many companies match