FinancialDatasetsTools provide a comprehensive API for retrieving and analyzing diverse financial datasets, including stock prices, financial statements, company information, SEC filings, and cryptocurrency data from multiple providers.

Prerequisites

The toolkit requires a Financial Datasets API key that can be obtained by creating an account at financialdatasets.ai.

pip install agno

Set your API key as an environment variable:

export FINANCIAL_DATASETS_API_KEY=your_api_key_here

Example

Basic usage of the Financial Datasets toolkit:

from agno.agent import Agent
from agno.tools.financial_datasets import FinancialDatasetsTools

agent = Agent(
    name="Financial Data Agent",
    tools=[FinancialDatasetsTools()],
    description="You are a financial data specialist that helps analyze financial information for stocks and cryptocurrencies.",
    instructions=[
        "When given a financial query:",
        "1. Use appropriate Financial Datasets methods based on the query type",
        "2. Format financial data clearly and highlight key metrics",
        "3. For financial statements, compare important metrics with previous periods when relevant",
        "4. Calculate growth rates and trends when appropriate",
        "5. Handle errors gracefully and provide meaningful feedback",
    ],
    markdown=True,
    show_tool_calls=True,
)

# Get the most recent income statement for Apple
agent.print_response("Get the most recent income statement for AAPL and highlight key metrics")

For more examples, see the Financial Datasets Examples.

Toolkit Params

ParameterTypeDefaultDescription
api_keyOptional[str]NoneOptional API key. If not provided, uses FINANCIAL_DATASETS_API_KEY environment variable
enable_financial_statementsboolTrueEnable financial statement related functions (income statements, balance sheets, etc.)
enable_company_infoboolTrueEnable company information related functions
enable_market_databoolTrueEnable market data related functions (stock prices, earnings, metrics)
enable_ownership_databoolTrueEnable ownership data related functions (insider trades, institutional ownership)
enable_newsboolTrueEnable news related functions
enable_sec_filingsboolTrueEnable SEC filings related functions
enable_cryptoboolTrueEnable cryptocurrency related functions
enable_searchboolTrueEnable search related functions

Toolkit Functions

FunctionDescription
get_income_statements(ticker: str, period: str = "annual", limit: int = 10)Get income statements for a company with options for annual, quarterly, or trailing twelve months (ttm) periods
get_balance_sheets(ticker: str, period: str = "annual", limit: int = 10)Get balance sheets for a company with period options
get_cash_flow_statements(ticker: str, period: str = "annual", limit: int = 10)Get cash flow statements for a company
get_company_info(ticker: str)Get company information including business description, sector, and industry
get_crypto_prices(symbol: str, interval: str = "1d", limit: int = 100)Get cryptocurrency prices with configurable time intervals
get_earnings(ticker: str, limit: int = 10)Get earnings reports with EPS estimates, actuals, and revenue data
get_financial_metrics(ticker: str)Get key financial metrics and ratios for a company
get_insider_trades(ticker: str, limit: int = 50)Get data on insider buying and selling activity
get_institutional_ownership(ticker: str)Get information about institutional investors and their positions
get_news(ticker: Optional[str] = None, limit: int = 50)Get market news, optionally filtered by company
get_stock_prices(ticker: str, interval: str = "1d", limit: int = 100)Get historical stock prices with configurable time intervals
search_tickers(query: str, limit: int = 10)Search for stock tickers based on a query string
get_sec_filings(ticker: str, form_type: Optional[str] = None, limit: int = 50)Get SEC filings with optional filtering by form type (10-K, 10-Q, etc.)
get_segmented_financials(ticker: str, period: str = "annual", limit: int = 10)Get segmented financial data by product category and geographic region

Rate Limits and Usage

The Financial Datasets API may have usage limits based on your subscription tier. Please refer to their documentation for specific rate limit information.

Developer Resources