To filter for all the strings in a list of strings.


The contains_all operator takes a comma-separated list of string arguments.

It uses tokenization on its arguments.


Not case sensitive. Add the cs keyword or the case switch to create a case-sensitive filter with contains_all.


contains_all (string, string, .... string)




  1. Filter for Tumblr posts that mention two companies.

    tumblr.text contains_all "Shell, Texaco"

  2. Filter for Tumblr posts that mention that mention Shell and Texaco, or BP and Total:

    tumblr.text all "Shell, Texaco" or
    tumblr.text all "BP, Total"

    Here we're using the synonym 'all' in place of 'contains_all'.


Take care when the target is an array. The contains_all operator works on individual elements in an array but it does not span across elements. For example, suppose an array contains these strings:

  • I like grapes that are red
  • I hate grapes that are green
  • I've never seen blue grapes

The contains_all operator will match if the argument is "like, red" and it will match on "hate, green". It will not match on "like, green" because "like" is in one array element and "green" is in a different array element.

If you want to filter across array elements, use the contains operator. To illustrate the technique, this example filters on the links.title target:

links.title contains "like" and links.title contains "green"

This allows you to filter across all the elements of an array simultaneously.