public SearchResultModel Search(String query, SearchType types, Int32? offset, Int32? limit, Int32? timeout)
 {
     return HelperExtensions.Sync(() => this.Search(query, types, offset ?? 0, limit ?? 9999), timeout);
 }
 public async Task<SearchResultModel> Search(String query, SearchType types, Int32 offset = 0, Int32 limit = 9999)
 {
     return HandleResponse(await RestClient.Process<SearchResultModel>(
         "/search", new
         {
             query = query,
             types = types.ToString(),
             offset = offset,
             limit = limit,
             token = Configuration.Token,
             countryCode = GetCountryCode()
         }, null, "GET"));
 }