diff --git a/EODHistoricalData.Wrapper/API.cs b/EODHistoricalData.Wrapper/API.cs index d0b6f7f..798b8fa 100644 --- a/EODHistoricalData.Wrapper/API.cs +++ b/EODHistoricalData.Wrapper/API.cs @@ -430,19 +430,33 @@ public async Task GetUserDataAsync() /// There are no limitations to a minimum number of symbols in the query string /// /// - public async Task> GetSearchResultAsync(string searchString) + public async Task> GetSearchExtendedResultAsync(string searchString) { if (searchString == string.Empty) throw new ArgumentNullException(nameof(searchString)); return await searchAPI.GetQuerySearchExtendedAsync(searchString); } + /// + /// Search API for Stocks, ETFs, Mutual Funds, and Indices + /// + /// String. REQUIRED. Could be any string with a ticker code or company name. + /// Examples: ‘AAPL’, ‘Apple Inc’, ‘Apple’. You can also use ISINs for the search: US0378331005. + /// There are no limitations to a minimum number of symbols in the query string + /// + /// + public async Task> GetSearchResultAsync(string searchString) + { + if (searchString == string.Empty) throw new ArgumentNullException(nameof(searchString)); + + return await searchAPI.GetQuerySearchAsync(searchString); + } + /// /// Get live stock prices data /// /// consists of two parts: {SYMBOL_NAME}.{EXCHANGE_ID}, then you can use, /// for example, AAPL.MX for Mexican Stock Exchange. Or AAPL.US for NASDAQ. - /// to get data for multiple tickers at one request /// /// public async Task GetLiveStockPricesAsync(string ticker) diff --git a/EODHistoricalData.Wrapper/APIs/Abstract/ISearchAPI.cs b/EODHistoricalData.Wrapper/APIs/Abstract/ISearchAPI.cs index b80b1c5..17ca1ee 100644 --- a/EODHistoricalData.Wrapper/APIs/Abstract/ISearchAPI.cs +++ b/EODHistoricalData.Wrapper/APIs/Abstract/ISearchAPI.cs @@ -10,7 +10,8 @@ namespace EOD.APIs.Abstract /// internal interface ISearchAPI { - Task> GetQuerySearchExtendedAsync(string searchString); + Task> GetQuerySearchExtendedAsync(string searchString); + Task> GetQuerySearchAsync(string searchString); } } diff --git a/EODHistoricalData.Wrapper/APIs/Abstract/ISentimentsAPI.cs b/EODHistoricalData.Wrapper/APIs/Abstract/ISentimentsAPI.cs index 93214d8..fd24f3f 100644 --- a/EODHistoricalData.Wrapper/APIs/Abstract/ISentimentsAPI.cs +++ b/EODHistoricalData.Wrapper/APIs/Abstract/ISentimentsAPI.cs @@ -16,6 +16,7 @@ internal interface ISentimentsAPI /// [REQUIRED] /// [OPTIONAL] /// [OPTIONAL] + /// [OPTIONAL] /// Task>> GetSentimentsAsync(List symbols, DateTime? from = null, DateTime? to = null, bool? tweets = null); } diff --git a/EODHistoricalData.Wrapper/APIs/SearchAPI.cs b/EODHistoricalData.Wrapper/APIs/SearchAPI.cs index 4ddf130..31140db 100644 --- a/EODHistoricalData.Wrapper/APIs/SearchAPI.cs +++ b/EODHistoricalData.Wrapper/APIs/SearchAPI.cs @@ -9,10 +9,17 @@ namespace EOD.APIs internal class SearchAPI : BaseAPI, ISearchAPI { private const string sourceQuerySearchExtended = @"https://eodhistoricaldata.com/api/query-search-extended/?q={0}"; + private const string sourceQuerySearch = @"https://eodhistoricaldata.com/api/search/{0}"; public SearchAPI(string apiToken, System.Net.IWebProxy proxy, string source) : base(apiToken, proxy, source) { } - public async Task> GetQuerySearchExtendedAsync(string searchString) + public async Task> GetQuerySearchExtendedAsync(string searchString) { string uri = string.Format(sourceQuerySearchExtended, searchString); + return await ExecuteQueryAsync>(uri); + } + + public async Task> GetQuerySearchAsync(string searchString) + { + string uri = string.Format(sourceQuerySearch, searchString); return await ExecuteQueryAsync>(uri); } diff --git a/EODHistoricalData.Wrapper/Model/SearchExtendedResult.cs b/EODHistoricalData.Wrapper/Model/SearchExtendedResult.cs new file mode 100644 index 0000000..9840bf5 --- /dev/null +++ b/EODHistoricalData.Wrapper/Model/SearchExtendedResult.cs @@ -0,0 +1,22 @@ +namespace EOD.Model +{ + /// + /// + /// + public class SearchExtendedResult + { + /// + /// + /// + public string Code { get; set; } + /// + /// + /// + public string Exchange { get; set; } + /// + /// + /// + public string Name { get; set; } + + } +} diff --git a/EODHistoricalData.Wrapper/Model/SearchResult.cs b/EODHistoricalData.Wrapper/Model/SearchResult.cs index de9468e..fd7e871 100644 --- a/EODHistoricalData.Wrapper/Model/SearchResult.cs +++ b/EODHistoricalData.Wrapper/Model/SearchResult.cs @@ -1,10 +1,13 @@ -namespace EOD.Model +using System; + +namespace EOD.Model { /// /// /// public class SearchResult { + //"isPrimary":true,"previousClose":22.35,"previousCloseDate":"2026-02-26"} /// /// /// @@ -17,6 +20,34 @@ public class SearchResult /// /// public string Name { get; set; } + /// + /// + /// + public string Type { get; set; } + /// + /// + /// + public string Country { get; set; } + /// + /// + /// + public string Currency { get; set; } + /// + /// + /// + public string Isin { get; set; } + /// + /// + /// + public bool IsPrimary { get; set; } + /// + /// + /// + public decimal PreviousClose { get; set; } + /// + /// + /// + public DateTime PreviousCloseDate { get; set; } } }