# Get income statements

**API:** Data API

**Endpoint:** `GET /v1/beta/financial/financials/income-statements`

**Tags:** Financial Data

Income statements for one company, about 32 fields per period: `revenue`, `cost_of_revenue`, `gross_profit`, `operating_expense`, `selling_general_and_administrative_expenses`, `research_and_development`, `operating_income`, `interest_expense`, `ebit`, `income_tax_expense`, `net_income`, `net_income_common_stock` and the per-share lines, each stamped with `report_period`, `fiscal_period`, `currency`, `filing_date` and `filing_url`. `period` is a selector (annual, quarterly or ttm). Use it for the revenue-to-earnings walk. For all three statements at once use `get_financial_financials`.

### Pricing reference

- Metering: Fixed successful-request cost basis.
- Reference request estimate: USD 0.02.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.

Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | no | string |  |
| `period` | query | no | string |  |
| `ticker` | query | no | string |  |

## Responses

### 200 — Income statements response

Headers:
- `X-Request-Id` (string) — Request identifier to include when contacting Felo support.

**application/json**

Schema: `ResponseE40Feb4D3D6B_IncomeStatementResponse` (`#/components/schemas/ResponseE40Feb4D3D6B_IncomeStatementResponse`)

### 400 — The request could not be processed. Check the request parameters.

### 401 — A valid Felo API key is required.

### 402 — The request cannot proceed because a billing requirement is not met.

### 403 — The account is not permitted to perform this operation.

### 429 — A request or spending limit has been reached.

### 502 — The service could not complete the request.

### 503 — The API or billing service is temporarily unavailable.

### 504 — The service timed out while processing the request.

### default — Error response; upstream passthrough responses may use provider formats

**application/json**

Schema:

```json
{}
```

## Schema definitions

### ResponseE40Feb4D3D6B_IncomeStatement

`#/components/schemas/ResponseE40Feb4D3D6B_IncomeStatement`

```json
{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "The ticker symbol."
    },
    "report_period": {
      "type": "string",
      "format": "date",
      "description": "The reporting period of the income statement."
    },
    "fiscal_period": {
      "type": "string",
      "description": "The fiscal period of the income statement."
    },
    "period": {
      "type": "string",
      "enum": [
        "quarterly",
        "ttm",
        "annual"
      ],
      "description": "The time period of the income statement."
    },
    "currency": {
      "type": "string",
      "description": "The currency in which the financial data is reported."
    },
    "accession_number": {
      "type": [
        "string",
        "null"
      ],
      "description": "The SEC accession number of the filing."
    },
    "form_type": {
      "type": [
        "string",
        "null"
      ],
      "description": "The SEC form this row was sourced from (`10-K`, `10-Q/A`, `20-F`, `S-1`, ...). The exact form as filed, so amendments keep their `/A` suffix. Null when `period` is `ttm`: a trailing twelve month window can span multiple filings, so we don't attribute it to one. A `quarterly` row can carry `10-K` when the fourth quarter is derived from the fiscal-year filing."
    },
    "filing_url": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri",
      "description": "URL to the SEC filing."
    },
    "filing_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date",
      "description": "Calendar day SEC accepted the filing, in Eastern Time (the SEC's operating timezone). Calendar-day pair to `filing_datetime`. Null when no dated SEC filing is linked to the row."
    },
    "filing_datetime": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Sub-day timestamp recording when SEC accepted the filing, in Eastern Time. Sourced from SEC's `acceptanceDateTime` field on the EDGAR submissions API. Pairs with `filing_date` (calendar-day precision of the same event)."
    },
    "revenue": {
      "type": "number",
      "description": "The total revenue of the company."
    },
    "cost_of_revenue": {
      "type": "number",
      "description": "The cost of revenue of the company."
    },
    "gross_profit": {
      "type": "number",
      "description": "The gross profit of the company."
    },
    "operating_expense": {
      "type": "number",
      "description": "The operating expenses of the company."
    },
    "selling_general_and_administrative_expenses": {
      "type": "number",
      "description": "The selling, general, and administrative expenses of the company."
    },
    "research_and_development": {
      "type": "number",
      "description": "The research and development expenses of the company."
    },
    "operating_income": {
      "type": "number",
      "description": "The operating income of the company."
    },
    "interest_expense": {
      "type": "number",
      "description": "The interest expenses of the company."
    },
    "ebit": {
      "type": "number",
      "description": "The earnings before interest and taxes of the company."
    },
    "income_tax_expense": {
      "type": "number",
      "description": "The income tax expenses of the company."
    },
    "net_income_discontinued_operations": {
      "type": "number",
      "description": "The net income from discontinued operations of the company."
    },
    "net_income_non_controlling_interests": {
      "type": "number",
      "description": "The net income from non-controlling interests of the company."
    },
    "net_income": {
      "type": "number",
      "description": "The net income of the company."
    },
    "net_income_common_stock": {
      "type": "number",
      "description": "The net income available to common stockholders of the company."
    },
    "preferred_dividends_impact": {
      "type": "number",
      "description": "The impact of preferred dividends on the net income of the company."
    },
    "consolidated_income": {
      "type": "number",
      "description": "The consolidated income of the company."
    },
    "earnings_per_share": {
      "type": "number",
      "description": "The earnings per share of the company."
    },
    "earnings_per_share_diluted": {
      "type": "number",
      "description": "The diluted earnings per share of the company."
    },
    "dividends_per_common_share": {
      "type": "number",
      "description": "The dividends per common share of the company."
    },
    "weighted_average_shares": {
      "type": "number",
      "description": "The weighted average shares of the company."
    },
    "weighted_average_shares_diluted": {
      "type": "number",
      "description": "The diluted weighted average shares of the company."
    }
  }
}
```

### ResponseE40Feb4D3D6B_IncomeStatementResponse

`#/components/schemas/ResponseE40Feb4D3D6B_IncomeStatementResponse`

```json
{
  "type": "object",
  "properties": {
    "income_statements": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ResponseE40Feb4D3D6B_IncomeStatement"
      }
    },
    "next_page_url": {
      "type": "string",
      "description": "Absolute URL of the next page of results. Present only when more results remain; request it as-is to continue. Each page holds up to 10 records."
    }
  }
}
```
