Skip to main content

search_industries_naics_sic next channel

Status: Modified (migrated to the production data-api/v2 endpoint with Authorization: Bearer auth; description trimmed to ≤1,700 chars so it renders in full on the deployed connector, plus an explicit product-category boundary. Parameters, output shape, and cost are unchanged.) This tool is on the private next MCP channel for allow-listed orgs. When promoted, this file moves to mcp-tools/search-industries-naics-sic.md.

Search and translate industry codes across HG industry (23 buckets), NAICS 2012 (~2,200 codes), and SIC 1987 (~1,500 codes) in a single call. This tool searches taxonomy definitions, not company records — do NOT use it to find what industry a specific company belongs to (call company_firmographic for that), and do NOT use it for technology/product categories like "IaaS", "CRM", or "cloud infrastructure" (use get_product_category for those). Colloquial sector terms (fintech, saas, cybersecurity, etc.) are expanded server-side; the response's alias_expansions field shows what ran. Pass returned industry_id values to search_companies and use sic.sic_standard_code (not sic.sic_code) when chaining SIC codes downstream.

Integration required: hginsights_v2__data_api Cache schema version: 2 (differs from base — stale cached payloads from the public channel will not be served)

Parameters

ParameterTypeRequiredDefaultDescription
qstringOptionalText input → case-insensitive substring match against industry/NAICS/SIC name columns. All-digit input → prefix match against code columns only (e.g. q=52 returns NAICS sector 52 and its descendants, not codes that merely contain "52" like 1152). Multi-term: comma-separated (software,publishing,saas) runs the union (OR). Colloquial terms (fintech, saas, healthcare, cleantech, ev, cybersecurity, …) are expanded server-side; the response's alias_expansions shows what ran. Minimum 2 characters.
taxonomyenum (industry | naics | sic)OptionalRestricts matching to one taxonomy AND groups results by its primary key — one row per distinct entity with crosswalk counts on the matched block. Other blocks become {}.
naics_leaf_onlybooleanOptionalfalseOnly meaningful when taxonomy=naics. When true, drops 2/3/4/5-digit NAICS rollup codes and returns only the 6-digit leaf codes (1,590 of 2,209). Useful when chaining results into endpoints that expect specific industry codes. Silently ignored for other taxonomies.
limitintegerOptional50Page size, 1–500.
offsetintegerOptional0Page offset, ≥ 0.

Response Format

{
"results": [
{
"matched_on": "naics",
"industry": {},
"naics": {
"naics_code": "541511",
"naics_name": "Custom Computer Programming Services",
"naics_top_parent_code": "54",
"naics_top_parent_name": "Professional, Scientific and Technical Services",
"hierarchy_level": "national_industry",
"is_leaf": true,
"display_name_with_level": "Custom Computer Programming Services (national_industry 541511)",
"sic_count": 1
},
"sic": {
"sic_code": "I7371",
"sic_standard_code": "7371",
"sic_name": "Computer Programming Services",
"is_hg_extension": true,
"naics_count": 3
}
}
],
"pagination": {
"total": 1,
"limit": 50,
"offset": 0,
"has_more": false,
"total_pages": 1,
"offset_exceeds_total": false
},
"alias_expansions": [
{ "term": "saas", "expanded_to": ["software publishers", "computer programming"] }
],
"suggestions": []
}

Response fields

FieldMeaning
resultsCrosswalk rows. In unscoped mode, one row per match across taxonomies. In grouped mode (taxonomy set), one row per distinct entity in the requested taxonomy.
results[].matched_onWhich taxonomy produced the match (industry | naics | sic). Present when q is set.
results[].industryHG industry block; {} when not the matched/populated taxonomy. Contains industry_id, industry_name, and (grouped mode only) naics_count, sic_count.
results[].naicsNAICS 2012 block; {} when not the matched/populated taxonomy. Contains naics_code, naics_name, naics_top_parent_code, naics_top_parent_name, hierarchy_level, is_leaf, display_name_with_level, and (grouped mode only) sic_count.
results[].naics.hierarchy_levelNAICS level derived from code length: sector | subsector | industry_group | naics_industry | national_industry.
results[].naics.is_leafTrue iff hierarchy_level == "national_industry". Only leaves are safe to chain into downstream code-based filters.
results[].sicSIC 1987 block; {} when not the matched/populated taxonomy. Contains sic_code, sic_standard_code, sic_name, is_hg_extension, and (grouped mode only) naics_count.
results[].sic.sic_standard_codeStandard SIC-1987 code (e.g. "7372") — the value to pass to downstream APIs. Empty for sector-level rows.
results[].sic.sic_codeHG-extended SIC code with an internal letter prefix (e.g. "I7372"). Do NOT pass to downstream APIs — use sic_standard_code.
pagination.totalTotal rows matching the filter (not just this page).
pagination.total_pagesceil(total / limit).
pagination.offset_exceeds_totalTrue when offset >= total and total > 0 — diagnostic for paging-past-end.
alias_expansionsPresent only when one or more q terms were rewritten server-side. Each entry shows the colloquial term and the substrings it expanded_to.
suggestionsPresent only when results is empty AND q contained a text term. Up to 5 closest taxonomy names by trigram distance — use to self-heal typos / near-misses before retrying.

Example Usage

{
"tool": "search_industries_naics_sic",
"parameters": {
"q": "541511"
}
}
  • get_product_category — use this for technology/product categories ("IaaS", "CRM", "cloud infrastructure"), NOT this industry-taxonomy tool.
  • company_firmographic — find what industry a specific company belongs to (pass companyDomain or hg_id).
  • search_companies — pass returned industry_id values to the industry_ids parameter to filter companies by industry.

Changelog

2026-08-12 — Description truncation fix + product-category boundary (PR 1/2)

Availability: live on next only (allow-listed orgs via POST /api/mcp/next). This entry graduates to the public channel when promoted in PR 2/2.

Why this changed: A live audit found the tool description exceeded the ~2,048-char limit the deployed connector enforces, so ToolSearch was truncating it. The audit also found two-way selection ambiguity: a model could reach for this industry-taxonomy tool when it actually wanted a technology/product category (IaaS, CRM, cloud infrastructure), which HG serves through get_product_category.

What changed

  • Description trimmed to ≤1,700 chars. The description was condensed so it renders in full on the deployed connector, preserving the taxonomy coverage note, use-case list, alias-expansion behavior, zero-result suggestion rules, NAICS hierarchy guidance, and the corrected ~1,065 leaf-code count.
  • Added an explicit product-category boundary. The description now states to NOT use this tool for technology/product categories ("IaaS", "CRM", "cloud infrastructure") and to use get_product_category instead — this tool searches NAICS/SIC/HG industry taxonomy definitions, not product categories.

What stayed the same

  • All parameters (q, taxonomy, naics_leaf_only, limit, offset, …) are unchanged.
  • Output shape (results, alias_expansions, suggestions, hierarchy fields, …) is unchanged.
  • Tool key (search_industries_naics_sic), the free credit cost (0), and the upstream are identical to v1.

The cache schema version is bumped to super.getCacheSchemaVersion() + 1 (required by the manifest invariant even for a description-only override).