---
title: "Equity Income Statement"
method: GET
path: "/gateway/v1/equity/income-statement"
tags: ["Equity"]
---

# Equity Income Statement

`GET /gateway/v1/equity/income-statement`

Returns paginated standardized income-statement periods for a US-listed equity. The API passes through available periods and does not synthesize missing periods or financial values.

## Query parameters

- `symbol` string, required — US equity ticker symbol
- `period` 'quarterly' | 'ytd' | 'annual' | 'ttm' — Financial period
- `end_date` string — Inclusive latest period end date in YYYY-MM-DD format
- `limit` integer — Maximum financial periods to return

## Response `200`

OK

- DataResponseEquityIncomeStatementItem
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `data` EquityIncomeStatementItem[], nullable, required
    - `calculated_at` integer — Serving calculation time as Unix seconds
    - `cost_of_revenue` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `currency` string, required — Currency used by monetary metrics
    - `dividends_per_common_share` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `duration_days` integer — Inclusive financial period duration in days
    - `duration_months` integer — Deprecated compatibility duration in months; use duration_days
    - `ebit` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `ebitda` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `eps_basic` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `eps_calculation_method` string
    - `eps_diluted` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `fiscal_period` string, nullable, required — Company fiscal period label. Null when persisted fiscal coordinates are unavailable.
    - `fiscal_quarter` integer — Company fiscal quarter
    - `fiscal_year` integer — Company fiscal year
    - `formula_version` string — Formula version used for derived metrics
    - `gross_profit` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `income_tax_expense` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `interest_expense` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `net_income` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `net_income_common_stock` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `net_income_discontinued_operations` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `net_income_non_controlling_interests` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `net_income_yoy` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `operating_expense` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `operating_income` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `operating_income_yoy` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `period` 'quarterly' | 'ytd' | 'annual' | 'ttm', required — Public financial period represented by this row
    - `period_start` string — Inclusive financial period start date in YYYY-MM-DD format
    - `report_period` string, required — Financial period end date in YYYY-MM-DD format
    - `research_and_development` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `revenue` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `revenue_yoy` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `sga_expense` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `source_updated_at` integer — Latest source update time as Unix seconds
    - `symbol` string, required — US equity ticker symbol
    - `total_operating_costs` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `weighted_average_shares` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
    - `weighted_average_shares_diluted` EquityMetricValue, required
      - `applicability_version` string — Applicability version used for this metric cell
      - `formula_version` string — Formula version used for this metric cell
      - `quality_reason_codes` string[], nullable — Serving-layer quality reason codes
      - `reason_code` string — Opaque serving-layer reason when a metric is unavailable
      - `source_accessions` string[], nullable — Source filing accession identifiers
      - `source_financial_metric_snapshot_ids` string[], nullable — Source provider metric snapshot identifiers
      - `source_revision_ids` string[], nullable — Source statement revision identifiers
      - `source_statement_ids` string[], nullable — Source financial statement identifiers
      - `status` 'available' | 'missing' | 'not_applicable', required — Availability status
      - `value` number, double, nullable, required — Exact metric value. Null when missing or not applicable.
      - `value_origin` 'reported' | 'derived' — Whether the value is reported or derived
  - `meta` OffsetMeta, required
    - `cached` boolean, required — Whether this response was served from cache
    - `credits_used` integer, required — Credits deducted for this request
    - `empty_reason` string — Hint explaining why the data array is empty, when applicable
    - `has_more` boolean — Whether more items may exist beyond this response. For offset-paged endpoints, continue with a larger offset. For time-series endpoints without offset/cursor controls, true means the requested time range hit an upstream cap; narrow from/to to continue. Omitted when exhaustion cannot be proven.
    - `limit` integer, required — Maximum number of items returned in this response
    - `offset` integer, required — Number of items skipped (pagination offset)
    - `total` integer — Total number of matching items (before pagination). Omitted when total is unknown.
    - `watermark` integer — Warehouse watermark (Unix seconds) this response was computed at, on warehouse-backed endpoints (e.g. Hyperliquid /trades/aggregate) — rows up to this time come from the warehouse, newer rows from the live tail. Omitted elsewhere.

## Other responses

- `default` — Error

---

[API](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api.md) · [All operations](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/asksurf/asksurf-public-rest-api/revisions/4153a9cb5145/schema)
