add api search method and custom to choose method