---
title: "Get Statements"
method: GET
path: "/api/stocks/{symbol}/statements"
tags: ["statements"]
---

# Get Statements

`GET /api/stocks/{symbol}/statements`

## Request

- Base URL: `https://api.equity-rank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.equity-rank.com/api/stocks/{symbol}/statements`
- Auth: HTTP bearer

Income statement, balance sheet, and cash-flow statement (annual +
quarterly) for `symbol`, read from the durable `statement_history` table.

A symbol with no persisted rows returns 200 with empty arrays and
`as_of: null` — never a 500. This is a paid analyst surface, matching
AWL-01's premium framing (statements are gated the same as the rest of
the deep-dive stock modal).

## Path parameters

- `symbol` string, required

## Query parameters

- `period` 'annual' | 'quarterly' | 'both': Filter to annual, quarterly, or both period sets.

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/equity-rank/apis/equity-rank-api.md) · [All operations](https://skmtc.dev/equity-rank/apis/equity-rank-api/llms.txt) · [OpenAPI document](https://skmtc.dev/equity-rank/apis/equity-rank-api/revisions/c2f2463fee33?raw)
