in
Filter stories by checking if a field matches any of the specified values.
Examples Use Cases
Section titled “Examples Use Cases”filter_query[categories][in]=space-exploration,culture
Returns all stories with categories space-exploration OR culture
filter_query[categories][in]=space-exploration,history,tech
Returns all stories with the categories space-exploration OR history OR tech
filter_query[topics][in]=physics,ai,space
Returns all stories with topics physics OR ai OR space
Example Request and Response
Section titled “Example Request and Response”The following example demonstrates how to receive all stories with the topics Design or Finance using the in operation.
curl "https://api.storyblok.com/v2/cdn/stories\?filter_query%5Btopics%5D%5Bin%5D=Design%2CFinance\&token=ask9soUkv02QqbZgmZdeDAtt"// storyblok-js-client@>=7, node@>=18import Storyblok from "storyblok-js-client";
const storyblok = new Storyblok({ accessToken: "ask9soUkv02QqbZgmZdeDAtt",});
try { const response = await storyblok.get('cdn/stories', { "filter_query[topics][in]": "Design,Finance" }) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
$client->getStories([ "filter_query[topics][in]" => "Design,Finance"])->getBody();HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/stories?filter_query%5Btopics%5D%5Bin%5D=Design%2CFinance&token=ask9soUkv02QqbZgmZdeDAtt") .asString();var client = new RestClient("https://api.storyblok.com/v2/cdn/stories?filter_query%5Btopics%5D%5Bin%5D=Design%2CFinance&token=ask9soUkv02QqbZgmZdeDAtt");var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);import requests
url = "https://api.storyblok.com/v2/cdn/stories"
querystring = {"filter_query[topics][in]":"Design,Finance","token":"ask9soUkv02QqbZgmZdeDAtt"}
payload = ""headers = {}
response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(token: 'YOUR_TOKEN')
client.stories({:params => { "filter_query[topics][in]" => "Design,Finance"}})// .package(url: "https://github.com/storyblok/storyblok-swift.git", from: "1.1.0")// Requires a `Block` content model — see https://www.storyblok.com/docs/quickstarts/apple-platforms/content-modelinglet client = StoryblokClient( library: Block.self, accessToken: "ask9soUkv02QqbZgmZdeDAtt", version: .published, region: .eu)
let stories: Page<Story<Block.Post>>? = try await client .stories { @Sendable (query: inout StoriesQuery<Block.Post>) in query.filter { $0.topics.in(["Design", "Finance"]) } } .last() .values .first { @Sendable _ in true }
print(stories!)// implementation("com.storyblok:content-api-client:0.7.1")// Requires a `Post` component model — see https://www.storyblok.com/docs/quickstarts/android/content-modelingval client = StoryblokClient( accessToken = "ask9soUkv02QqbZgmZdeDAtt", version = Published,)
val stories = client .stories<Post> { filter { Post::topics isIn listOf("Design", "Finance") } } .flow .asItemSnapshotListFlow() .first()
println(stories){ "stories": [ { "name": "My third post", "created_at": "2018-04-24T11:57:29.302Z", "published_at": "2026-10-08T12:44:25.188Z", "updated_at": "2026-10-08T12:44:25.201Z", "id": 107350, "uuid": "ac0d2ed0-e323-43ca-ae59-5cd7d38683cb", "content": { "_uid": "98cccd01-f807-4494-996d-c6b0de2045a5", "image": "//a.storyblok.com/f/44162/1500x500/68b522b06d/1500x500.jpeg", "title": "My second", "author": "c47be9f0-47c3-4315-a95a-550f0c560eb5", "topics": "Design", "content": "Lorem ipsum dolor sit amet, *consectetur* adipisicing elit, sed do eiusmod\ntempor incididunt ut **labore et dolore magna aliqua**. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. ***Duis aute irure dolor*** in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. ~~Excepteur sint occaecat~~ cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n## H2\n\nLorem ipsum dolor sit amet, *consectetur* adipisicing elit, sed do eiusmod\ntempor incididunt ut **labore et dolore magna aliqua**. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. \n\n---\n\n***Duis aute irure dolor*** in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. ~~Excepteur sint occaecat~~ cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n### H3\n\nunordered list:\n\n* item-1\n * sub-item-1\n * sub-item-2\n- item-2\n - sub-item-3\n - sub-item-4\n+ item-3\n + sub-item-5\n + sub-item-6\n\n\nordered list:\n\n1. item-1\n 1. sub-item-1\n 2. sub-item-2\n2. item-2\n 1. sub-item-3\n 2. sub-item-4\n3. item-3\n\n#### Header4\n\nTable Header-1 | Table Header-2 | Table Header-3\n:--- | :---: | ---:\nTable Data-1 | Table Data-2 | Table Data-3\nTD-4 | Td-5 | TD-6\nTable Data-7 | Table Data-8 | Table Data-9\n\n##### Header5\n\nYou may also want some images right in here like  - you can do that but I would recommend you to use the component \"image\" and simply split your text.\n\n###### Header6\n\nLet us do some links - this for example: https://github.com/MinhasKamal/github-markdown-syntax is **NOT** a link but this is [GitHub](https://github.com/MinhasKamal/github-markdown-syntax)", "schedule": "2026-10-16 10:59", "component": "post", "categories": [ "9aa72a2f-04ae-48df-b71f-25f53044dc97" ], "description": "Description of the second" }, "slug": "my-third-post", "full_slug": "posts/my-third-post", "sort_by_date": null, "position": -20, "tag_list": [], "is_startpage": false, "parent_id": 107348, "meta_data": null, "group_id": "d5ea8520-1296-40b7-8360-894461fdc5b6", "first_published_at": "2018-08-07T03:40:13.000Z", "release_id": null, "lang": "default", "path": null, "alternates": [], "default_full_slug": null, "translated_slugs": null }, { "name": "My first Post", "created_at": "2018-04-24T11:57:29.321Z", "published_at": "2026-10-12T10:03:52.422Z", "updated_at": "2026-10-13T08:59:51.886Z", "id": 107351, "uuid": "bfea4895-8a19-4e82-ae1c-1c591dce3094", "content": { "_uid": "2caef8f8-9c37-46b4-af19-8744ec5e1053", "image": "//a.storyblok.com/f/44162/1500x500/68b522b06d/1500x500.jpeg", "title": "This is my first post title", "author": "c47be9f0-47c3-4315-a95a-550f0c560eb5", "topics": "Finance", "content": "Lorem ipsum dolor sit amet, *consectetur* adipisicing elit, sed do eiusmod\ntempor incididunt ut **labore et dolore magna aliqua**. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. ***Duis aute irure dolor*** in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. ~~Excepteur sint occaecat~~ cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n## H2\n\nLorem ipsum dolor sit amet, *consectetur* adipisicing elit, sed do eiusmod\ntempor incididunt ut **labore et dolore magna aliqua**. Ut enim ad minim veniam,\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. \n\n---\n\n***Duis aute irure dolor*** in reprehenderit in voluptate velit esse\ncillum dolore eu fugiat nulla pariatur. ~~Excepteur sint occaecat~~ cupidatat non\nproident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\n### H3\n\nunordered list:\n\n* item-1\n * sub-item-1\n * sub-item-2\n- item-2\n - sub-item-3\n - sub-item-4\n+ item-3\n + sub-item-5\n + sub-item-6\n\n\nordered list:\n\n1. item-1\n 1. sub-item-1\n 2. sub-item-2\n2. item-2\n 1. sub-item-3\n 2. sub-item-4\n3. item-3\n\n#### Header4\n\nTable Header-1 | Table Header-2 | Table Header-3\n:--- | :---: | ---:\nTable Data-1 | Table Data-2 | Table Data-3\nTD-4 | Td-5 | TD-6\nTable Data-7 | Table Data-8 | Table Data-9\n\n##### Header5\n\nYou may also want some images right in here like  - you can do that but I would recommend you to use the component \"image\" and simply split your text.\n\n###### Header6\n\nLet us do some links -\n this for example: https://github.com/MinhasKamal/github-markdown-syntax is **NOT** a link but this:\n is [GitHub](https://github.com/MinhasKamal/github-markdown-syntax)", "schedule": "2026-10-12 09:00", "component": "post", "categories": [ "9aa72a2f-04ae-48df-b71f-25f53044dc97", "84550816-245d-4fe6-8ae8-b633d4a328f4" ], "description": "Description of the first", "highlighted": true }, "slug": "my-first-post", "full_slug": "posts/my-first-post", "sort_by_date": null, "position": 0, "tag_list": [], "is_startpage": false, "parent_id": 107348, "meta_data": null, "group_id": "6900d2ec-034a-420a-a1c5-9dca2039a81d", "first_published_at": "2018-07-26T12:38:22.000Z", "release_id": null, "lang": "default", "path": null, "alternates": [], "default_full_slug": null, "translated_slugs": null } ], "cv": 1791882188, "rels": [], "links": []}Was this page helpful?
This site uses reCAPTCHA and Google's Privacy Policy (opens in a new window).Terms of Service (opens in a new window) apply.
Get in touch with the Storyblok community