search_industries_naics_sic next channel
Status: Modified (migrated to the production
data-api/v2endpoint withAuthorization: Bearerauth; 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 privatenextMCP channel for allow-listed orgs. When promoted, this file moves tomcp-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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q | string | Optional | — | Text 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. |
taxonomy | enum (industry | naics | sic) | Optional | — | Restricts 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_only | boolean | Optional | false | Only 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. |
limit | integer | Optional | 50 | Page size, 1–500. |
offset | integer | Optional | 0 | Page 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
| Field | Meaning |
|---|---|
results | Crosswalk 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_on | Which taxonomy produced the match (industry | naics | sic). Present when q is set. |
results[].industry | HG industry block; {} when not the matched/populated taxonomy. Contains industry_id, industry_name, and (grouped mode only) naics_count, sic_count. |
results[].naics | NAICS 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_level | NAICS level derived from code length: sector | subsector | industry_group | naics_industry | national_industry. |
results[].naics.is_leaf | True iff hierarchy_level == "national_industry". Only leaves are safe to chain into downstream code-based filters. |
results[].sic | SIC 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_code | Standard SIC-1987 code (e.g. "7372") — the value to pass to downstream APIs. Empty for sector-level rows. |
results[].sic.sic_code | HG-extended SIC code with an internal letter prefix (e.g. "I7372"). Do NOT pass to downstream APIs — use sic_standard_code. |
pagination.total | Total rows matching the filter (not just this page). |
pagination.total_pages | ceil(total / limit). |
pagination.offset_exceeds_total | True when offset >= total and total > 0 — diagnostic for paging-past-end. |
alias_expansions | Present only when one or more q terms were rewritten server-side. Each entry shows the colloquial term and the substrings it expanded_to. |
suggestions | Present 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"
}
}
Related Tools
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 (passcompanyDomainorhg_id).search_companies— pass returnedindustry_idvalues to theindustry_idsparameter to filter companies by industry.
Changelog
2026-08-12 — Description truncation fix + product-category boundary (PR 1/2)
Availability: live on
nextonly (allow-listed orgs viaPOST /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_categoryinstead — 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).