not_like
Filter stories by checking if a field value does not match the provided value. It is possible to use * as a wildcard selector.
Examples Use Cases
Section titled “Examples Use Cases”filter_query[headline][not_like]=Mars*
Returns all stories whose headline does not start with the word “Mars”
filter_query[headline][not_like]=*Mysteries*
Returns all stories whose headline does not contain the word “Mysteries”
Example Request and Response
Section titled “Example Request and Response”The following example demonstrates how to receive all stories whose description does not contain the word “second” using the not_like operation.
curl "https://api.storyblok.com/v2/cdn/stories\?filter_query%5Bdescription%5D%5Bnot_like%5D=*second*\&starts_with=posts\&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[description][not_like]": "*second*", "starts_with": "posts" }) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
$client->getStories([ "filter_query[description][not_like]" => "*second*", "starts_with" => "posts"])->getBody();HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/stories?filter_query%5Bdescription%5D%5Bnot_like%5D=*second*&starts_with=posts&token=ask9soUkv02QqbZgmZdeDAtt") .asString();var client = new RestClient("https://api.storyblok.com/v2/cdn/stories?filter_query%5Bdescription%5D%5Bnot_like%5D=*second*&starts_with=posts&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[description][not_like]":"*second*","starts_with":"posts","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[description][not_like]" => "*second*", "starts_with" => "posts"}})// .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.startsWith = "posts" query.filter { $0.description.notLike("*second*") } } .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> { startsWith = "posts" filter { Post::description notLike "*second*" } } .flow .asItemSnapshotListFlow() .first()
println(stories){ "stories": [ { "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