Overview
Finnhub offers a comprehensive set of APIs designed to provide real-time and historical financial market data. Established in 2018, the platform focuses on delivering data for stocks, foreign exchange (forex), and cryptocurrencies, making it suitable for developers and financial professionals who require programmatic access to market information. The API supports applications ranging from individual investor tools and trading platforms to advanced analytical systems and financial news services.
Developers can access various data types, including real-time quotes, historical candles, fundamental data for companies, corporate earnings reports, and economic indicators. Finnhub also provides access to financial news feeds, allowing for the aggregation and analysis of market-moving events. The platform is designed to support high-frequency data requests, offering both RESTful API endpoints for historical and static data, and WebSocket APIs for real-time streaming data updates.
Finnhub positions itself as a data provider for a broad spectrum of use cases within the financial technology (FinTech) sector. Its services are particularly beneficial for those building applications that require current and accurate market prices, historical performance analysis, or the integration of financial news into their systems. The availability of client SDKs across multiple programming languages aims to streamline the integration process, enabling developers to quickly incorporate financial data into their projects. For example, Python and JavaScript SDKs facilitate rapid development for common web and data science applications. The service is GDPR compliant, addressing data privacy considerations for users within the European Union.
The core utility of financial data APIs like Finnhub's lies in their ability to automate data collection, which is a foundational requirement for algorithmic trading, portfolio management, and quantitative analysis. According to Gartner's insights into FinTech trends, the demand for accessible and reliable financial data is a key driver for innovation in financial services, underpinning the development of new products and services.
Key features
- Stock Data APIs: Provides real-time quotes, historical data, company fundamentals, corporate earnings, and technical indicators for global stocks.
- Forex Data APIs: Offers real-time and historical exchange rates for major and minor currency pairs.
- Crypto Data APIs: Delivers real-time prices, historical data, and trading volumes for various cryptocurrencies across multiple exchanges.
- Economic Data APIs: Access to key economic indicators (e.g., GDP, inflation rates) and financial calendars.
- News APIs: Aggregates financial news from various sources, providing headlines and sentiment analysis.
- Corporate Earnings APIs: Detailed earnings call transcripts, surprises, and future estimates.
- WebSocket APIs: Enables real-time streaming of market data, including quotes and trades, for low-latency applications.
- Extensive SDK Support: Client libraries available for JavaScript, Python, Go, Ruby, C#, Java, PHP, R, Swift, and Kotlin.
Pricing
Finnhub offers a free tier for basic usage and several paid plans that scale with API call volume and data access. Pricing details below are as of May 2026.
| Plan | Monthly Cost | API Calls/Month | Data Access | Key Features |
|---|---|---|---|---|
| Free | $0 | 500 | Limited | Basic market data, delayed quotes |
| Starter | $40 | 100,000 | Standard | Real-time quotes, historical data, basic fundamentals |
| Professional | $200 | 2,000,000 | Advanced | All Starter features, more extensive fundamentals, news, economic data |
| Enterprise | Custom | Custom | Full | All Professional features, dedicated support, custom data feeds |
For more detailed information on each plan's specific features and any overage charges, refer to the official Finnhub pricing page.
Common integrations
Finnhub's APIs are designed for integration into various financial applications and analytical tools:
- Trading Bots and Algorithmic Trading Systems: Utilize real-time stock, forex, and crypto data for automated trading strategies.
- Portfolio Management Platforms: Integrate current market values and historical performance to track and manage investment portfolios.
- Financial News Aggregators: Incorporate Finnhub's news API to provide up-to-date market news and sentiment analysis.
- Quantitative Analysis Tools: Use historical data and economic indicators for backtesting strategies and building predictive models.
- Custom Financial Dashboards: Display real-time market data, watchlists, and company fundamentals in bespoke dashboards.
- Mobile and Web Applications: Power financial features in consumer-facing applications, such as stock trackers or investment apps.
Alternatives
Developers seeking financial market data APIs may consider these alternatives:
- Alpha Vantage: Offers a broad range of financial data, including stocks, forex, cryptocurrencies, and technical indicators, often with a generous free tier.
- IEX Cloud: Provides real-time and historical financial data, particularly strong for U.S. equities, along with news and fundamentals.
- Twelve Data: Specializes in real-time and historical data for stocks, forex, crypto, and indices, with a focus on speed and reliability.
Getting started
To begin using the Finnhub API, you typically need to obtain an API key from their website. The following Python example demonstrates how to fetch basic company profile data using the Finnhub Python SDK:
import finnhub
# Replace 'YOUR_API_KEY' with your actual Finnhub API key
finnhub_client = finnhub.Client(api_key="YOUR_API_KEY")
# Fetch company profile for Apple Inc. (AAPL)
try:
company_profile = finnhub_client.company_profile2(symbol='AAPL')
print("Company Profile for AAPL:")
for key, value in company_profile.items():
print(f" {key}: {value}")
# Fetch real-time quote for Apple Inc.
quote = finnhub_client.quote(symbol='AAPL')
print("\nReal-time Quote for AAPL:")
for key, value in quote.items():
print(f" {key}: {value}")
except Exception as e:
print(f"An error occurred: {e}")
This JavaScript example shows how to retrieve a real-time stock quote using a direct API call (without a specific SDK for simplicity):
const API_KEY = 'YOUR_API_KEY'; // Replace with your actual Finnhub API key
const SYMBOL = 'MSFT'; // Example: Microsoft Corporation
async function getStockQuote() {
const url = `https://finnhub.io/api/v1/quote?symbol=${SYMBOL}&token=${API_KEY}`;
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log(`Real-time Quote for ${SYMBOL}:`);
console.log(data);
/*
Example output for MSFT:
{
"c": 399.98, // Current price
"h": 400.99, // High price of the day
"l": 397.00, // Low price of the day
"o": 398.50, // Open price of the day
"pc": 398.20 // Previous close price
}
*/
} catch (error) {
console.error("Error fetching stock quote:", error);
}
}
getStockQuote();
For detailed API reference, authentication methods, and specific endpoint documentation, consult the official Finnhub API documentation.