# Search industries

Search the industry taxonomy crosswalk across HG industry (23 buckets),
NAICS 2012 (~2,200 codes), and SIC 1987 (~1,500 codes).
Supports free-text search, exact code lookup, taxonomy scoping,
colloquial alias expansion (e.g. "fintech", "saas"), and multi-term
comma-separated queries.
Every result row returns the full crosswalk — the HG industry, the
NAICS 2012 code + top-parent sector, and the SIC 1987 code + name.
Free — no credits consumed.

Endpoint: GET /data-api/v2/industries/search
Security: authorization

## Security:

  - `authorization` (unknown)
    http bearer API_KEY

## Query parameters:

  - `q` (string)
    Free-text search term (min 2 chars). Text queries match case-insensitively as substrings. All-digit queries prefix-match against code columns. Comma-separated terms run as union (OR). Colloquial terms like 'fintech', 'saas' are auto-expanded.

  - `taxonomy` (string)
    Scope the search to one taxonomy. Omit to search all three at once.

  - `limit` (integer)
    Page size (1-500).

  - `offset` (integer)
    Page offset (0-10000).

  - `naics_leaf_only` (boolean)
    Only applied when taxonomy=naics. When true, returns only 6-digit leaf codes.

## Response 200:

  - `200` (unknown)
    Industry search results

## Response 200 fields (application/json):

  - `alias_expansions` (array)
    Populated when one or more q terms were treated as colloquial aliases and expanded server-side.

  - `alias_expansions.expanded_to` (array, required)
    Substrings the server actually searched in place of the term.

  - `alias_expansions.term` (string, required)
    The colloquial term as supplied by the caller.

  - `pagination` (object, required)
    Pagination metadata.

  - `pagination.has_more` (boolean, required)
    True when more rows are available.

  - `pagination.limit` (integer, required)
    Requested page size.

  - `pagination.offset` (integer, required)
    Requested offset.

  - `pagination.offset_exceeds_total` (boolean)
    True when the caller paged past the end of the result set.

  - `pagination.total` (integer, required)
    Total rows matching the query.

  - `pagination.total_pages` (integer, required)
    Total pages available.

  - `results` (array, required)
    Matched industry crosswalk rows.

  - `results.industry` (object, required)
    HG industry bucket (23 curated values, or null when unmapped).

  - `results.industry.industry_id` (integer)
    HG industry id (0/None = unmapped).

  - `results.industry.industry_name` (string)
    HG industry name.

  - `results.industry.naics_count` (integer)
    Number of distinct NAICS codes mapped to this HG industry. Only set when taxonomy=industry.

  - `results.industry.sic_count` (integer)
    Number of distinct SIC codes mapped to this HG industry. Only set when taxonomy=industry.

  - `results.matched_on` (string, required)
    Which taxonomy a search hit matched on.
    Enum: "industry", "naics", "sic"

  - `results.naics` (object, required)
    NAICS 2012 code + its top-parent sector.

  - `results.naics.display_name_with_level` (string)
    Disambiguating label including hierarchy level and code.

  - `results.naics.hierarchy_level` (string)
    NAICS hierarchy level. national_industry is a leaf; others are rollups.
    Enum: "sector", "subsector", "industry_group", "naics_industry", "national_industry"

  - `results.naics.is_leaf` (boolean)
    True when naics_code is a 6-digit leaf — the most specific level.

  - `results.naics.naics_code` (string)
    NAICS 2012 code (e.g. '541511').

  - `results.naics.naics_name` (string)
    NAICS 2012 label.

  - `results.naics.naics_top_parent_code` (string)
    Top-parent NAICS sector code (e.g. '54').

  - `results.naics.naics_top_parent_name` (string)
    Top-parent NAICS sector name.

  - `results.naics.sic_count` (integer)
    Number of distinct SIC codes mapped to this NAICS code. Only set when taxonomy=naics.

  - `results.sic` (object, required)
    SIC 1987 code (HG-extended + standard).

  - `results.sic.is_hg_extension` (boolean)
    True when sic_code is an HG-extended code (letter-prefixed).

  - `results.sic.naics_count` (integer)
    Number of distinct NAICS codes mapped to this SIC code. Only set when taxonomy=sic.

  - `results.sic.sic_code` (string)
    HG-extended SIC code with letter prefix (e.g. 'I7372'). Not a standard SIC code — use sic_standard_code for downstream calls.

  - `results.sic.sic_name` (string)
    SIC 1987 label.

  - `results.sic.sic_standard_code` (string)
    Standard SIC-1987 code (e.g. '7372'). Use this value for downstream endpoints.

  - `suggestions` (array)
    Populated only when 0 results and q was a text term. Up to 5 closest taxonomy names by trigram distance.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `errors` (array)

  - `errors.detail` (string, required)
    Example: The api key provided is not valid

  - `errors.source` (string)

  - `errors.title` (string, required)
    Example: Unauthorized

## Response 422:

  - `422` (unknown)
    Unprocessable Entity

## Response 422 fields (application/json):

  - `errors` (array, required)

  - `errors.detail` (string, required)
    Example: null value where string expected

  - `errors.source` (object, required)

  - `errors.source.pointer` (string, required)
    Example: /data/attributes/petName

  - `errors.title` (string, required)
    Example: Invalid value

