Equities
Income Statements
/v2/equities/income-statementReturns annual or quarterly income statements.
Included in: Startup, Pro, Growth.
Authentication
Send your API key in the x-api-key header on every request to https://api.bavest.co. The samples read it from the BAVEST_API_KEY environment variable. Get an API key · Authentication guide
Parameters
Required: one of symbol, isin, for example symbol=AAPL.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| symbol | query | string | one of symbol, isin | Stock ticker symbol (e.g., Example |
| isin | query | string | one of symbol, isin | ISIN code (e.g., |
| freq | query | string | no | Reporting frequency One of Default |
| provenance | query | boolean | no | When true, the response carries a Default |
| fields | query | string | no | Comma-separated list of income statement line items to include. When provided, each statement is reduced to the named line items. Names that are not income statement line items match nothing, so a statement reduced by them comes back empty. Example when explicitly filtering: |
Try it
Stock ticker symbol (e.g., `AAPL`, `MSFT`, `GOOGL`). Provide exactly one of symbol or isin.
ISIN code (e.g., `US0378331005`). Provide exactly one of symbol or isin. Clear the symbol example before using an ISIN.
Reporting frequency
GET /v2/equities/income-statement?symbol=AAPL&freq=annual
Sent only to api.bavest.co for this request; not stored.
Response 200
Successful response · application/json
dataobjectcurrencystringCurrency of reported values (ISO 4217)
Example
USDfinancialsarray of FinancialPeriodMetaprovenanceStatementProvenancePresent only when provenance=true. Keyed by statement date, one entry per row served in
financials, answering when we got each statement and whether it changed since. Clients must tolerate unknown enum values and additional fields: the vocabulary grows when filing-sourced numbers ship.
metaResponseMetaResponse envelope metadata. Always present on a 200:
timeis set bycore/response.pyon 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.timeintegerServer-side processing time in milliseconds
Example
17parametersobjectEcho of the request parameters the endpoint resolved
Errors
- 400Invalid 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).
- 401Missing or invalid API key.
- 404Resource not found.
- 429Rate limit exceeded. Retry after the `Retry-After` header interval.
- 500An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.
- 502Upstream data provider returned an error or is temporarily unavailable. Retry after a short delay.
- 504The request timed out waiting for a response from the upstream data provider. This may occur for complex queries or during peak load.
- defaultAn unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value.

