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.11+ · Install as onefinance

A few commands to start

# Fetch quotes and price history
ofclient quote AAPL
ofclient price AAPL --range 1y

# Inspect configured routes
ofclient capabilities --availability

01 / Connect

Multiple providers.
One client.

Use a shared interface across FMP, Finnhub, Twelve Data, Yahoo Finance, Alpha Vantage, and Massive. 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 it 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

# pip install onefinance
from onefinance.core.client import OneFinanceClient

with OneFinanceClient() as client:
    quote = client.get_quote("AAPL")
    quotes = client.get_quotes(["AAPL", "MSFT"])

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 ↗