FinancialModelingPrep.NET
:chart_with_upwards_trend: C# API Client For financialmodelingprep.com Made In .NET 8
Install / Use
/learn @MatthiWare/FinancialModelingPrep.NETREADME
[!WARNING]
This contains the API bindings for the legacy version of FMP. This does not work for newer accounts, see https://github.com/MatthiWare/FinancialModelingPrep.NET/issues/145.
FinancialModelingPrep.NET
.NET 8 API Client For https://financialmodelingprep.com/ API written in C#
Installation
PM> Install-Package MatthiWare.FinancialModelingPrep
Quick Start
Register FinancialModelingPrepApiClient in Dependency Injection provider
You can find your API Key here https://site.financialmodelingprep.com/developer/docs/dashboard/
using MatthiWare.FinancialModelingPrep;
Services.AddFinancialModelingPrepApiClient(new FinancialModelingPrepOptions()
{
ApiKey = "API-KEY-HERE"
});
var api = ServiceProvider.GetRequiredService<IFinancialModelingPrepApiClient>();
// do something with api like getting the latest Apple Stock Quote
var quoteResult = await api.CompanyValuation.GetQuoteAsync("AAPL");
Create FMP API Client using Factory (without Dependency Injection)
using MatthiWare.FinancialModelingPrep;
var api = FinancialModelingPrepApiClientFactory.CreateClient(new FinancialModelingPrepOptions());
// do something with api like getting the latest Apple Stock Quote
var quoteResult = await api.CompanyValuation.GetQuoteAsync("AAPL");
Get Stock Price Quote
var response = await api.CompanyValuation.GetQuoteAsync("AAPL");
// Display Apple Stock Quote
Console.WriteLine($"$AAPL is currently trading at: {response.Data.Price}");
All API Responses are wrapped in an ApiResponse<T> object.
public class ApiResponse<T>
{
/// <summary>
/// Error message if any occured
/// </summary>
public string Error { get; }
/// <summary>
/// True if there was an error with the request otherwise false
/// </summary>
public bool HasError { get; }
/// <summary>
/// The FMP API response object <see cref="T"/>
/// </summary>
public T Data { get; }
}
Example:
var response = await api.CompanyValuation.GetQuoteAsync("AAPL");
// Display Apple Stock Quote
if (!quoteResult.HasError)
{
Console.WriteLine($"$AAPL is currently trading at: {response.Data.Price}");
}
else
{
Console.WriteLine($"Error occured, message: {response.Error}");
}
Covered Endpoints
- Company Valuation
- Advanced Data
- Insider Trading (Not yet covered)
- Calendars
- Instituational Fund
- Stock Time Series (Partially covered)
- Technical Indicators (Not yet covered)
- Stock Statistics (Partially covered)
- Market Indexes
- Alternative Data (Not yet covered)
- Commodities (Not yet covered)
- ETF (Partially covered)
- Mutual Funds (Not yet covered)
- Stock Market (Partially covered)
- Cryptocurrencies (Partially covered)
- Forex (Partially covered)
- Economics (Partially covered)
Contribute
Create a PR where you add or improve an Endpoint
Related Skills
valuecell
10.2kValueCell is a community-driven, multi-agent platform for financial applications.
beanquery-mcp
43Beancount MCP Server is an experimental implementation that utilizes the Model Context Protocol (MCP) to enable AI assistants to query and analyze Beancount ledger files using Beancount Query Language (BQL) and the beanquery tool.
REFERENCE
An intelligent middleware layer between crypto wallets and traditional payment systems.
mcp-yfinance-server
49Real-time stock API with Python, MCP server example, yfinance stock analysis dashboard
