> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blitz-api.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Keyword Filters

# Keyword Filters

> How `include` / `exclude` keyword search works across BlitzAPI Search endpoints, plus the exact-match bracket syntax.

<div style={{position:'absolute',width:'1px',height:'1px',padding:0,margin:'-1px',overflow:'hidden',clipPath:'inset(50%)',whiteSpace:'nowrap',border:0}}>
  > **Agents & LLMs**: a Markdown version of this page is available by appending `.md` to the URL, and the full documentation index is at [llms.txt](https://docs.blitz-api.ai/llms.txt).
</div>

`.include` and `.exclude` filters are used as keyword search filters.
They work as OR filters, and look if each word appears in the search results.

<Accordion title="Simple Example">
  For example, if you want to look for "Director" in the search results, you can use the following filter:

  <Columns cols={2}>
    <Column>
      ```json theme={null}
      {
        "include": ["Director"],
        "exclude": []
      }
      ```
    </Column>

    <Column>
      ```json theme={null}
      [
        "Director",
        "Director of Sales",
        "Director of Marketing",
        "Director of Product",
        ...
      ]
      ```
    </Column>
  </Columns>
</Accordion>

<Accordion title="Advanced Example">
  ```json theme={null}
    {
      "include": ["Director", "Manager"],
      "exclude": ["Sales", "Marketing", "Product"]
    }
  ```

  Giving:

  ```json theme={null}
  [
    "Director of IT",
    "Director of Finance",
    "Engineering Manager",
    "Finance Manager",
    ...
  ]
  ```

  This will result in the following search:

  ```mermaid theme={null}
  graph LR
  Q[Query]

  subgraph Includes[Include OR branches]
    I1[Director]
    I2[Manager]
  end

  E[Exclude on every branch:<br/>Sales, Marketing, Product]

  Q --> I1
  Q --> I2

  I1 --> D1[Director of IT]
  I1 --> D2[Director of Sales]
  I1 --> D3[Director of Marketing]
  I1 --> D4[Director of Finance]

  I2 --> M1[Engineering Manager]
  I2 --> M2[Sales Manager]
  I2 --> M3[Marketing Manager]
  I2 --> M4[Finance Manager]

  E -. remove .-> D2
  E -. remove .-> D3
  E -. remove .-> M2
  E -. remove .-> M3

  classDef excluded fill:#ffecec,stroke:#ff4d4f,color:#a8071a,stroke-width:1px;
  class D2,D3,M2,M3 excluded;
  ```
</Accordion>

## Exact Match Syntax

On top of the regular keyword search, you can also use the exact match syntax.

Wrap a value in **square brackets** to switch to **exact match**: `"[CEO]"` matches only values whose lowercased, unaccented form equals `"ceo"`.

| Value     | Behavior                             | Matches ✅                     | Does **not** match ❌   | Case sensitive | Accent sensitive |
| :-------- | :----------------------------------- | :---------------------------- | :--------------------- | :------------- | :--------------- |
| `"CEO"`   | Keyword search (default)             | `CEO`, `Co ceo`, `ceo Office` | —                      | No             | No               |
| `"[CEO]"` | Exact (case- and accent-insensitive) | `CEO`, `ceo`, `Céo`           | `Co ceo`, `CEO Office` | No             | No               |

The bracket syntax works in both `include` and `exclude`, and you can mix it in the same array — e.g. `["[CEO]", "Founder"]` means *exact `"ceo"` OR keyword `"Founder"`*.
