
Items Query Language (IQL) is a language which allows you to build item filters for your search and recommendation requests.


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This guide describes how to build query strings used in SDK and API calls. If you want to learn about building the same filters by using the Synerise Application's GUI, see the [User Guide](/docs/ai-hub/recommendations-v2/recommendation-filters).
- The filters built in the Synerise Applications are embedded in recommendation campaigns.
- The filters included in SDK and API calls can replace the campaign's embedded filters or are combined with them.

  </div></div></div>



  A query string consists of the following elements:
- **Item filters** are the basic blocks which compare an items' attributes with values.
- **Context** (optional) is a profile or item(s) whose attributes can be used as the value to compare the attribute with.
- **Functions** (optional) manipulate the attribute values. There's also a special ALL/NONE function.
- **Logic** (optional) is built with AND/OR/IF statements and the NOT operator.

