Skip to main content

Fundamentals

Use fundamentals when you need company profile data, valuation metrics, financial statement modules, earnings data, holders, analyst data, or financial time series.

Quote Summary Modules

The /v1/fundamentals route accepts modules for quote-summary style data.

curl "https://api.yfin.dev/v1/fundamentals?symbol=AAPL&modules=price,summaryDetail,financialData,assetProfile" \
-H "X-Yfin-Contact: you@example.com"
import yfin

client = yfin.Client(contact="you@example.com")
fundamentals = client.fundamentals(
"AAPL",
modules=["price", "summaryDetail", "financialData", "assetProfile"],
)
const fundamentals = await client.fundamentals("AAPL", {
modules: ["price", "summaryDetail", "financialData", "assetProfile"],
});

Time-Series Fundamentals

Use /v1/timeseries for historical financial metrics.

curl "https://api.yfin.dev/v1/timeseries?symbol=AAPL&type=trailingTotalRevenue,trailingNetIncome" \
-H "X-Yfin-Contact: you@example.com"
const series = await client.timeseries("AAPL", [
"trailingTotalRevenue",
"trailingNetIncome",
]);

yfinance-Shaped Python

import yfin as yf

aapl = yf.Ticker("AAPL", contact="you@example.com")

print(aapl.info)
print(aapl.financials)
print(aapl.balance_sheet)
print(aapl.cash_flow)

Practical Rules

  • Request only the modules your app uses.
  • Treat missing modules or fields as normal for some symbols and asset classes.
  • Use raw numeric values for calculations and formatted values for display.
  • For historical analysis, prefer time-series fundamentals over current snapshot fields.

See Financial Fields for common field meanings.