search api & func