Skip to main content

Search Industries (NAICS / SIC)

RESOLVER: find industry codes (HG industry_id, NAICS, SIC) by keyword so you can feed them into search_companies (industry_ids, naics_codes, sic_codes). Searches and translates across HG industry (23 buckets), NAICS 2012 (~2,200 codes), and SIC 1987 (~1,500 codes) in one call. Use this when you have an industry NAME or colloquial sector term ("fintech", "software publishers") and need its numeric code(s) before an industry-scoped company search — resolve the code here first. Do NOT use this to actually find companies — that is search_companies (pass the industry_ids/naics_codes/sic_codes you resolved here). Do NOT use this to find what industry a specific company belongs to — call company_firmographic (pass companyDomain or hg_id). This tool searches taxonomy definitions, not company records, and returns no revenue, headcount, or company counts. When chaining codes downstream: pass industry_id integers to industry_ids; pass sic.sic_standard_code (e.g. "7372"), NOT sic.sic_code (the "I7372" HG-extended form has an internal letter prefix and will not match); and prefer leaf NAICS (is_leaf=true), since rollups will not match a single company's classification. The response includes alias_expansions (colloquial terms rewritten server-side) and, when results is empty on a near-miss, a suggestions array of the closest taxonomy names — check it before retrying; if it is absent too, rephrase to a broader category. Free — no credits consumed.

Credits

Free — No credits consumed. See the full credit table for how AI Credits work.

Parameters

NameTypeDefaultDescription
qstring-Optional. Text input → case-insensitive substring match against industry/NAICS/SIC name columns. A known code works as a translation lookup ("541511", "7372") returning the full crosswalk. 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, ecommerce, healthcare, cybersecurity, cleantech, ev, biotech, gaming, streaming, logistics, adtech, proptech, insurtech, edtech, airline, hospitality, renewable, semiconductor, …) are expanded server-side into the substrings actually present in NAICS/SIC names; the response's alias_expansions shows what ran. Minimum 2 characters.
taxonomystring-Optional. Restricts matching to one taxonomy AND groups results by its primary key — one row per distinct entity with crosswalk counts (naics_count, sic_count) on the matched block; other blocks become {}. Pick the taxonomy your downstream filter needs: industrysearch_companies.industry_ids, naicsnaics_codes, sicsic_codes. Prefer this grouped mode for most use-cases. Omit it only when you need the raw NAICS↔SIC crosswalk table (unscoped mode repeats the same NAICS once per SIC partner). Each naics block exposes hierarchy_level (sector|subsector|industry_group|naics_industry|national_industry), is_leaf, and display_name_with_level (disambiguates same-named adjacent levels, e.g. "Commercial Banking (subsector 5221)" vs "(national_industry 522110)").
naics_leaf_onlybooleanfalseOnly 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) — the safe codes to chain into search_companies.naics_codes, since rollups will not match a single company's classification. Silently ignored for other taxonomies.
limitinteger50Page size, 1–500. Default 50.
offsetinteger0Page offset, ≥ 0. Default 0. If you page past the end, pagination.offset_exceeds_total is true (disambiguates empty results with has_more=false).

Required Integrations

This tool is only available when your organization has the following integration configured in the Phoenix Integrations settings:

  • HG Insights (v2) (hginsights_v2)

Use Cases

  • Resolve an industry name to codes before an industry-scoped company search — pass the returned industry_id / naics_code / sic_standard_code to search_companies
  • Translate a known code to its full crosswalk — pass a NAICS or SIC code as q to see the matching HG industry, NAICS, and SIC
  • Expand a colloquial sector term (fintech, saas, cybersecurity) into real taxonomy matches — check alias_expansions to see what ran
  • List one de-duplicated row per code in a taxonomy — pass taxonomy=naics (with naics_leaf_only=true for chainable 6-digit leaves) or taxonomy=sic
  • Self-heal a typo or near-miss — when results is empty, read suggestions for the closest taxonomy names before retrying

Example Usage

Resolve "software publishers" to leaf NAICS codes for search_companies

{
"tool": "search_industries_naics_sic",
"arguments": {
"q": "software publishers",
"taxonomy": "naics",
"naics_leaf_only": true
}
}

Expand the colloquial term "fintech" into HG industry matches

{
"tool": "search_industries_naics_sic",
"arguments": {
"q": "fintech"
}
}

Translate NAICS code 541511 into its full crosswalk

{
"tool": "search_industries_naics_sic",
"arguments": {
"q": "541511"
}
}

Response Format

FieldTypeDescription
resultsarrayCrosswalk rows. In unscoped mode, one row per match across taxonomies. In grouped mode, one row per distinct entity in the requested taxonomy.
results[].matched_onstringWhich taxonomy produced the match. Present when q is set.
results[].industryobjectHG industry block. {} when not the matched/populated taxonomy.
results[].industry.industry_idnumber
results[].industry.industry_namestring
results[].industry.naics_countnumberCrosswalk count — populated only in grouped mode (taxonomy=industry).
results[].industry.sic_countnumberCrosswalk count — populated only in grouped mode (taxonomy=industry).
results[].naicsobjectNAICS 2012 block. {} when not the matched/populated taxonomy.
results[].naics.naics_codestring
results[].naics.naics_namestring
results[].naics.naics_top_parent_codestring
results[].naics.naics_top_parent_namestring
results[].naics.hierarchy_levelstringNAICS level derived from code length (2/3/4/5/6 digits).
results[].naics.is_leafbooleanTrue iff hierarchy_level == "national_industry". Only leaves are safe to chain into downstream code-based filters.
results[].naics.display_name_with_levelstringDisambiguating label, e.g. "Commercial Banking (subsector 5221)".
results[].naics.sic_countnumberCrosswalk count — populated only in grouped mode (taxonomy=naics).
results[].sicobjectSIC 1987 block. {} when not the matched/populated taxonomy.
results[].sic.sic_codestringHG-extended SIC code (carries an internal letter prefix, e.g. "I7372"). Do NOT pass to downstream APIs — use sic_standard_code instead.
results[].sic.sic_standard_codestringStandard SIC-1987 code (e.g. "7372"). This is the value to pass to downstream APIs. Empty for sector-level rows.
results[].sic.sic_namestring
results[].sic.is_hg_extensionbooleanTrue when sic_code carries an HG-internal letter prefix (currently true for every SIC row).
results[].sic.naics_countnumberCrosswalk count — populated only in grouped mode (taxonomy=sic).
paginationobject
pagination.totalnumberTotal rows matching the filter (not just this page).
pagination.limitnumber
pagination.offsetnumber
pagination.has_moreboolean
pagination.total_pagesnumberceil(total / limit).
pagination.offset_exceeds_totalbooleanTrue when offset >= total and total > 0 — diagnostic for paging-past-end bugs.
alias_expansionsarrayPresent only when one or more q terms were rewritten server-side. Each entry shows the colloquial term and the substrings it expanded to.
alias_expansions[].termstring
alias_expansions[].expanded_toarray
suggestionsarrayPresent 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.

search_companies, company_firmographic