Financial history
Returns the financial history of one company: annual reports, quarterly reports, or both. Each report carries the company’s statement sections and their values for that fiscal period.
Endpoint
GET https://api.vitati360.com/proxy/external/v1/company/{country}/{ticker}/financialsPath parameters
| Parameter | Description |
|---|---|
country | Country code, for example qa. Case-insensitive. |
ticker | Ticker symbol, for example qnbk. Case-insensitive. |
An unknown country and ticker pair returns 404. Not sure of the ticker? Use Find a company.
Query parameters
| Parameter | Values | Default | Description |
|---|---|---|---|
period | all, annual, quarterly | all | Which report arrays to include. all returns both. |
currency | An ISO 4217 code, for example USD | Reported currency | Converts monetary values to this currency. See Currency conversion. |
sections | Comma-separated section names, for example incomeStatement,balanceSheet | All sections | Returns only these sections. Sections the company does not report are left out. |
fromYear | A year, for example 2020 | No lower limit | First fiscal year to include, inclusive. |
toYear | A year, for example 2025 | No upper limit | Last fiscal year to include, inclusive. Must not be earlier than fromYear. |
An invalid value returns 400, and the message names the parameter. See Errors and rate limits.
Headers
| Header | Required | Description |
|---|---|---|
x-api-key | Yes | Your API key. See Getting started. |
Accept-Encoding | Recommended | Send gzip. The response is stored compressed, so this avoids a decompression step on your side. Clients that do not send it still receive plain JSON. |
Response
A JSON object with the company, its currencies, and the reports.
| Field | Type | Description |
|---|---|---|
company | object | ticker, name, country, region (may be null). |
reportedCurrency | string or null | The currency the company reports in. |
displayCurrency | string or null | The currency the values are expressed in. Equals reportedCurrency unless currency was requested. |
annualReports | array | Present when period is all or annual. Sorted newest first. |
quarterlyReports | array | Present when period is all or quarterly. Sorted newest first. |
Report object
Each item in annualReports or quarterlyReports has:
| Field | Type | Description |
|---|---|---|
fiscalYear | integer | The fiscal year, for example 2025. |
fiscalPeriod | string | FY for annual reports; Q1 to Q4 for quarterly reports. |
periodEnd | string or null | The period end date, YYYY-MM-DD. |
filedAt | string or null | The date the filing was made, YYYY-MM-DD. |
Statement sections are added to each report as further fields. The section names are:
| Section | Contents |
|---|---|
incomeStatement | Income statement lines. |
balanceSheet | Balance sheet lines. |
cashFlowStatement | Cash flow lines. |
returnsOnCapital | Return on capital measures. |
creditCoverageRatios | Credit and coverage ratios. |
perShareDividends | Per-share and dividend values. |
summaryFinancials | Summary figures. |
marketValuation | Market valuation measures. |
Not every company has every section, and a section only appears if the company has at least one value in it for that report.
Inside a section, each metric is a field keyed by its metric name, with the value for that period. A value can be null when the filing does not report it. Metric names vary by company. To list them, use Company metrics.
Currency conversion
Without currency, every value is returned as reported.
With currency, monetary values are converted to the requested currency:
- Only monetary values are converted: amounts and per-share amounts. Share counts, ratios, and other non-monetary values are returned unchanged.
- Balance sheet and market valuation values use the rate at the period end. Other values use the period average.
- If a rate is not available for a value, that value is returned as reported and is not converted. Check
displayCurrencyand the value’s period before you combine values from different periods.
Examples
Each example requests the annual reports, converted to US dollars, with only the income statement and balance sheet.
cURL
curl --compressed \
-H "x-api-key: YOUR_API_KEY" \
"https://api.vitati360.com/proxy/external/v1/company/qa/qnbk/financials?period=annual¤cy=USD§ions=incomeStatement,balanceSheet"The response has this shape. The values are placeholders, and the metric names shown are examples only:
{
"company": { "ticker": "qnbk", "name": "Qatar National Bank", "country": "qa", "region": "mena" },
"reportedCurrency": "QAR",
"displayCurrency": "USD",
"annualReports": [
{
"fiscalYear": 2025,
"fiscalPeriod": "FY",
"periodEnd": "2025-12-31",
"filedAt": "2026-02-10",
"incomeStatement": { "revenue": 0, "netIncome": 0 },
"balanceSheet": { "totalAssets": 0 }
}
]
}