# Financial Data API

Interactive reference for the Akyla Financial Data API — as-reported SEC fundamentals, quotes, valuation multiples, and a US-equity screener. Run live queries from the browser.

Base URL: `https://app.akyla.ai`

HTML reference: https://app.akyla.ai/docs

## Authentication

Every request sends `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener. Keys are created under Profile → API Keys.

## Quotes

### Latest Quote

`GET /v1/quote/{ticker}`

Latest price snapshot and 52-week range for a ticker.

Returns the most recent daily close, intraday range, 52-week high/low, and volume for a US-listed equity. Pass series=1 to also receive roughly one year of daily closes for charting.

Authentication: `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener.

#### Path parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `ticker` | string | yes | — | US-listed ticker symbol (1–12 characters, case-insensitive). |

#### Query parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `series` | string (1) | no | — | Set to "1" to include ~1 year of daily close history in `series`. |

#### Request

```bash
curl "https://app.akyla.ai/v1/quote/AAPL" \
  -H "Authorization: Bearer $AKYLA_API_KEY"
```

#### Response

`200 OK` · `application/json`

| Attribute | Type | Description |
| --- | --- | --- |
| `data.ticker` | string | The requested ticker. |
| `data.name` | string | Company name. |
| `data.exchange` | string | Listing exchange (MIC). |
| `data.price` | number | Latest close price. |
| `data.change` | number | Absolute change vs. previous close. |
| `data.changePercent` | number | Change as a decimal (0.012 = +1.2%). |
| `data.dayLow / dayHigh` | number | Intraday low / high. |
| `data.fiftyTwoWeekLow / fiftyTwoWeekHigh` | number | Trailing 52-week range. |
| `data.volume` | number | Latest session volume. |
| `data.asOf` | string | ISO date of the latest candle. |
| `meta` | object | Source, API version, and generation timestamp. |

#### Example response

```json
{
  "data": {
    "ticker": "AAPL",
    "name": "Apple Inc.",
    "exchange": "XNAS",
    "currency": "usd",
    "price": 283.78,
    "previousClose": 275.15,
    "change": 8.63,
    "changePercent": 0.0314,
    "dayLow": 274.21,
    "dayHigh": 285.95,
    "fiftyTwoWeekLow": 199.26,
    "fiftyTwoWeekHigh": 317.4,
    "volume": 235596141,
    "avgVolume": 57512692,
    "asOf": "2026-06-26"
  },
  "meta": {
    "ticker": "AAPL",
    "source": "Market data (daily close)",
    "api_version": "v1",
    "generated_at": "2026-06-27T15:24:00.000Z"
  }
}
```

## Fundamentals

### Fundamentals Snapshot

`GET /v1/fundamentals/{ticker}`

One-call snapshot: latest key metrics + a live quote.

The fastest way to get a company’s headline numbers in a single request: latest revenue, EBITDA, margins, valuation multiples (EV/EBITDA), net debt, and free cash flow, alongside a live price quote. Backed by a precomputed metrics cache.

Authentication: `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener.

#### Path parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `ticker` | string | yes | — | US-listed ticker symbol (1–12 characters, case-insensitive). |

#### Request

```bash
curl "https://app.akyla.ai/v1/fundamentals/AAPL" \
  -H "Authorization: Bearer $AKYLA_API_KEY"
```

#### Response

`200 OK` · `application/json`

| Attribute | Type | Description |
| --- | --- | --- |
| `data.ticker` | string | The requested ticker. |
| `data.period_end` | string | Period end of the latest metrics (YYYY-MM-DD). |
| `data.metrics.revenue` | number | Revenue (TTM), USD millions. |
| `data.metrics.ebitda` | number | EBITDA (TTM), USD millions. |
| `data.metrics.ebitdaMargin` | number | EBITDA margin (decimal). |
| `data.metrics.evToEbitda` | number | Enterprise value / EBITDA. |
| `data.metrics.netDebt` | number | Net debt (negative = net cash). |
| `data.metrics.ufcf` | number | Unlevered free cash flow. |
| `data.quote` | object | Live price quote (same shape as /v1/quote). |

#### Example response

```json
{
  "data": {
    "ticker": "AAPL",
    "period_end": "2026-03-31",
    "metrics": {
      "revenue": 408625,
      "netIncome": 102330,
      "ebitda": 138420,
      "ebitdaMargin": 0.3387,
      "enterpriseValue": 4180000,
      "evToEbitda": 30.2,
      "netDebt": -38000,
      "ufcf": 109800
    },
    "quote": {
      "ticker": "AAPL",
      "price": 283.78,
      "changePercent": 0.0314,
      "asOf": "2026-06-26"
    }
  },
  "meta": {
    "ticker": "AAPL",
    "source": "SEC XBRL + market data",
    "api_version": "v1",
    "generated_at": "2026-06-27T15:24:00.000Z"
  }
}
```

### Key Metrics

`GET /v1/metrics/{ticker}`

Full key-metrics table across reporting periods.

A time series of fundamentals: columns are reporting periods (TTM plus fiscal years), rows are metrics (revenue, EBITDA, margins, valuation multiples). Each row carries a unit so you can format USD vs. percentage vs. multiple.

Authentication: `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener.

#### Path parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `ticker` | string | yes | — | US-listed ticker symbol (1–12 characters, case-insensitive). |

#### Request

```bash
curl "https://app.akyla.ai/v1/metrics/AAPL" \
  -H "Authorization: Bearer $AKYLA_API_KEY"
```

#### Response

`200 OK` · `application/json`

| Attribute | Type | Description |
| --- | --- | --- |
| `data.columns[]` | object[] | Period columns: { header, period_end, is_ttm }. |
| `data.rows[]` | object[] | Metric rows: { label, values[], unit }. |
| `data.rows[].unit` | string | "usd" \| "pct" \| "mult". |
| `data.latest` | object | Most-recent column’s computed metrics. |

#### Example response

```json
{
  "data": {
    "columns": [
      {
        "header": "TTM",
        "period_end": "2026-03-31",
        "is_ttm": true
      },
      {
        "header": "FY 2025",
        "period_end": "2025-09-30",
        "is_ttm": false
      }
    ],
    "rows": [
      {
        "label": "Revenue",
        "values": [
          408625,
          391035
        ],
        "unit": "usd"
      },
      {
        "label": "EBITDA Margin",
        "values": [
          0.3387,
          0.3361
        ],
        "unit": "pct"
      },
      {
        "label": "EV / EBITDA",
        "values": [
          30.2,
          29.1
        ],
        "unit": "mult"
      }
    ]
  },
  "meta": {
    "ticker": "AAPL",
    "source": "SEC XBRL (as-reported)",
    "api_version": "v1",
    "generated_at": "2026-06-27T15:24:00.000Z"
  }
}
```

## Statements

### Financial Statement

`GET /v1/statements/{ticker}`

As-published income statement, balance sheet, or cash flow.

Returns a financial statement as a row schema, period columns, and a sparse value grid. Values are taken from the SEC-rendered statement of each filing exactly as published: signs follow the printed statement (deductions negative), and each period reflects the NEWEST filing that reports it, so restated comparatives supersede originally-reported figures. Set provenance=1 to attach per-cell SEC filing attribution — every number traces back to the filing that published it.

Authentication: `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener.

#### Path parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `ticker` | string | yes | — | US-listed ticker symbol (1–12 characters, case-insensitive). |

#### Query parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `type` | string (income \\| balance \\| cash) | no | `income` | Which statement to return. |
| `provenance` | string (1) | no | — | Set to "1" to include per-cell SEC filing attribution. |

#### Request

```bash
curl "https://app.akyla.ai/v1/statements/AAPL" \
  -H "Authorization: Bearer $AKYLA_API_KEY"
```

#### Response

`200 OK` · `application/json`

| Attribute | Type | Description |
| --- | --- | --- |
| `data.statement` | string | Resolved statement type (income_stmt \| balance_sheet \| cash_flow). |
| `data.cik` | string | SEC Central Index Key. |
| `data.currency` | string | Reporting currency (ISO-4217, e.g. 'CAD'); null means USD. |
| `data.schema[]` | object[] | Row definitions: { label, tag, indent, is_subtotal, sig }. |
| `data.columns[]` | object[] | Period columns: { key, period_end, duration, label }. |
| `data.grid` | object | grid[rowSig][columnKey] = numeric value. |
| `data.provenance` | object | Present only with provenance=1; per-cell filing source. |

#### Example response

```json
{
  "data": {
    "ticker": "AAPL",
    "statement": "income_stmt",
    "cik": "0000320193",
    "schema": [
      {
        "label": "Revenue",
        "tag": "us-gaap:Revenues",
        "indent": 0,
        "is_subtotal": false,
        "sig": "S:rev|L:revenue"
      }
    ],
    "columns": [
      {
        "key": "2026-03-31|3|Q2",
        "period_end": "2026-03-31",
        "duration": 3,
        "label": "Q2"
      }
    ],
    "grid": {
      "S:rev|L:revenue": {
        "2026-03-31|3|Q2": 95400000000
      }
    }
  },
  "meta": {
    "ticker": "AAPL",
    "source": "SEC XBRL (as-reported)",
    "api_version": "v1",
    "generated_at": "2026-06-27T15:24:00.000Z"
  }
}
```

### Notes & Disclosures

`GET /v1/notes/{ticker}`

Footnote disclosures from dimensional XBRL.

Returns note-level disclosures — revenue disaggregation, inventory components, PPE, goodwill, debt schedules, and leases — as-reported from dimensional XBRL, grouped into sections.

Authentication: `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener.

#### Path parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `ticker` | string | yes | — | US-listed ticker symbol (1–12 characters, case-insensitive). |

#### Query parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `period` | string (annual \\| quarterly) | no | `annual` | Reporting frequency. |

#### Request

```bash
curl "https://app.akyla.ai/v1/notes/AAPL" \
  -H "Authorization: Bearer $AKYLA_API_KEY"
```

#### Response

`200 OK` · `application/json`

| Attribute | Type | Description |
| --- | --- | --- |
| `data.sections[]` | object[] | Disclosure sections: { key, title, columns[], rows[] }. |
| `data.sections[].rows[]` | object[] | Line items: { label, values[], is_subtotal, tag }. |

#### Example response

```json
{
  "data": {
    "sections": [
      {
        "key": "inventory",
        "title": "Inventory",
        "columns": [
          {
            "period_end": "2025-09-30",
            "label": "FY 2025"
          }
        ],
        "rows": [
          {
            "label": "Finished goods",
            "values": [
              3200000000
            ],
            "is_subtotal": false,
            "tag": "us-gaap:InventoryFinishedGoods"
          }
        ]
      }
    ]
  },
  "meta": {
    "ticker": "AAPL",
    "source": "SEC XBRL (dimensional, as-reported)",
    "api_version": "v1",
    "generated_at": "2026-06-27T15:24:00.000Z"
  }
}
```

## Valuation

### Comparable Companies

`GET /v1/comps/{ticker}`

Subject company plus peers with valuation multiples.

Returns the subject company and its comparable peers, each with market cap and valuation multiples (P/E, P/S, EV/EBITDA, EV/UFCF, EBITDA margin) — ready to drop into a comps table.

Authentication: `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener.

#### Path parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `ticker` | string | yes | — | US-listed ticker symbol (1–12 characters, case-insensitive). |

#### Request

```bash
curl "https://app.akyla.ai/v1/comps/AAPL" \
  -H "Authorization: Bearer $AKYLA_API_KEY"
```

#### Response

`200 OK` · `application/json`

| Attribute | Type | Description |
| --- | --- | --- |
| `data.subject` | object | The subject company’s comp row. |
| `data.comps[]` | object[] | Peer comp rows. |
| `data.comps[].pe / ps / evEbitda / evUfcf` | number | Valuation multiples (null when not meaningful). |
| `data.comps[].ebitdaMargin` | number | EBITDA margin (decimal). |

#### Example response

```json
{
  "data": {
    "subject": {
      "ticker": "AAPL",
      "name": "Apple Inc.",
      "marketCap": 4150000,
      "pe": 40.5,
      "ps": 10.2,
      "evEbitda": 30.2,
      "evUfcf": 38.1,
      "ebitdaMargin": 0.339,
      "noData": false
    },
    "comps": [
      {
        "ticker": "MSFT",
        "name": "Microsoft Corp.",
        "marketCap": 3600000,
        "pe": 36.2,
        "ps": 13.1,
        "evEbitda": 24.8,
        "evUfcf": 33,
        "ebitdaMargin": 0.49,
        "noData": false
      }
    ]
  },
  "meta": {
    "ticker": "AAPL",
    "source": "SEC XBRL + market data",
    "api_version": "v1",
    "generated_at": "2026-06-27T15:24:00.000Z"
  }
}
```

## Screener

### Equity Screener

`GET /v1/screener`

Filter the US-equity universe by valuation, size, growth, quality.

Screen ~5–8k US equities. Numeric filters use a <field>_<op> convention where op is one of gt, gte, lt, lte — e.g. marketCap_gt=1000&pe_lt=20&ebitdaMargin_gte=0.2. Text filters (sector, exchange) are case-insensitive contains. Supports paging and sort.

Authentication: `Authorization: Bearer <API key>`. As-reported SEC fundamentals, quotes, valuation and screener.

#### Query parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `marketCap_gt` | number | no | — | Market cap greater than (USD millions). Any numeric field supports _gt/_gte/_lt/_lte. |
| `pe_lt` | number | no | — | Trailing P/E less than. |
| `ebitdaMargin_gte` | number | no | — | EBITDA margin at least (decimal, 0.2 = 20%). |
| `sector` | string | no | — | SIC sector description contains (case-insensitive). |
| `exchange` | string | no | — | Exchange contains (e.g. NASDAQ). |
| `sort` | string | no | `marketCap` | Numeric field to sort by. |
| `order` | string (asc \\| desc) | no | `desc` | Sort direction. |
| `limit` | integer | no | `50` | Page size (max 500). |
| `offset` | integer | no | `0` | Rows to skip (pagination). |

#### Request

```bash
curl "https://app.akyla.ai/v1/screener" \
  -H "Authorization: Bearer $AKYLA_API_KEY"
```

#### Response

`200 OK` · `application/json`

| Attribute | Type | Description |
| --- | --- | --- |
| `data.results[]` | object[] | Matching rows (ticker, name, sector, price, marketCap, pe, ps, evEbitda, revenue, ebitda, margins, growth, debt, …). |
| `data.count` | integer | Rows returned on this page. |
| `data.total` | integer | Total rows matching the filters. |
| `data.limit / offset` | integer | Echoed paging params. |

#### Example response

```json
{
  "data": {
    "results": [
      {
        "ticker": "NVDA",
        "name": "NVIDIA Corp.",
        "sector": "Semiconductors",
        "exchange": "XNAS",
        "price": 178.4,
        "marketCap": 4350000,
        "pe": 48.1,
        "ps": 28.2,
        "evEbitda": 41,
        "revenue": 154200,
        "ebitda": 106000,
        "ebitdaMargin": 0.687,
        "revenueGrowth": 0.62
      }
    ],
    "count": 1,
    "total": 312,
    "limit": 25,
    "offset": 0
  },
  "meta": {
    "source": "SEC XBRL + market data",
    "api_version": "v1",
    "generated_at": "2026-06-27T15:24:00.000Z"
  }
}
```
