HG Insights API

Overview of the HG Insights API

The HG Insights API provides comprehensive, data-driven insights into global technology markets and company landscapes. This API can be leveraged to seamlessly integrate HG’s firmographic and technographic data into platforms and internal processes.

Today, the API allows you to search our database of entities, understand our catalog of filters and products, and enrich firmographic and install data by HG ID.

Summary of Endpoints

Data Catalog API

This endpoint is to help make sure you have the correctly formatted inputs in other calls. This is an important resource that should be used to make sure parameters of other endpoints lead to successful calls.

Closely review the ReDoc/Swagger before making these calls, as some require additional inputs in the query parameters.

This catalog will generate lists for the following areas of the product:

  • Countries
  • FAI Departments
  • FAI Roles
  • Industries
  • Intent Buyers Journey
  • Intent Context Types
  • Intent Topics
  • NAICS 2012
  • Product Attributes
  • Product Categories
  • Products
  • SIC
  • Spend Categories
  • States
  • Vendors

Company Match API

This endpoint allows you to find entities in our dataset by name, country and/or URL.

Some entities can return a number of records back due to areas of deep location granularity in our data set. As a result, we allow you to return between 1 and 10 possible matches based on your input.

This endpoint will return the HG ID, Name and URL back to you for matching records. HG ID will be an important parameter in firmographic and install endpoints.

Company Search API

This endpoint allows you to find companies based on our wide variety of search criteria.

We’ll return back to you the count of companies that match your criteria, as well as an array of Name, Domain, Domain Normalized and HG ID. The array will be limited based on the value set in the request. HG ID will be an important parameter in firmographic and install endpoints.

Pay careful attention to the request body scheme to ensure a successful call. We highly recommend consulting the data catalog endpoint for help exploring options and selecting the right syntax.

Company Firmographics API

This endpoint allows the user to retrieve firmographic information about a company. Response will cover all fields available in the Platform today, including firmographics for both the target company and the GHQ.

An HG ID must be included in the parameter for this call to be successful, and the call will return data for that single HG ID.

Company Installs API

This endpoint allows the user to retrieve product install information about a company.

Filter your request by specific product datapoints relating to the id, name, vendor and category details, along with localization of the install.

An HG ID must be included in the parameter for this call to be successful, and the call will return data for that single HG ID.

Spend API

This endpoint allows the user to retrieve IT Spend Budget data about a company.

Requests can be filtered to only specific IT Spend Budget categories, or all categories can be returned in the call.

An HG ID must be included in the parameter for this call to be successful, and the call will return data for that single HG ID.

Functional Area Intelligence

HG Insights’ Functional Area Intelligence solution predicts where detected technologies are used on both a departmental and location-specific level within an organization. Given a product in a department, we will return top locations where a Decision Maker or Influencer is present.

An HG ID, product(s) and department(s) must be included in the parameter for this call to be successful, you may also optionally include roles to further target the returned data. The call will return data for that single HG ID.

Intent API

HG Contextual Intent is a solution designed for companies looking to leverage the power of customer buying patterns. This intent data is then contextualized with each company’s technographic profile to provide refined insights that support laser-focused company targeting.

A HG ID must be included in the parameter for this call to be successful, and the call will return data for that single HG ID. Requests can be filtered to only specific Intent topics, or all provisioned topics can be returned in the call. Available intent topics are limited to those provisioned to your organization.

API Structure + Base URL

The API is structured around REST commands with HTTPS response codes to indicate either successful calls or errors produced. Responses are all JSON objects.

When making API requests in URL, you must do so over HTTPS - calls made over HTTP will fail.

Note: Configuration for Large Data Transfer

Some endpoints, especially the ones inside our Data Catalog can return a lot of data. To reduce the data transfer and increase response time, the client should use the Content-Encoding header and specify a compression method, like gzip.

Tokens & Authentication

To access our data, you will need a token - this is a small piece of code that verifies a user or application to access an API. This token is needed for all API endpoints.

Does the token rotate?: This token will be refreshed periodically and should be used in the request header to authenticate the request.

How to Obtain a Token: This token will be supplied to you via your CSM.

Security Best Practices: Keep your API token confidential and regenerate tokens if compromised. Use HTTPS for all API requests

API Errors

Error Codes

The API uses standard HTTP status codes to indicate the success or failure of a request.

CodeDescriptionNotes
200OK
401UnauthorizedProbably a missing token or an invalid token
404Not foundThe requested resource was not found
422Unprocessable EntityMost likely the request body is invalid because of missing or invalid parameters validated by the Open API Spec

Error messages

The error messages follow always the same pattern for syntax errors:

{
  "errors": [
    {
      "title": "Invalid request",
      "detail": "The request is invalid",
      "source": {
        "pointer": "/data/attributes/first-name"
      }
    }
  ]
}
Download OpenAPI description
Languages
Servers
https://api.hginsights.com/

Geography

Operations

Industry

Operations

Technographic

Operations

Intent

Operations

FAI

Operations

Companies

Operations

Spend

Operations

Catalog

Operations

Company

Operations

Firmographic

Request

Returns detailed information about the specified company, including firmographics, installed technologies, and more.

Results are internally sorted by revenue (descending).

It's also possible to specify what fields from the API should be returned. By default, only some fields are returned.

Bodyapplication/jsonrequired

Company Info Request

company_idId (string) or Id (integer)(Id)required

A unique hexadecimal identifier for the desired field.

Example: "1698C53EBC888758570396E0334965C1"
One of:

A unique hexadecimal identifier for the desired field.

string(Id)

A unique hexadecimal identifier for the desired field.

fieldsArray of strings(CompanyDataFields)

A list of data points to be returned in the API response.

Default ["company_id","company_name","domain_name","domain_name_normalized"]
Items Enum"company_id""company_name""domain_name""domain_name_normalized""company_level""city_name""state_name""postal_code""country_name""country_code"
Example: ["company_id","company_name","domain_name","domain_name_normalized","company_level","city_name","state_name","postal_code","country_name","country_code","continent_name","subcontinent_name","geopolitical_name","industry_id","industry_name","naics_code","naics_name","sic_codes","sic_names","revenue_total","revenue_band","employees_total","employees_band","it_spend","forbes_2000_rank","fortune_500_rank","global_hq_company_name","global_hq_domain_name","global_hq_domain_name_normalized","global_hq_hg_id","global_hq_city_name","global_hq_state_name","global_hq_postal_code","global_hq_country_name","global_hq_country_code","global_hq_subcontinent_name","global_hq_continent_name","global_hq_geopolitical_name","global_hq_employees_band","global_hq_revenue_band","global_hq_industry_id","global_hq_industry_name","global_hq_naics_code","global_hq_naics_name","global_hq_sic_codes","global_hq_sic_names","global_hq_forbes_2000_rank","global_hq_fortune_500_rank"]
curl -i -X POST \
  https://api.hginsights.com/data-api/v1/company/firmographic \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "company_id": "1698C53EBC888758570396E0334965C1",
    "fields": [
      "company_id",
      "company_name",
      "domain_name",
      "domain_name_normalized",
      "company_level",
      "city_name",
      "state_name",
      "postal_code",
      "country_name",
      "country_code",
      "continent_name",
      "subcontinent_name",
      "geopolitical_name",
      "industry_id",
      "industry_name",
      "naics_code",
      "naics_name",
      "sic_codes",
      "sic_names",
      "revenue_total",
      "revenue_band",
      "employees_total",
      "employees_band",
      "it_spend",
      "forbes_2000_rank",
      "fortune_500_rank",
      "global_hq_company_name",
      "global_hq_domain_name",
      "global_hq_domain_name_normalized",
      "global_hq_hg_id",
      "global_hq_city_name",
      "global_hq_state_name",
      "global_hq_postal_code",
      "global_hq_country_name",
      "global_hq_country_code",
      "global_hq_subcontinent_name",
      "global_hq_continent_name",
      "global_hq_geopolitical_name",
      "global_hq_employees_band",
      "global_hq_revenue_band",
      "global_hq_industry_id",
      "global_hq_industry_name",
      "global_hq_naics_code",
      "global_hq_naics_name",
      "global_hq_sic_codes",
      "global_hq_sic_names",
      "global_hq_forbes_2000_rank",
      "global_hq_fortune_500_rank"
    ]
  }'

Responses

Company Info Response

Bodyapplication/json
company_namestring
domain_namestring
domain_name_normalizedstring
hg_idstring
naics_namestring
global_hq_sic_codesArray of strings
global_hq_country_codestring
naics_codestring
revenue_totalinteger or null

Revenue in USD

fortune_500_rankinteger or null>= 1
global_hq_country_namestring
global_hq_industry_namestring
global_hq_city_namestring
subcontinent_namestring
state_namestring
company_levelstring
country_codestring
global_hq_continent_namestring
global_hq_domain_namestring
employees_bandstring

Employees band

global_hq_employees_bandstring
global_hq_revenue_bandstring
sic_codesArray of strings
global_hq_state_namestring
industry_idinteger
global_hq_fortune_500_rankinteger or null>= 1
industry_namestring
global_hq_naics_namestring
postal_codestring
global_hq_geopolitical_namestring
employees_totalinteger or null

Number of employees

geopolitical_namestring
global_hq_hg_idstring
global_hq_industry_idinteger
global_hq_subcontinent_namestring
revenue_bandstring

Revenue band

country_namestring
forbes_2000_rankinteger or null>= 1
global_hq_domain_name_normalizedstring
it_spendinteger or null
global_hq_sic_namesArray of strings
global_hq_forbes_2000_rankinteger or null>= 1
global_hq_company_namestring
continent_namestring
sic_namesArray of strings
global_hq_naics_codestring
global_hq_postal_codeinteger
city_namestring
Response
application/json
{ "company_name": "string", "domain_name": "string", "domain_name_normalized": "string", "hg_id": "string", "naics_name": "string", "global_hq_sic_codes": [ "string" ], "global_hq_country_code": "string", "naics_code": "string", "revenue_total": 0, "fortune_500_rank": 1, "global_hq_country_name": "string", "global_hq_industry_name": "string", "global_hq_city_name": "string", "subcontinent_name": "string", "state_name": "string", "company_level": "string", "country_code": "string", "global_hq_continent_name": "string", "global_hq_domain_name": "string", "employees_band": "string", "global_hq_employees_band": "string", "global_hq_revenue_band": "string", "sic_codes": [ "string" ], "global_hq_state_name": "string", "industry_id": 0, "global_hq_fortune_500_rank": 1, "industry_name": "string", "global_hq_naics_name": "string", "postal_code": "string", "global_hq_geopolitical_name": "string", "employees_total": 0, "geopolitical_name": "string", "global_hq_hg_id": "string", "global_hq_industry_id": 0, "global_hq_subcontinent_name": "string", "revenue_band": "string", "country_name": "string", "forbes_2000_rank": 1, "global_hq_domain_name_normalized": "string", "it_spend": 0, "global_hq_sic_names": [ "string" ], "global_hq_forbes_2000_rank": 1, "global_hq_company_name": "string", "continent_name": "string", "sic_names": [ "string" ], "global_hq_naics_code": "string", "global_hq_postal_code": 0, "city_name": "string" }

Functional Area Intelligence

Request

Lookup functional area intelligence data for a company based on a company's ID, products, departments, and roles.

Results have an internal limit of 10.

It's also possible to specify what fields from the API should be returned. By default, only some fields are returned.

Bodyapplication/jsonrequired

Company FAI Request

fieldsArray of strings or null(CompanyFaiSelectFields)

List of fields to be selected.

Default ["company_id","product_name","department_name","role_name"]
Enum"company_id""product_id""product_name""department_id""department_name""department_usage_share""department_signal_strength""role_id""role_name""role_signal_share"
Example: ["company_id","product_name","department_name","role_name"]
filtersobject(CompanyFaiFilters)required

Filters to be used to narrow down the functional area intelligence data to return.

Example: {"company_id":"0252985AFE13886BC6FFA5CEBD75F4FA","departments":["0D32106BCB6DE321930CF34574EA388C","3D4C638DA5F85D025963F99FE90B1B1A","2C329EF27D7F8CB49D656D5502B9E939"],"products":[1150,805,25421,826,814,562],"roles":["2AB3F09BBBA80FF82B8FD5916954C46A","2E6BAB5FC1C661EDD7A863D4DCA3415B","21C896AFCD34E446180844D91359246E","39FD56FC1455D4D872DB14F656225740"]}
filters.​company_idId (string) or Id (integer)(Id)required

A unique hexadecimal identifier for the desired field.

Example: "1698C53EBC888758570396E0334965C1"
One of:

A unique hexadecimal identifier for the desired field.

string(Id)

A unique hexadecimal identifier for the desired field.

filters.​departmentsArray of Id (string) or Id (integer)(Id)non-emptyrequired

Return functional area intelligence records which are based on the provided department ids.

Example: ["0D32106BCB6DE321930CF34574EA388C","3D4C638DA5F85D025963F99FE90B1B1A","2C329EF27D7F8CB49D656D5502B9E939"]
One of:

A unique hexadecimal identifier for the desired field.

string(Id)

A unique hexadecimal identifier for the desired field.

filters.​productsArray of integersnon-emptyrequired

Return functional area intelligence records which are based on the provided product ids.

Example: [1150,805,25421,826,814,562]
filters.​rolesArray of Id (string) or Id (integer)(Id)non-empty

Return functional area intelligence records which are based on the provided department role ids.

Example: ["2AB3F09BBBA80FF82B8FD5916954C46A","2E6BAB5FC1C661EDD7A863D4DCA3415B","21C896AFCD34E446180844D91359246E","39FD56FC1455D4D872DB14F656225740"]
curl -i -X POST \
  https://api.hginsights.com/data-api/v1/company/functional_area_intelligence \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "fields": [
      "company_id",
      "product_name",
      "department_name",
      "role_name"
    ],
    "filters": {
      "company_id": "0252985AFE13886BC6FFA5CEBD75F4FA",
      "departments": [
        "0D32106BCB6DE321930CF34574EA388C",
        "3D4C638DA5F85D025963F99FE90B1B1A",
        "2C329EF27D7F8CB49D656D5502B9E939"
      ],
      "products": [
        1150,
        805,
        25421,
        826,
        814,
        562
      ],
      "roles": [
        "2AB3F09BBBA80FF82B8FD5916954C46A",
        "2E6BAB5FC1C661EDD7A863D4DCA3415B",
        "21C896AFCD34E446180844D91359246E",
        "39FD56FC1455D4D872DB14F656225740"
      ]
    }
  }'

Responses

Company FAI Response

Bodyapplication/json
countinteger
dataArray of objects(CompanyFaiData)
Response
application/json
{ "count": 0, "data": [ {} ] }

Product installs

Request

Retrieve a list of technologies (and corresponding details) which a company has been detected to have used or 'installed'.

It's also possible to specify what fields from the API should be returned. By default, only some fields are returned.

Bodyapplication/jsonrequired

Company Installs Request

fieldsArray of strings or null(SelectedInstallFields)

List of fields to be selected.

Default ["product_id","product_name","vendor_name","product_last_verified_date","product_intensity","country_code"]
Enum"product_id""product_name""product_description""vendor_id""vendor_name""vendor_domain_name""product_category_id""product_category_level1_name""product_category_level2_name""product_category_level3_name"
filtersobject(InstallsFilters)required

Filter Product Installs by various criteria

Example: {"company_id":"1698C53EBC888758570396E0334965C1","country_codes":{"ids":["US"],"inclusion_method":"ANY_PRESENT"},"product_attributes":{"ids":[222],"inclusion_method":"ANY_PRESENT"},"product_categories":{"ids":["319D067B229178F03BCFA1DA4AC4DEDE"],"inclusion_method":"ANY_PRESENT"},"products":{"ids":[814],"inclusion_method":"ANY_PRESENT"},"vendors":{"ids":[316],"inclusion_method":"ANY_PRESENT","product_count":{"max":10,"min":1}}}
filters.​company_idId (string) or Id (integer)(Id)required

A unique hexadecimal identifier for the desired field.

Example: "1698C53EBC888758570396E0334965C1"
One of:

A unique hexadecimal identifier for the desired field.

string(Id)

A unique hexadecimal identifier for the desired field.

filters.​country_codesobject(CountryCodeFilter)

Inclusion filter object (using string names as IDs)

Example: {"ids":["CA","US"],"inclusion_method":"ANY_PRESENT"}
filters.​product_attributesobject(ProductAttributesFilter)

Inclusion filter object using integer IDs. Can filter ids by ANY_PRESENT or NONE_PRESENT inclusion methods

Example: {"ids":[16994],"inclusion_method":"ANY_PRESENT"}
filters.​product_categoriesobject(ProductCategoriesFilter)

Inclusion filter object for use with hex encoded IDs. Can filter ids by ANY_PRESENT or NONE_PRESENT inclusion methods

Example: {"ids":["1698C53EBC888758570396E0334965C1"],"inclusion_method":"ANY_PRESENT"}
filters.​productsobject(ProductFilter)

Inclusion filter object using integer IDs. Can filter ids by ANY_PRESENT or NONE_PRESENT inclusion methods

Example: {"ids":[16994],"inclusion_method":"ANY_PRESENT"}
filters.​vendorsobject(VendorFilter)

Inclusion filter object using integer IDs. Can filter ids by ANY_PRESENT or NONE_PRESENT inclusion methods

Example: {"ids":[16994],"inclusion_method":"ANY_PRESENT"}
limitinteger(Limit)<= 1000

The number of records to return in the request.

Default 10
offsetinteger(Offset)>= 0

Used for paginating records.

Default 0
sortsArray of objects(InstallFieldSorts)
Default [{"direction":"DESC","field":"product_intensity"}]
Example: [{"direction":"DESC","field":"product_id"}]
curl -i -X POST \
  https://api.hginsights.com/data-api/v1/company/installs \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "fields": [
      "product_id",
      "product_name",
      "vendor_name",
      "product_last_verified_date",
      "product_intensity",
      "country_code"
    ],
    "filters": {
      "company_id": "1698C53EBC888758570396E0334965C1",
      "country_codes": {
        "ids": [
          "US"
        ],
        "inclusion_method": "ANY_PRESENT"
      },
      "product_attributes": {
        "ids": [
          222
        ],
        "inclusion_method": "ANY_PRESENT"
      },
      "product_categories": {
        "ids": [
          "319D067B229178F03BCFA1DA4AC4DEDE"
        ],
        "inclusion_method": "ANY_PRESENT"
      },
      "products": {
        "ids": [
          814
        ],
        "inclusion_method": "ANY_PRESENT"
      },
      "vendors": {
        "ids": [
          316
        ],
        "inclusion_method": "ANY_PRESENT",
        "product_count": {
          "max": 10,
          "min": 1
        }
      }
    },
    "limit": 10,
    "offset": 0,
    "sorts": [
      {
        "direction": "DESC",
        "field": "product_intensity"
      }
    ]
  }'

Responses

Company Installs Response

Bodyapplication/json
countinteger

The number of installs at the company fitting the criteria.

dataArray of objects(InstallObject)
Response
application/json
{ "count": 0, "data": [ {} ] }