# Search Naics Categories

`Search_Naics_Categories` is the GovTribe MCP dataset tool for finding canonical NAICS category records by code, GovTribe ID, or descriptive query text.

## When To Use

Typical questions this tool answers well:

* Which NAICS category record matches a specific six-digit NAICS code?
* What GovTribe NAICS identifier should be used in downstream filters?
* Which NAICS categories are most relevant to a capability area described in plain language?
* How can I include or exclude a known set of NAICS categories before searching awards or opportunities?
* How many NAICS category records match my current filter criteria before I fetch row data?

## Required Reading

1. [Search\_Mode\_And\_Query\_Guide](/user-guide/mcp/guides/search_mode_and_query_guide.md): Required before setting free-text query strings and choosing keyword vs semantic retrieval.

## Output Contract

* Top-level keys:
  * `current_page`: Current page number when `per_page > 0`.
  * `data`: Array of result rows when `per_page > 0`.
  * `from`: First row position in the current page.
  * `last_page`: Last page number for current filters.
  * `path`: GovTribe search URL for this result set.
  * `per_page`: Applied page size.
  * `to`: Last row position in the current page.
  * `total`: Total matched row count for current query filters.
  * `contains`: Dataset label for the returned result set.
  * `search_results_id_can_generate_saved_search`: Saved-search eligibility flag.
  * `search_results_id`: Server-side search result identifier.
  * `view_search_results_url`: URL to open this exact result set.
  * `per_page: 0` behavior: response includes `path`, `total`, `contains`, `search_results_id_can_generate_saved_search`, `search_results_id`, and `view_search_results_url`.
* Row keys:
  * `govtribe_id`
  * `govtribe_type`
  * `govtribe_url`
  * `name`
  * `code`
  * `updated_at`
  * `federal_contract_awards`
  * `federal_contract_opportunities`
* Relationship retrieval map:
  * `federal_contract_awards`
    * `resource_type`: `federal_contract_award`
    * `tool`: `Search_Federal_Contract_Awards`
    * `filter`: `federal_contract_award_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `govtribe_url`, `name`
  * `federal_contract_opportunities`
    * `resource_type`: `federal_contract_opportunity`
    * `tool`: `Search_Federal_Contract_Opportunities`
    * `filter`: `federal_contract_opportunity_ids`
    * `nested_keys`: `govtribe_id`, `govtribe_type`, `govtribe_url`, `name`

## Usage Patterns

Pattern A: Resolve one known NAICS code into a canonical category row. Tool: `Search_Naics_Categories`

```json
{
  "search_mode": "keyword",
  "fields_to_return": [
    "govtribe_id"
  ],
  "page": 1,
  "per_page": 1,
  "naics_category_ids": [
    "541611"
  ],
  "naics_category_ids_operator": "in"
}
```

Pattern B: Keyword lookup for multiple specific NAICS codes in one call. Tool: `Search_Naics_Categories`

```json
{
  "search_mode": "keyword",
  "fields_to_return": [
    "govtribe_id"
  ],
  "page": 1,
  "per_page": 25,
  "naics_category_ids": [
    "541512",
    "541330",
    "561210"
  ],
  "naics_category_ids_operator": "in"
}
```

Pattern C: Semantic discovery when the user describes a capability area instead of a code. Tool: `Search_Naics_Categories`

```json
{
  "query": "cybersecurity consulting services",
  "search_mode": "semantic",
  "fields_to_return": [
    "govtribe_id"
  ],
  "page": 1,
  "per_page": 10
}
```

Pattern D: Exclude known categories while exploring alternatives. Tool: `Search_Naics_Categories`

```json
{
  "search_mode": "keyword",
  "fields_to_return": [
    "govtribe_id"
  ],
  "page": 1,
  "per_page": 10,
  "naics_category_ids": [
    "541611"
  ],
  "naics_category_ids_operator": "not_in"
}
```

Pattern E: Return metadata only for sizing and saved-search handoff, then rerun with `per_page > 0` to fetch rows. Tool: `Search_Naics_Categories`

```json
{
  "search_mode": "keyword",
  "page": 1,
  "per_page": 0
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.govtribe.com/user-guide/mcp/tools/search-naics-categories.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
