---
title: Introduction to Filter Queries
description: Overview of filter queries for retrieving stories based on specific field values.
url: https://storyblok.com/docs/api/content-delivery/v2/filter-queries
---

# Introduction to Filter Queries

Filter by (a) specific field(s) of a content type. The `filter_query` parameter accepts a `field` and an `operation` key. Separate the values by a comma to filter by multiple values. The following syntax applies:

`stories/?filter_query[field][operation]=value1,value2`

It is possible to use multiple filter queries per request. By default, the applied filters are connected by the AND operator, but it is also possible to apply filters by the OR operator using the following syntax:

`stories/?filter_query[__or][][field][operation]=value&filter_query[__or][][field][operation]=value`

> [!NOTE]
> Filtering by default story properties is not supported.

> [!TIP]
> Filter queries can be combined with other parameters applicable to the [Stories](/docs/api/content-delivery/v2/stories/retrieve-multiple-stories) endpoint.

```html
https://api.storyblok.com/v2/cdn/stories?filter_query[field][operation]=value&token=ask9soUkv02QqbZgmZdeDAtt
```

The `filter_query` use cases throughout this section are based on the example story type for a simple blog article represented by the story object below.

The usage of `filter_query` is not limited to the fields of this example. Every custom field defined for a story type is included in the content object of a story object and can, therefore, be used as the field key in a `filter_query`.

## Operations

-   `is`
    
    Matches a value type (empty, not\_empty, empty\_array, not\_empty\_array, true, false, null, not\_null)
    
-   `in`
    
    Matches all with the exact specified value
    
-   `not_in`
    
    Matches all without the exact specified value
    
-   `like`
    
    Matches all with the specified value (wildcard allowed)
    
-   `not_like`
    
    Matches all without the specified value (wildcard allowed)
    
-   `any_in_array`
    
    Matches if any of the specified values is contained in the field value (array)
    
-   `all_in_array`
    
    Matches if all specified values are contained in the field value (array)
    
-   `gt_date`
    
    Greater than date (Format: YYYY-mm-dd HH:MM)
    
-   `lt_date`
    
    Earlier than date (Format: YYYY-MM-DD HH:MM)
    
-   `gt_int`
    
    Greater than integer value
    
-   `lt_int`
    
    Lower than integer value
    
-   `gt_float`
    
    Greater than float value
    
-   `lt_float`
    
    Lower than float value
    

## Pagination

-   [Previous: The Links Object](/docs/api/content-delivery/v2/links/the-links-object)
-   [Next: is](/docs/api/content-delivery/v2/filter-queries/operation-is)
