API: return empty array when no results