Q:

How to query the Stack Exchange API using an OR operator?

I want to query Stack Exchange by title including optional keywords (one of).
How can I query by OR operator?
For example:
/search/advanced?page=1&tagged=java&q=title:http OR class&order=desc&sort=votes&site=stackoverflow

A:

The API currently does not support this, but then neither does the website itself.
The "How do I search?" help page says:

OR operator
To combine results from multiple tags, separate the tag names (enclosed in square brackets) with the word "or": [widgets] or [geegaws] returns questions tagged with either tag.

(Emphasis added)
Note that it only refers to tags in conjunction with the or operator.  No facility is made for general or operation.
Here's a related feature request which you can/should upvote.

Example on the main site:

Searching for [winzip] title:folder make gives 3 results (currently).
Searching for [winzip] title:folder automate  gives 1 result
Searching for [winzip] title:folder make or automate gives no results, when it should give at least 3 (fail).
[winzip] title:folder (make or automate), etc., also fail.

The API equivalents (one, two, three) give the same results.

Workarounds:
The Most timely/accurate workaround is: for each of the optional terms, search separately and then combine the results (stripping duplicate matches).
For example:

Suppose your keywords were: class and foo.
Search for [java] title:http class (only 3303 results, currently).
Search for [java] title:http foo (81 results).
Repeat for each additional keyword.
So we have 3384 gross results, then remove any duplicate question_ids for the final (net) results

This is annoying and inefficient, but it works and is easy to automate.

Other possible workarounds include using a SEDE query, or using a Google search with the site: parameter.

