Financial Statements

Retrieve income statements, balance sheets, and cash flow data via the API.

Prerequisites

  • An edgar.tools API key with Professional tier access
  • A company ticker or CIK number

1. Get an income statement

Retrieve annual income statement data for a company. The response includes revenue, expenses, and net income across reporting periods.

curl -H "Authorization: Bearer etk_your_key_here" \
  "https://api.edgar.tools/v1/companies/AAPL/income-statement"
response = requests.get(
    "https://api.edgar.tools/v1/companies/AAPL/income-statement",
    headers={"Authorization": "Bearer etk_your_key_here"},
)
income = response.json()

2. Get a balance sheet

Fetch balance sheet data including assets, liabilities, and stockholders' equity for each reporting period.

curl -H "Authorization: Bearer etk_your_key_here" \
  "https://api.edgar.tools/v1/companies/AAPL/balance-sheet"
response = requests.get(
    "https://api.edgar.tools/v1/companies/AAPL/balance-sheet",
    headers={"Authorization": "Bearer etk_your_key_here"},
)
balance = response.json()

3. Get cash flow data

Access cash flow statements covering operating, investing, and financing activities.

curl -H "Authorization: Bearer etk_your_key_here" \
  "https://api.edgar.tools/v1/companies/AAPL/cash-flow"
response = requests.get(
    "https://api.edgar.tools/v1/companies/AAPL/cash-flow",
    headers={"Authorization": "Bearer etk_your_key_here"},
)
cash_flow = response.json()

4. Switch to quarterly data

By default, financial endpoints return annual data. Add period_type=quarterly to retrieve quarterly figures.

curl -H "Authorization: Bearer etk_your_key_here" \
  "https://api.edgar.tools/v1/companies/AAPL/income-statement?period_type=quarterly"
response = requests.get(
    "https://api.edgar.tools/v1/companies/AAPL/income-statement",
    params={"period_type": "quarterly"},
    headers={"Authorization": "Bearer etk_your_key_here"},
)
quarterly = response.json()

5. Get trailing twelve months (TTM)

The TTM endpoint aggregates the most recent four quarters, giving an up-to-date annual view without waiting for the next 10-K. Use the statement parameter to fetch a single statement type.

curl -H "Authorization: Bearer etk_your_key_here" \
  "https://api.edgar.tools/v1/companies/AAPL/financials/ttm?statement=income_statement"
response = requests.get(
    "https://api.edgar.tools/v1/companies/AAPL/financials/ttm",
    params={"statement": "income_statement"},
    headers={"Authorization": "Bearer etk_your_key_here"},
)
ttm = response.json()
for item in ttm["statements"]["income_statement"]["line_items"]:
    print(f"{item['label']}: ${item['value']:,.0f}")
Flexible identifiers. Financial endpoints accept both ticker symbols (AAPL) and CIK numbers (0000320193) as the company identifier.

To summarize

  • Three statement endpoints share the same response structure
  • Response includes periods, line-item rows with values, and source filing metadata
  • Use period_type=quarterly for quarterly data (annual by default)
  • TTM rolls up the latest 4 quarters for an up-to-date annual view
  • Requires Professional tier access