Unofficial C# client for Yahoo Finance (quotes, info, history). Provides Yahoo Finance API integration with dependency injection support. All entities, interfaces, and implementations are included in a single package.
$ dotnet add package YFinance.YahooUnofficial C# client for Yahoo Finance API with dependency injection support.
dotnet add package YFinance.Yahoo
using Microsoft.Extensions.DependencyInjection;
using YFinance.Yahoo;
using YFinance.Yahoo.Services;
using YFinance.Yahoo.Interfaces;
var services = new ServiceCollection();
// Register YahooClient as singleton (important to avoid IP bans)
services.AddSingleton<IYahooClient, YahooClient>();
// Register services
services.AddSingleton<IInfoService, InfoService>();
services.AddSingleton<IQuoteService, QuoteService>();
var serviceProvider = services.BuildServiceProvider();
// Get services from DI container
var infoService = serviceProvider.GetRequiredService<IInfoService>();
var quoteService = serviceProvider.GetRequiredService<IQuoteService>();
// Get stock information
var tickers = new[] { "NVDA", "AAPL", "GME" };
var info = await infoService.GetInfoAsync(tickers);
var quotes = await quoteService.GetQuoteAsync(tickers);
YahooClient should be registered as a singleton to:
HttpClient instancesYFinance.Yahoo - Main client implementation (YahooClient)YFinance.Yahoo.Interfaces - Service interfaces (IYahooClient, IInfoService, IQuoteService)YFinance.Yahoo.Services - Service implementations (InfoService, QuoteService)YFinance.Yahoo.Entities - Data models (Info, Quote, History)