Python library + command-line tool
Financial data.
One interface.
Quotes, price history, fundamentals, and options through one Python client. Use ofclient from your terminal, scripts, or agents.
Python 3.12+ · Install as onefinance
A few commands to start
ofclient quote AAPL
ofclient price AAPL --range 1y
ofclient capabilities --availability
01 / Connect
Multiple providers.
One client.
Use a shared interface across FMP, Finnhub, Twelve Data, Yahoo Finance, Alpha Vantage, and Massive, plus SEC EDGAR for financial statements and Cboe for volatility-index quotes. Configure provider keys or select a provider per request.
02 / Reuse
Fetch once.
Use the cache.
Disk-based caching keeps repeated requests local. Override the cache lifetime or bypass cache reads when your workflow needs a fresh fetch.
03 / Automate
From the terminal
to your workflow.
Choose JSON, table, or CSV output. Discover commands, inspect provider status, and trace requests through the audit log.
Quick start
Choose your interface.
Install the CLI as a tool, or add the library to your Python environment.
Command line
uv tool install onefinance
ofclient quote AAPL
ofclient quotes AAPL MSFT GOOG
ofclient price AAPL --range 1m --format csv
ofclient providers status
Python
from onefinance.core.client import OneFinanceClient
with OneFinanceClient() as client:
quote = client.get_quote("AAPL")
print(f"{quote.symbol}: {quote.price:.2f}")
print(f"Source: {quote.source}")
Illustrative output; prices and providers vary.
AAPL: 200.00
Source: yfinance
Set API keys for the providers you use. Providers without configured keys are skipped; Yahoo Finance provides a fallback without an API key. Data coverage and access depend on the endpoint and your provider plan.
Provider setup and configuration ↗Keep building
Go deeper in the docs.
Find endpoint coverage, per-call overrides, output formats, and audit commands in the project README.
Read the documentation ↗