You need the "for" in English for the intended meaning, (otherwise it sounds like you're entering a query into a search engine, and if so it'd need apostrophes); I'm more confused as to where it came from in German. Is "for" always implied with suchen and if not how do you determine when to use it?
'Search for' is a phrasal verb in english, meaning two words are used to make one meaning. Eg: 'search through' is different. Like 'look for' which is different to 'look at'; and 'get up' has a different meaning to simply 'get' or 'up' and is different from 'get through', 'get by', 'get along' ...etc. In short: "suchen" = "search for", not just "search"
These comments have me confused because I took Essen to mean meal as well, but it rejected "he looks for a meal" and instead said it should be "he looks for Essen", the city. I came to the comments wondering how you could tell those apart in a standalone sentence, guessing that a missing "ein" made all the difference.
Every meal is something to eat, but not everything which is edible is a meal.
So, you can (with the right or without context) translate "the meal" to "das Essen" but not "das Essen" to "the meal" (except in very specific contexts).
The city "Essen" is another correct way to understand the sentence since there is no context at all. => "He searches for "Essen"."
But by accepting the name of the city as a solution Duo wouldn't be able to correct those who simply don't know what "Essen" could be and just leave it there. Duo would have to assume that the learner knows about the city name although he doesn't.