public List <SearchResult> FindRankByKeywords(string keywords, string siteUrl, int numberOfResults) { try { // check for empty keywords or siteurl if (String.IsNullOrEmpty(keywords) || String.IsNullOrEmpty(siteUrl)) { // throw exception throw new ArgumentException("Parameter cannot be null"); } // build strings string googleSearchUrl = _googleSearchUrl + keywords.Replace(' ', '+') + "&num=" + numberOfResults; // get search results var response = _googleSearchResults.GetSearchResultsResponse(googleSearchUrl); _googleSearchResults.ParseSearchResults(response.Result, _resultsPattern, _linkPattern); // find the first search result rank var results = _googleSearchResults.GetSearchResults().Where(r => r.URL.Contains(siteUrl)).Select(x => x); return(results.ToList()); } catch (ArgumentException ex) { throw ex; } }