# Financials Trailing Twelve Months

> Returns the most recent TTM snapshot across all three financial statements.

`GET https://api.bavest.co/v2/equities/financials-ttm`

Group: Equities. Route id: `v2_equities_financials_ttm`. Included in: Startup, Pro, Growth.

## Authentication

Send your API key in the `x-api-key` header on every request. No key yet? Sign up at https://dashboard.bavest.co/sign-up (free trial). The examples read the key from the `BAVEST_API_KEY` environment variable.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `symbol` | query | string | one of symbol, isin | Stock ticker symbol (e.g., `AAPL`, `MSFT`, `GOOGL`). Provide exactly one of symbol or isin. Example `AAPL`. |
| `isin` | query | string | one of symbol, isin | ISIN code (e.g., `US0378331005`). Provide exactly one of symbol or isin. Clear the symbol example before using an ISIN. |
| `fields` | query | string | no | Comma-separated list of line items to include. The filter is applied to each of the `bs`, `cf` and `ic` blocks, so a name is kept only in the statement that reports it. Names that no statement reports match nothing, so the blocks come back empty. Example when explicitly filtering: `totalAssets,freeCashFlow,revenue`. |

Required: one of `symbol`, `isin`.

## Response

200 Successful response (`application/json`).

| Field | Type | Always present | Description |
|---|---|---|---|
| `data` | object | no |  |
| `data.bs` | FinancialPeriodMeta | no | Balance sheet (trailing twelve months) |
| `data.bs.date` | string (date) | no | Period end date. Example: `2025-09-27`. |
| `data.bs.frequency` | string | no | Reporting frequency. One of `annual`, `quarterly`. |
| `data.bs.reportedCurrency` | string | no | Currency of reported values (ISO 4217) Example: `USD`. |
| `data.bs.cik` | string | no | SEC Central Index Key (10-digit) Example: `320193`. |
| `data.bs.filingDate` | string (date) | no | SEC filing submission date. |
| `data.bs.acceptedDate` | string (date-time) | no | SEC acceptance timestamp. |
| `data.bs.calendarYear` | string | no | Calendar year. Example: `2025`. |
| `data.bs.period` | string | no | Period code: FY, Q1, Q2, Q3, Q4. Example: `FY`. |
| `data.bs.link` | string (uri) | no | SEC EDGAR filing index URL. |
| `data.bs.finalLink` | string (uri) | no | Direct SEC filing document URL. |
| `data.bs.isGapData` | boolean \| null | no | Whether this period was interpolated to fill a gap. |
| `data.bs.cashAndCashEquivalents` | number (double) | no | Cash and cash equivalents. |
| `data.bs.shortTermInvestments` | number (double) | no | Short-term investments. |
| `data.bs.cashShortTermInvestments` | number (double) | no | Cash + short-term investments (derived) |
| `data.bs.inventory` | number (double) | no | Inventory. |
| `data.bs.otherCurrentAssets` | number (double) | no | Other current assets. |
| `data.bs.currentAssets` | number (double) | no | Total current assets (derived) |
| `data.bs.totalReceivables` | number (double) | no | Total receivables. |
| `data.bs.propertyPlantEquipment` | number (double) | no | PP&E net of depreciation. |
| `data.bs.goodwill` | number (double) | no | Goodwill. |
| `data.bs.intangibleAssets` | number (double) | no | Intangible assets. |
| `data.bs.goodwillAndIntangibleAssets` | number (double) | no | Goodwill + intangibles. |
| `data.bs.longTermInvestments` | number (double) | no | Long-term investments. |
| `data.bs.taxAssets` | number (double) | no | Tax assets. |
| `data.bs.otherNonCurrentAssets` | number (double) | no | Other non-current assets. |
| `data.bs.totalNonCurrentAssets` | number (double) | no | Total non-current assets. |
| `data.bs.otherAssets` | number (double) | no | Other assets. |
| `data.bs.totalInvestments` | number (double) | no | Total investments. |
| `data.bs.totalAssets` | number (double) | no | Total assets. |
| `data.bs.accountsPayable` | number (double) | no | Accounts payable. |
| `data.bs.shortTermDebt` | number (double) | no | Short-term debt. |
| `data.bs.taxPayables` | number (double) | no | Tax payables. |
| `data.bs.deferredRevenue` | number (double) | no | Deferred revenue (current) |
| `data.bs.otherCurrentLiabilities` | number (double) | no | Other current liabilities. |
| `data.bs.currentLiabilities` | number (double) | no | Total current liabilities. |
| `data.bs.longTermDebt` | number (double) | no | Long-term debt. |
| `data.bs.deferredRevenueNonCurrent` | number (double) | no | Deferred revenue (non-current) |
| `data.bs.deferredTaxLiabilitiesNonCurrent` | number (double) | no | Deferred tax liabilities. |
| `data.bs.otherNonCurrentLiabilities` | number (double) | no | Other non-current liabilities. |
| `data.bs.totalNonCurrentLiabilities` | number (double) | no | Total non-current liabilities. |
| `data.bs.otherLiabilities` | number (double) | no | Other liabilities. |
| `data.bs.capitalLeaseObligations` | number (double) | no | Capital lease obligations. |
| `data.bs.totalLiabilities` | number (double) | no | Total liabilities. |
| `data.bs.totalDebt` | number (double) | no | Total debt (short + long term) |
| `data.bs.netDebt` | number (double) | no | Net debt (debt minus cash) |
| `data.bs.preferredStock` | number (double) | no | Preferred stock. |
| `data.bs.commonStock` | number (double) | no | Common stock. |
| `data.bs.retainedEarnings` | number (double) | no | Retained earnings. |
| `data.bs.otherTotalStockholdersEquity` | number (double) | no | Other stockholders' equity. |
| `data.bs.totalStockholdersEquity` | number (double) | no | Total stockholders' equity. |
| `data.bs.minorityInterest` | number (double) | no | Minority interest. |
| `data.bs.totalEquity` | number (double) | no | Total equity. |
| `data.bs.totalLiabilitiesAndTotalEquity` | number (double) | no | Total liabilities + equity (= totalAssets) |
| `data.bs.liabilitiesShareholdersEquity` | number (double) | no | Total liabilities and shareholders' equity. |
| `data.bs.otherEquity` | number (double) | no | Other equity components. |
| `data.cf` | FinancialPeriodMeta | no | Cash flow statement (trailing twelve months) |
| `data.cf.date` | string (date) | no | Period end date. Example: `2025-09-27`. |
| `data.cf.frequency` | string | no | Reporting frequency. One of `annual`, `quarterly`. |
| `data.cf.reportedCurrency` | string | no | Currency of reported values (ISO 4217) Example: `USD`. |
| `data.cf.cik` | string | no | SEC Central Index Key (10-digit) Example: `320193`. |
| `data.cf.filingDate` | string (date) | no | SEC filing submission date. |
| `data.cf.acceptedDate` | string (date-time) | no | SEC acceptance timestamp. |
| `data.cf.calendarYear` | string | no | Calendar year. Example: `2025`. |
| `data.cf.period` | string | no | Period code: FY, Q1, Q2, Q3, Q4. Example: `FY`. |
| `data.cf.link` | string (uri) | no | SEC EDGAR filing index URL. |
| `data.cf.finalLink` | string (uri) | no | Direct SEC filing document URL. |
| `data.cf.isGapData` | boolean \| null | no | Whether this period was interpolated to fill a gap. |
| `data.cf.netIncome` | number (double) | no | Net income. |
| `data.cf.depreciationAmortization` | number (double) | no | Depreciation and amortization. |
| `data.cf.stockBasedCompensation` | number (double) | no | Stock-based compensation. |
| `data.cf.accountsReceivables` | number (double) | no | Change in accounts receivables. |
| `data.cf.inventory` | number (double) | no | Change in inventory. |
| `data.cf.accountsPayables` | number (double) | no | Change in accounts payables. |
| `data.cf.deferredTaxesInvestmentTaxCredit` | number (double) | no | Deferred taxes. |
| `data.cf.otherNonCashItems` | number (double) | no | Other non-cash items. |
| `data.cf.changesInWorkingCapital` | number (double) | no | Total working capital changes. |
| `data.cf.otherWorkingCapital` | number (double) | no | Other working capital items. |
| `data.cf.netCashProvidedByOperatingActivities` | number (double) | no | Net operating cash flow. |
| `data.cf.capex` | number (double) | no | Capital expenditures (negative) |
| `data.cf.investmentsInPropertyPlantAndEquipment` | number (double) | no | PP&E investments. |
| `data.cf.acquisitionsNet` | number (double) | no | Net acquisitions. |
| `data.cf.purchasesOfInvestments` | number (double) | no | Investment purchases (negative) |
| `data.cf.salesMaturitiesOfInvestments` | number (double) | no | Investment sales (positive) |
| `data.cf.otherInvestingActivities` | number (double) | no | Other investing activities. |
| `data.cf.netInvestingCashFlow` | number (double) | no | Net investing cash flow. |
| `data.cf.commonStockIssued` | number (double) | no | Stock issuance proceeds. |
| `data.cf.issuanceReductionCapitalStock` | number (double) | no | Net buybacks (negative for repurchases) |
| `data.cf.debtRepayment` | number (double) | no | Debt repayment (negative) |
| `data.cf.cashDividendsPaid` | number (double) | no | Dividends paid (negative) |
| `data.cf.otherFinancingActivities` | number (double) | no | Other financing activities. |
| `data.cf.netCashFinancingActivities` | number (double) | no | Net financing cash flow. |
| `data.cf.effectOfForexChangesOnCash` | number (double) | no | FX impact on cash. |
| `data.cf.changeInCash` | number (double) | no | Net change in cash. |
| `data.cf.cashAtBeginningOfPeriod` | number (double) | no | Opening cash balance. |
| `data.cf.cashAtEndOfPeriod` | number (double) | no | Closing cash balance. |
| `data.cf.netOperatingCashFlow` | number (double) | no | Net operating cash flow (alias) |
| `data.cf.freeCashFlow` | number (double) | no | Free cash flow (operating - capex) |
| `data.ic` | FinancialPeriodMeta | no | Income statement (trailing twelve months) |
| `data.ic.date` | string (date) | no | Period end date. Example: `2025-09-27`. |
| `data.ic.frequency` | string | no | Reporting frequency. One of `annual`, `quarterly`. |
| `data.ic.reportedCurrency` | string | no | Currency of reported values (ISO 4217) Example: `USD`. |
| `data.ic.cik` | string | no | SEC Central Index Key (10-digit) Example: `320193`. |
| `data.ic.filingDate` | string (date) | no | SEC filing submission date. |
| `data.ic.acceptedDate` | string (date-time) | no | SEC acceptance timestamp. |
| `data.ic.calendarYear` | string | no | Calendar year. Example: `2025`. |
| `data.ic.period` | string | no | Period code: FY, Q1, Q2, Q3, Q4. Example: `FY`. |
| `data.ic.link` | string (uri) | no | SEC EDGAR filing index URL. |
| `data.ic.finalLink` | string (uri) | no | Direct SEC filing document URL. |
| `data.ic.isGapData` | boolean \| null | no | Whether this period was interpolated to fill a gap. |
| `data.ic.revenue` | number (double) | no | Total revenue. |
| `data.ic.costOfGoodsSold` | number (double) | no | Cost of goods sold. |
| `data.ic.grossIncome` | number (double) | no | Gross income (revenue - COGS) |
| `data.ic.grossProfitRatio` | number (double) | no | Gross profit margin (0-1 decimal) |
| `data.ic.researchDevelopment` | number (double) | no | R&D expenses. |
| `data.ic.sgaExpense` | number (double) | no | SG&A expenses. |
| `data.ic.generalAndAdministrativeExpenses` | number (double) | no | G&A expenses. |
| `data.ic.sellingAndMarketingExpenses` | number (double) | no | Sales & marketing expenses. |
| `data.ic.totalOperatingExpense` | number (double) | no | Total operating expenses. |
| `data.ic.costAndExpenses` | number (double) | no | Total costs and expenses. |
| `data.ic.ebit` | number (double) | no | Earnings before interest & taxes. |
| `data.ic.ebitda` | number (double) | no | EBITDA. |
| `data.ic.ebitdaRatio` | number (double) | no | EBITDA / Revenue. |
| `data.ic.operatingIncomeRatio` | number (double) | no | Operating margin. |
| `data.ic.interestIncome` | number (double) | no | Interest income. |
| `data.ic.interestExpense` | number (double) | no | Interest expense. |
| `data.ic.totalOtherIncomeExpensesNet` | number (double) | no | Other income/expenses. |
| `data.ic.pretaxIncome` | number (double) | no | Pre-tax income. |
| `data.ic.incomeBeforeTaxRatio` | number (double) | no | Pre-tax margin. |
| `data.ic.provisionForIncomeTaxes` | number (double) | no | Tax provision. |
| `data.ic.netIncome` | number (double) | no | Net income. |
| `data.ic.netIncomeRatio` | number (double) | no | Net income margin. |
| `data.ic.eps` | number (double) | no | Basic EPS. |
| `data.ic.dilutedEps` | number (double) | no | Diluted EPS. |
| `data.ic.weightedAverageShsOut` | number (double) | no | Weighted average shares outstanding. |
| `data.ic.dilutedAverageSharesOutstanding` | number (double) | no | Diluted average shares outstanding. |
| `data.ic.depreciationAndAmortization` | number (double) | no | D&A expense. |
| `data.ic.otherExpenses` | number (double) | no | Other expenses. |
| `data.currency` | string | no | Reporting currency (ISO 4217) |
| `data.date` | string (date) | no | TTM period end date. |
| `meta` | ResponseMeta | no | Response envelope metadata. Always present on a 200: `time` is set by `core/response.py` on every successful response. Errors carry the same block, built by the same code, so a client parses one meta shape whether the call succeeded or failed. |
| `meta.time` | integer | no | Server-side processing time in milliseconds. Example: `17`. |
| `meta.parameters` | object | no | Echo of the request parameters the endpoint resolved. |

## Example request

```bash
curl 'https://api.bavest.co/v2/equities/financials-ttm?symbol=AAPL' \
  -H "x-api-key: $BAVEST_API_KEY"
```

## Example response

```json
{
  "data": {
    "bs": {
      "cashAndCashEquivalents": 39280750000,
      "shortTermInvestments": 23846750000,
      "cashShortTermInvestments": 63127500000,
      "inventory": 7358000000,
      "otherCurrentAssets": 15589000000,
      "currentAssets": 149998250000,
      "goodwill": 0,
      "intangibleAssets": 10419000000,
      "goodwillAndIntangibleAssets": 10419000000,
      "longTermInvestments": 79454250000,
      "taxAssets": 5194250000,
      "otherNonCurrentAssets": 77770750000,
      "totalNonCurrentAssets": 223223250000,
      "otherAssets": 0,
      "totalAssets": 373221500000,
      "shortTermDebt": 14886000000,
      "accountsPayable": 65580250000,
      "taxPayables": 0,
      "deferredRevenue": 9334250000,
      "otherCurrentLiabilities": 63190750000,
      "currentLiabilities": 152991250000,
      "longTermDebt": 78090000000,
      "deferredRevenueNonCurrent": 0,
      "deferredTaxLiabilitiesNonCurrent": 0,
      "otherNonCurrentLiabilities": 48156750000,
      "totalNonCurrentLiabilities": 126246750000,
      "otherLiabilities": 0,
      "capitalLeaseObligations": 3430000000,
      "totalLiabilities": 279238000000,
      "preferredStock": 0,
      "commonStock": 97249500000,
      "retainedEarnings": 1811000000,
      "otherTotalStockholdersEquity": 0,
      "totalStockholdersEquity": 93983500000,
      "minorityInterest": 0,
      "totalEquity": 93983500000,
      "otherEquity": -5077000000,
      "totalLiabilitiesAndTotalEquity": 373221500000,
      "liabilitiesShareholdersEquity": 373221500000,
      "totalInvestments": 103301000000,
      "totalDebt": 92976000000,
      "netDebt": 53695250000,
      "propertyPlantEquipment": 50385000000,
      "totalReceivables": 63923750000
    },
    "cf": {
      "inventory": -5284000000,
      "netIncome": 128930000000,
      "freeCashFlow": 136683000000,
      "depreciationAmortization": 13100000000,
      "stockBasedCompensation": 13706000000,
      "accountsReceivables": -12282000000,
      "accountsPayables": 14178000000,
      "otherNonCashItems": -378000000,
      "deferredTaxesInvestmentTaxCredit": 0,
      "changesInWorkingCapital": -8634000000,
      "otherWorkingCapital": -5246000000,
      "netCashProvidedByOperatingActivities": 146724000000,
      "netOperatingCashFlow": 146724000000,
      "acquisitionsNet": 0,
      "investmentsInPropertyPlantAndEquipment": -10041000000,
      "capex": -10041000000,
      "purchasesOfInvestments": -55568000000,
      "salesMaturitiesOfInvestments": 46496000000,
      "otherInvestingActivities": -2285000000,
      "netInvestingCashFlow": -21398000000,
      "debtRepayment": -17274000000,
      "commonStockIssued": 0,
      "issuanceReductionCapitalStock": -82226000000,
      "cashDividendsPaid": -15640000000,
      "otherFinancingActivities": -6911000000,
      "netCashFinancingActivities": -122051000000,
      "effectOfForexChangesOnCash": 0,
      "changeInCash": 3275000000,
      "cashAtBeginningOfPeriod": 40773000000,
      "cashAtEndOfPeriod": 41591750000
    },
    "ic": {
      "revenue": 466823000000,
      "costOfGoodsSold": 239700000000,
      "grossIncome": 227123000000,
      "generalAndAdministrativeExpenses": 2095000000,
      "sellingAndMarketingExpenses": 5397000000,
      "sgaExpense": 29363000000,
      "otherExpenses": 0,
      "costAndExpenses": 311964000000,
      "totalOperatingExpense": 72264000000,
      "researchDevelopment": 42901000000,
      "interestIncome": 0,
      "interestExpense": 0,
      "depreciationAndAmortization": 13100000000,
      "totalOtherIncomeExpensesNet": 1047000000,
      "ebit": 154859000000,
      "ebitda": 168486000000,
      "pretaxIncome": 155906000000,
      "provisionForIncomeTaxes": 26976000000,
      "netIncome": 128930000000,
      "eps": 8.76,
      "dilutedEps": 8.73,
      "weightedAverageShsOut": 14774972750,
      "dilutedAverageSharesOutstanding": 14833367500,
      "grossProfitRatio": 0.4867,
      "operatingIncomeRatio": 0.3298,
      "incomeBeforeTaxRatio": 0.3322,
      "netIncomeRatio": 0.2748,
      "ebitdaRatio": 0.3595
    },
    "currency": "USD",
    "date": "2026-06-27"
  },
  "meta": {
    "parameters": {
      "symbol": "AAPL"
    },
    "time": 35
  }
}
```

## Errors

| Status | Meaning |
|---|---|
| 400 | Invalid request parameters. Returned when required query parameters are missing, have invalid types, or violate constraints (e.g., providing both symbol and isin when they are mutually exclusive). |
| 401 | Missing or invalid API key. |
| 404 | Resource not found. |
| 429 | Rate limit exceeded. Retry after the `Retry-After` header interval. |
| 500 | An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value. |
| 502 | Upstream data provider returned an error or is temporarily unavailable. Retry after a short delay. |
| 504 | The request timed out waiting for a response from the upstream data provider. This may occur for complex queries or during peak load. |
| default | An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value. |

- `403` from the gateway: the API key is invalid or switched off.
- `429` with message `Limit Exceeded`: the monthly quota of the key is used up. With `Too Many Requests`: the key is throttled, or this route is not in the key's plan. Wait for `Retry-After` when it is sent.

## Links

- HTML page: https://dashboard.bavest.co/docs/v2_equities_financials_ttm
- OpenAPI: https://dashboard.bavest.co/openapi.json (YAML: https://dashboard.bavest.co/openapi.yaml)
- Authentication: https://dashboard.bavest.co/docs/authentication.md
- MCP server for AI agents: https://dashboard.bavest.co/docs/mcp.md
- All routes: https://dashboard.bavest.co/llms.txt
