# Financial Datasets — Orthogonal API

> Pay-per-use API on Orthogonal. Each call is billed to your Orthogonal balance.
> Base API: `https://mono.orthogonal.com/v1/run` · [llms.txt](https://mono.orthogonal.com/llms.txt) · [browse all APIs](https://mono.orthogonal.com/catalog)

Stock market API with real-time and historical financial data for 27,000+ tickers over 30+ years. Financial statements, equity prices, insider trades, SEC filings, and more.

**Verified:** yes

## Access

**Run API:** `POST https://mono.orthogonal.com/v1/run`
**Auth:** `Authorization: Bearer $ORTHOGONAL_API_KEY`
Get an API key at https://mono.orthogonal.com/account/keys

Every call goes through the unified Run API: send the API `slug`, the endpoint `path`, and the `query`/`body` parameters. The response is `{ "success": true, "price": "<usd>", "data": { ... } }`.

## Endpoints

### Get news articles

Get recent news articles for a specific company or the broad market. Pass a ticker for company-specific news, or omit the ticker for general market news.

`GET /news`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol of the company. Omit for broad market news. |
| `limit` | integer | No | The maximum number of news articles to return (default: 5, max: 10). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/news","method":"GET","query":{"ticker":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Search financial statements

Search for stocks by filtering across financial metrics from income statements, balance sheets, and cash flow statements.

`POST /financials/search/screener`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return. |
| `filters` | array | Yes | An array of filter objects to apply to the search. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/search/screener","body":{"limit":"<integer>","filters":"<array>"}}'
```

### Search specific financial metrics

Search for specific financial metrics across income statements, balance sheets, and cash flow statements for a list of tickers.

`POST /financials/search/line-items`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `line_items` | array | Yes | An array of line items to apply to the search. |
| `tickers` | array | Yes | An array of tickers to apply to the search. |
| `period` | string | No | The time period for the financial data. |
| `limit` | integer | No | The maximum number of results to return. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/search/line-items","body":{"line_items":"<array>","tickers":"<array>","period":"<string>","limit":"<integer>"}}'
```

### Get income statement segments

Get income statement segment breakdowns (revenue, operating income, depreciation) by product and business segment.

`GET /financials/income-statements/segments`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/income-statements/segments","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get all segmented financials

Get segment breakdowns from all three financial statement types (income statement, balance sheet, cash flow) in a single API call.

`GET /financials/segments`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/segments","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Available tickers for earnings

Returns a list of available tickers for the earnings endpoint. This endpoint is free and does not require authentication.

`GET /earnings/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/earnings/tickers","method":"GET"}'
```

### Available tickers for SEC filings

Returns a list of available tickers for the filings endpoint. This endpoint is free and does not require authentication.

`GET /filings/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/filings/tickers","method":"GET"}'
```

### Available CIKs for SEC filings

Returns a list of available CIKs for the filings endpoint. This endpoint is free and does not require authentication.

`GET /filings/ciks`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/filings/ciks","method":"GET"}'
```

### Available filing item types

Returns a list of extractable item sections for 10-K, 10-Q, and 8-K filings. This endpoint is free and does not require authentication.

`GET /filings/items/types`

**Cost:** Free

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `filing_type` | string | No | Optional filter by filing type (e.g., 10-K, 10-Q). |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/filings/items/types","method":"GET","query":{"filing_type":"<string>"}}'
```

### Get cash flow statements

Get cash flow statements for a ticker.

`GET /financials/cash-flow-statements`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the cash flow statements. |
| `limit` | integer | No | The maximum number of cash flow statements to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/cash-flow-statements","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get all as-reported financials

Get the as-filed hierarchies for income statement, balance sheet, and cash flow statement in a single API call. Each period contains three nested objects; any one may be null if data is missing.

`GET /financials/as-reported`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/as-reported","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get historical stock price data

Get end-of-day (EOD) historical price data for stocks.

`GET /prices`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The stock ticker symbol (e.g. AAPL, MSFT). |
| `interval` | string | Yes | The time interval for the price data. |
| `start_date` | string | Yes | The start date for the price data (format: YYYY-MM-DD). |
| `end_date` | string | Yes | The end date for the price data (format: YYYY-MM-DD). |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/prices","method":"GET","query":{"ticker":"<string>","interval":"<string>","start_date":"<string>","end_date":"<string>","cursor":"<string>"}}'
```

### Get income statement (as-reported)

Get the as-filed income statement hierarchy. Each line item is returned exactly as it appears on the face of the 10-K or 10-Q, with parent-child relationships preserved in the `children` field.

`GET /financials/income-statements/as-reported`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/income-statements/as-reported","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get insider trades

Get insider trades like buys and sells for a ticker by a company insider.

`GET /insider-trades`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The ticker symbol of the company. |
| `limit` | integer | No | The maximum number of transactions to return (default: 10). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `name` | string | No | Filter by insider name (e.g., 'Jen Hsun Huang'). Use the /insider-trades/names endpoint to get available names for a ticker. |
| `transaction_type` | string | No | Filter by transaction type (e.g., 'Open market sale', 'Gift'). Use the /insider-trades/transaction-types endpoint to get available types. |
| `form_type` | string | No | Filter by SEC form type: 4 for trades, 5 for annual statements (or their amendments 4/A, 5/A). |
| `filing_date` | string | No | Filter by exact filing date in YYYY-MM-DD format. |
| `filing_date_gte` | string | No | Filter by filing date greater than or equal to this date (YYYY-MM-DD). |
| `filing_date_lte` | string | No | Filter by filing date less than or equal to this date (YYYY-MM-DD). |
| `filing_date_gt` | string | No | Filter by filing date greater than this date (YYYY-MM-DD). |
| `filing_date_lt` | string | No | Filter by filing date less than this date (YYYY-MM-DD). |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/insider-trades","method":"GET","query":{"ticker":"<string>","limit":"<integer>","name":"<string>","transaction_type":"<string>","form_type":"<string>","filing_date":"<string>","filing_date_gte":"<string>","filing_date_lte":"<string>","filing_date_gt":"<string>","filing_date_lt":"<string>","cursor":"<string>"}}'
```

### List tickers currently held by any 13F filer (discovery)

Returns the list of ticker symbols that appear as held securities across 13F filings. No API key required.

`GET /institutional-holdings/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/institutional-holdings/tickers","method":"GET"}'
```

### Get company facts

Get company facts for a ticker.

`GET /company/facts`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. |
| `cik` | string | No | The CIK of the company. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/company/facts","method":"GET","query":{"ticker":"<string>","cik":"<string>"}}'
```

### Get the result of an accepted filing items request

Poll the result of a filing items request that returned 202 Accepted. While the filing is being prepared this returns a processing status. When ready, it returns the same payload as GET /filings/items; you are billed once, on the first response that contains data. If the filing could not be prepared, it returns a failed status and you can re-request GET /filings/items with your original parameters.

`GET /filings/items/requests/{request_id}`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `request_id` | string | Yes | Path parameter — substitute directly into the endpoint `path`. |

```bash
# Replace {request_id} in "path" with real values before sending
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/filings/items/requests/{request_id}","method":"GET"}'
```

### List available fund tickers (discovery)

Returns the list of fund ticker symbols available in the API. No API key required.

`GET /index-funds/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/index-funds/tickers","method":"GET"}'
```

### Get earnings snapshot

Get the most recent earnings snapshot for a ticker. Optional change fields are returned only when available.

`GET /earnings`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The ticker symbol (e.g. `AAPL`). |
| `limit` | integer | No | Number of most-recent **report periods** worth of filings to return, sorted by `(report_period DESC, filing_date ASC)`. The number of entries returned may exceed `limit` when a recent period has both an 8-K and a 10-Q / 10-K. Values above 40 are clamped to 40. Non-positive or non-integer values return 400. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/earnings","method":"GET","query":{"ticker":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Price Snapshot (Real-Time)

Get the real-time price snapshot for a stock, including the current price, day change, and day change percent.

`GET /prices/snapshot`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The stock ticker symbol (e.g. AAPL, MSFT). |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/prices/snapshot","method":"GET","query":{"ticker":"<string>"}}'
```

### Available CIKs for company facts

Returns a list of available CIKs for the company facts endpoint. This endpoint is free and does not require authentication.

`GET /company/facts/ciks`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/company/facts/ciks","method":"GET"}'
```

### Available tickers for financial metrics snapshots

Returns a list of available tickers for the financial metrics snapshot endpoint. This endpoint is free and does not require authentication.

`GET /financial-metrics/snapshot/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financial-metrics/snapshot/tickers","method":"GET"}'
```

### Available SEC filing types

Returns a sorted list of valid SEC filing types (e.g., 10-K, 10-Q, 8-K). This endpoint is free and does not require authentication.

`GET /filings/types`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/filings/types","method":"GET"}'
```

### Available tickers for price history

Returns a list of available tickers for the prices endpoint. This endpoint is free and does not require authentication.

`GET /prices/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/prices/tickers","method":"GET"}'
```

### Available central banks

Returns a list of available central bank codes for the interest rates endpoints. This endpoint is free and does not require authentication.

`GET /macro/interest-rates/banks`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/interest-rates/banks","method":"GET"}'
```

### Available screener filter fields

Returns a list of available filter fields, valid values, and operators for the stock screener endpoint. This endpoint is free and does not require authentication.

`GET /financials/search/screener/filters`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/search/screener/filters","method":"GET"}'
```

### Get available KPI tickers

Returns a list of tickers that have KPI metrics available.

`GET /kpi/metrics/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/kpi/metrics/tickers","method":"GET"}'
```

### Get available KPI sectors

Returns a list of sectors that have KPI metrics available.

`GET /kpi/metrics/sectors`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/kpi/metrics/sectors","method":"GET"}'
```

### Available tickers for company facts

Returns a list of available tickers for the company facts endpoint. This endpoint is free and does not require authentication.

`GET /company/facts/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/company/facts/tickers","method":"GET"}'
```

### Available tickers for price snapshots

Returns a list of available tickers for the price snapshot endpoint. This endpoint is free and does not require authentication.

`GET /prices/snapshot/tickers`

**Cost:** Free

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/prices/snapshot/tickers","method":"GET"}'
```

### Financial Metrics Snapshot (Real-Time)

Get the real-time financial metrics snapshot for a stock, including valuation ratios, profitability, efficiency, liquidity, leverage, growth, and per share metrics.

`GET /financial-metrics/snapshot`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol of the company. |
| `cik` | string | No | The Central Index Key (CIK) of the company. Can be used instead of ticker. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financial-metrics/snapshot","method":"GET","query":{"ticker":"<string>","cik":"<string>"}}'
```

### Market Snapshot (Real-Time)

Get the real-time price snapshot for the entire market. Requires an active subscription.

`GET /prices/snapshot/market`

**Estimated cost:** $0.025

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/prices/snapshot/market","method":"GET"}'
```

### Get SEC filings

Get SEC filings for a company.

`GET /filings`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `ticker` | string | No | The ticker symbol. |
| `filing_type` | array | No | Filter by one or more filing types. Repeat the query parameter to pass multiple values (e.g. filing_type=10-Q&filing_type=10-K). |
| `limit` | integer | No | The maximum number of filings to return (default: 10). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/filings","method":"GET","query":{"cik":"<string>","ticker":"<string>","filing_type":"<array>","limit":"<integer>","cursor":"<string>"}}'
```

### Get activist stakes

Get activist stakes (SEC Schedule 13D: holders of more than 5% of a class of shares with intent to influence control), one row per reporting person. Query by ticker (who holds activist stakes in this company) or by filer_cik (what stakes does this activist hold); provide exactly one of the two. By default each stake's current state is returned; set history=true for the full amendment chain. This endpoint is the activist-only view of /beneficial-ownership.

`GET /activist-ownership`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol of the subject company. Provide ticker or filer_cik, not both. |
| `filer_cik` | string | No | The SEC CIK of the filer (the beneficial owner). Provide ticker or filer_cik, not both. Use the /activist-ownership/filers endpoint to look up CIKs by owner name. |
| `history` | boolean | No | When true, returns the full amendment history of each stake instead of only its current state. |
| `filing_date` | string | No | Filter by exact filing date in YYYY-MM-DD format. |
| `filing_date_gte` | string | No | Filter by filing date greater than or equal to this date (YYYY-MM-DD). |
| `filing_date_lte` | string | No | Filter by filing date less than or equal to this date (YYYY-MM-DD). |
| `filing_date_gt` | string | No | Filter by filing date greater than this date (YYYY-MM-DD). |
| `filing_date_lt` | string | No | Filter by filing date less than this date (YYYY-MM-DD). |
| `limit` | integer | No | The total number of rows to return (default: 10; no maximum). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/activist-ownership","method":"GET","query":{"ticker":"<string>","filer_cik":"<string>","history":"<boolean>","filing_date":"<string>","filing_date_gte":"<string>","filing_date_lte":"<string>","filing_date_gt":"<string>","filing_date_lt":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Get KPI metrics

Get sector-specific operational KPIs for a ticker. Includes metrics like load factor, CET1 ratio, same-store sales, FFO per share, and more. Sourced from SEC 8-K earnings releases.

`GET /kpi/metrics`

**Estimated cost:** $0.2

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The ticker symbol. |
| `metric_name` | string | No | Filter to a specific metric (e.g., load_factor, cet1_ratio). |
| `period` | string | No | Filter by period type: quarterly or annual. |
| `report_period_gte` | string | No | Only return metrics on or after this date (YYYY-MM-DD). |
| `report_period_lte` | string | No | Only return metrics on or before this date (YYYY-MM-DD). |
| `limit` | integer | No | Number of periods to return. Returns all metrics for the N most recent periods. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/kpi/metrics","method":"GET","query":{"ticker":"<string>","metric_name":"<string>","period":"<string>","report_period_gte":"<string>","report_period_lte":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Find an investor's CIK by name (discovery)

Returns up to 100 distinct institutional filers (CIK + name). Use the optional `name` parameter for case-insensitive prefix search. No API key required.

`GET /institutional-holdings/investors`

**Cost:** Free

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | No | Optional case-insensitive prefix to filter filer names (e.g., `BERK`). |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/institutional-holdings/investors","method":"GET","query":{"name":"<string>"}}'
```

### Get all financial statements

Get all financial statements for a ticker.

`GET /financials`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the financial statements. |
| `limit` | integer | No | The maximum number of financial statements to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get cash flow statement segments

Get cash flow statement segment breakdowns (capital expenditure) by business segment.

`GET /financials/cash-flow-statements/segments`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/cash-flow-statements/segments","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get balance sheets

Get balance sheets for a ticker.

`GET /financials/balance-sheets`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the balance sheets. |
| `limit` | integer | No | The maximum number of balance sheets to return This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/balance-sheets","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get insider ownership

Get insider ownership statements from SEC Forms 3 and 5, one row per reported holding. Positions are returned as reported per filing (point-in-time ownership statements), newest filings first. A Form 3 is an insider's initial statement of what they own; a Form 5 is the annual statement.

`GET /insider-ownership`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The ticker symbol of the company. |
| `name` | string | No | Filter by insider name (case-insensitive contains). Use the /insider-ownership/names endpoint to get available names for a ticker. |
| `form_type` | string | No | Filter by SEC form type: 3 for initial ownership statements, 5 for annual statements (or their amendments 3/A, 5/A). |
| `filing_date` | string | No | Filter by exact filing date in YYYY-MM-DD format. |
| `filing_date_gte` | string | No | Filter by filing date greater than or equal to this date (YYYY-MM-DD). |
| `filing_date_lte` | string | No | Filter by filing date less than or equal to this date (YYYY-MM-DD). |
| `filing_date_gt` | string | No | Filter by filing date greater than this date (YYYY-MM-DD). |
| `filing_date_lt` | string | No | Filter by filing date less than this date (YYYY-MM-DD). |
| `limit` | integer | No | The total number of rows to return (default: 10; no maximum). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/insider-ownership","method":"GET","query":{"ticker":"<string>","name":"<string>","form_type":"<string>","filing_date":"<string>","filing_date_gte":"<string>","filing_date_lte":"<string>","filing_date_gt":"<string>","filing_date_lt":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Get ETF / index-fund holdings

Query fund holdings in two directions. Provide exactly one of `ticker` or `holding`. `?ticker=SPY` returns a fund's constituents and each position's weight (the fund's latest filing by default, or the composition in effect on/before `as_of`). `?holding=AAPL` returns the funds whose latest filing holds that security, sorted by weight.

`GET /index-funds`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The fund's ticker symbol (e.g., `SPY`). Returns that fund's holdings. Mutually exclusive with `holding`. |
| `holding` | string | No | A held security's ticker symbol (e.g., `AAPL`). Returns the funds whose latest filing holds it. Mutually exclusive with `ticker`. |
| `as_of` | string | No | Only valid with `ticker`. Returns the fund composition in effect on or before this date (YYYY-MM-DD). Without it, the fund's latest filing is returned. |
| `asset_class` | string | No | Only valid with `ticker`. Filter constituents by instrument type: `equity` or `bond`. Omit for all holdings. |
| `limit` | integer | No | The total number of rows to return (default: 50; no maximum). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `offset` | integer | No | The number of rows to skip, for pagination (default: 0). |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/index-funds","method":"GET","query":{"ticker":"<string>","holding":"<string>","as_of":"<string>","asset_class":"<string>","limit":"<integer>","offset":"<integer>","cursor":"<string>"}}'
```

### Interest Rates (Historical)

Historical interest rates for all major central banks in the world.

`GET /macro/interest-rates`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bank` | string | Yes | The bank whose interest rates to return. Use the /macro/interest-rates/banks endpoint to get a list of available banks. |
| `start_date` | string | No | The start date of the interest rates to return in YYYY-MM-DD format. |
| `end_date` | string | No | The end date of the interest rates to return in YYYY-MM-DD format. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/interest-rates","method":"GET","query":{"bank":"<string>","start_date":"<string>","end_date":"<string>"}}'
```

### Interest Rates (Real-Time)

Get the current interest rates from all major central banks in the world.

`GET /macro/interest-rates/snapshot`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bank` | string | Yes | The central bank code (e.g., FED, ECB, BOJ). Use the /macro/interest-rates/banks endpoint to get a list of available banks. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/interest-rates/snapshot","method":"GET","query":{"bank":"<string>"}}'
```

### Get forward guidance

Get structured forward guidance from earnings releases. Returns ranges, point estimates, and directional signals.

`GET /kpi/guidance`

**Estimated cost:** $0.2

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The ticker symbol. |
| `metric_name` | string | No | Filter to a specific metric. |
| `period` | string | No | Filter by period type: quarterly or annual. |
| `report_period_gte` | string | No | Only return guidance on or after this date (YYYY-MM-DD). |
| `report_period_lte` | string | No | Only return guidance on or before this date (YYYY-MM-DD). |
| `limit` | integer | No | Number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/kpi/guidance","method":"GET","query":{"ticker":"<string>","metric_name":"<string>","period":"<string>","report_period_gte":"<string>","report_period_lte":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Get SEC filing items

Get the raw text Items from an SEC filing.

`GET /filings/items`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The ticker symbol. |
| `filing_type` | string | Yes | The type of filing. |
| `year` | integer | Yes | The year of the filing. |
| `quarter` | integer | No | The quarter of the filing if 10-Q. |
| `item` | string | No | The item to get. |
| `accession_number` | string | No | The accession number of the filing if 8-K. |
| `include_exhibits` | boolean | No | Whether to include raw text from linked exhibits. Only for 8-K filings. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/filings/items","method":"GET","query":{"ticker":"<string>","filing_type":"<string>","year":"<integer>","quarter":"<integer>","item":"<string>","accession_number":"<string>","include_exhibits":"<boolean>"}}'
```

### Get 13F institutional holdings

Query 13F institutional holdings by filer CIK or by held ticker. Provide exactly one of `filer_cik` or `ticker`. When no `report_period` filter is supplied, `?filer_cik=...` returns the filer's most recent 13F and `?ticker=...` returns one position per institutional filer whose most recent 13F currently includes the ticker (filers who have since dropped the position are excluded).

`GET /institutional-holdings`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `filer_cik` | string | No | The 10-digit zero-padded SEC CIK of the institutional filer. Mutually exclusive with `ticker`. |
| `ticker` | string | No | The held security's ticker symbol. Mutually exclusive with `filer_cik`. Without a `report_period` filter, returns one position per institutional filer whose most recent 13F currently includes this ticker. |
| `limit` | integer | No | The total number of rows to return (default: 10; no maximum). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/institutional-holdings","method":"GET","query":{"filer_cik":"<string>","ticker":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Get cash flow statement (as-reported)

Get the as-filed cash flow statement hierarchy. Each line item is returned exactly as it appears on the face of the 10-K or 10-Q, with parent-child relationships preserved in the `children` field.

`GET /financials/cash-flow-statements/as-reported`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/cash-flow-statements/as-reported","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get income statements

Get income statements for a ticker.

`GET /financials/income-statements`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the income statements. |
| `limit` | integer | No | The maximum number of income statements to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/income-statements","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get beneficial ownership

Get beneficial-ownership stakes (SEC Schedules 13D and 13G: holders of more than 5% of a class of shares), one row per reporting person. Query by ticker (who owns this company) or by filer_cik (what stakes does this filer hold); provide exactly one of the two. By default each stake's current state is returned; set history=true for the full amendment chain. Use type=activist for 13D stakes (intent to influence control) or type=passive for 13G stakes.

`GET /beneficial-ownership`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol of the subject company. Provide ticker or filer_cik, not both. |
| `filer_cik` | string | No | The SEC CIK of the filer (the beneficial owner). Provide ticker or filer_cik, not both. Use the /beneficial-ownership/filers endpoint to look up CIKs by owner name. |
| `type` | string | No | Filter by stake type: activist (Schedule 13D) or passive (Schedule 13G). |
| `history` | boolean | No | When true, returns the full amendment history of each stake instead of only its current state. |
| `filing_date` | string | No | Filter by exact filing date in YYYY-MM-DD format. |
| `filing_date_gte` | string | No | Filter by filing date greater than or equal to this date (YYYY-MM-DD). |
| `filing_date_lte` | string | No | Filter by filing date less than or equal to this date (YYYY-MM-DD). |
| `filing_date_gt` | string | No | Filter by filing date greater than this date (YYYY-MM-DD). |
| `filing_date_lt` | string | No | Filter by filing date less than this date (YYYY-MM-DD). |
| `limit` | integer | No | The total number of rows to return (default: 10; no maximum). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/beneficial-ownership","method":"GET","query":{"ticker":"<string>","filer_cik":"<string>","type":"<string>","history":"<boolean>","filing_date":"<string>","filing_date_gte":"<string>","filing_date_lte":"<string>","filing_date_gt":"<string>","filing_date_lt":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Get balance sheet segments

Get balance sheet segment breakdowns (assets, goodwill, long-lived assets) by business segment.

`GET /financials/balance-sheets/segments`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/balance-sheets/segments","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get balance sheet (as-reported)

Get the as-filed balance sheet hierarchy. Each line item is returned exactly as it appears on the face of the 10-K or 10-Q, with parent-child relationships preserved in the `children` field.

`GET /financials/balance-sheets/as-reported`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol. Required if cik is not provided. |
| `period` | string | Yes | The time period of the data. |
| `limit` | integer | No | The maximum number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cik` | string | No | The Central Index Key (CIK) of the company. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financials/balance-sheets/as-reported","method":"GET","query":{"ticker":"<string>","period":"<string>","limit":"<integer>","cik":"<string>","cursor":"<string>"}}'
```

### Get IPO filings

Get SEC registration statements (Form S-1 and S-1/A), newest filings first. Every filing is classified (ipo, shell_company, spac, resale, or other) with structured cover-page metadata: proposed ticker, exchange, and expected offering price or price range. For IPO-grade filings whose financial statements have been extracted, the item embeds full income statements, balance sheets, and cash flow statements under financials, in the same shape as the /financials endpoints. No parameters are required: by default the latest filings across all companies are returned.

`GET /ipos`

**Estimated cost:** $0.2

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | Filter by the proposed ticker symbol from the filing's cover page. |
| `cik` | string | No | Filter by the SEC Central Index Key of the filer, with or without leading zeros. |
| `classification` | string | No | Filter by filing classification: ipo (a real operating company registering to list on an exchange), shell_company, spac, resale, or other. |
| `limit` | integer | No | The total number of rows to return (default: 10; no maximum). This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/ipos","method":"GET","query":{"ticker":"<string>","cik":"<string>","classification":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Get financial metrics

Get financial metrics for a ticker, including valuation, profitability, efficiency, liquidity, leverage, growth, and per share metrics.

`GET /financial-metrics`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | No | The ticker symbol of the company. Required if cik is not provided. |
| `cik` | string | No | The Central Index Key (CIK) of the company. Can be used instead of ticker. |
| `period` | string | Yes | The time period for the financial data. |
| `limit` | integer | No | The maximum number of results to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/financial-metrics","method":"GET","query":{"ticker":"<string>","cik":"<string>","period":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Get non-GAAP metrics

Get non-GAAP financial metrics with GAAP equivalents and key adjustments.

`GET /kpi/non-gaap`

**Estimated cost:** $0.2

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `ticker` | string | Yes | The ticker symbol. |
| `metric_name` | string | No | Filter to a specific metric. |
| `period` | string | No | Filter by period type: quarterly or annual. |
| `report_period_gte` | string | No | Only return metrics on or after this date (YYYY-MM-DD). |
| `report_period_lte` | string | No | Only return metrics on or before this date (YYYY-MM-DD). |
| `limit` | integer | No | Number of periods to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`. |
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/kpi/non-gaap","method":"GET","query":{"ticker":"<string>","metric_name":"<string>","period":"<string>","report_period_gte":"<string>","report_period_lte":"<string>","limit":"<integer>","cursor":"<string>"}}'
```

### Labor Market (Historical)

US labor market history for one series: nonfarm payrolls, unemployment rate, participation, hourly earnings, JOLTS job openings, hires, quits, and weekly jobless claims, with period-over-period and year-over-year changes.

`GET /macro/labor`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `series` | string | Yes | The series id, e.g. payrolls_sa. Eight monthly concepts and one weekly concept, each seasonally adjusted (_sa) and not (_nsa). |
| `start_date` | string | No | The first period to return, inclusive, in YYYY-MM-DD format. Defaults to five years before end_date. |
| `end_date` | string | No | The last period to return, inclusive, in YYYY-MM-DD format. Defaults to today. |
| `cursor` | string | No | Opaque pagination cursor from a previous response next_page_url. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/labor","method":"GET","query":{"series":"<string>","start_date":"<string>","end_date":"<string>","cursor":"<string>"}}'
```

### Labor Market (Snapshot)

The most recent print of every labor market series (24 rows: monthly series on their latest month, weekly series on their latest week), or of one series when series is given.

`GET /macro/labor/snapshot`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `series` | string | No | Optional series id to return one row instead of all 24, e.g. unemployment_rate_sa. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/labor/snapshot","method":"GET","query":{"series":"<string>"}}'
```

### Labor Market Series (Discovery)

The labor market series ids and what they are, with each series frequency and first available date. Free; no API key required.

`GET /macro/labor/series`

**Estimated cost:** $0.01

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/labor/series","method":"GET"}'
```

### Treasury Yields (Historical)

The daily US Treasury par yield curve since 1990, one object per business day with one key per tenor (1-month to 30-year), newest first. Values are par yields in percent.

`GET /macro/yield-curve`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `start_date` | string | No | The first date to return, inclusive, in YYYY-MM-DD format. Defaults to one year before end_date. |
| `end_date` | string | No | The last date to return, inclusive, in YYYY-MM-DD format. Defaults to today. |
| `cursor` | string | No | Opaque pagination cursor from a previous response next_page_url. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/yield-curve","method":"GET","query":{"start_date":"<string>","end_date":"<string>","cursor":"<string>"}}'
```

### Treasury Yields (Snapshot)

The most recent business day US Treasury par yield curve as one object with one key per tenor. Refreshed each evening after the day final curve is published.

`GET /macro/yield-curve/snapshot`

**Estimated cost:** $0.025

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/yield-curve/snapshot","method":"GET"}'
```

### Agent Checkout Link

Mint a Stripe Checkout link that funds the account tied to the API key. Give the returned checkout_url to the account owner; they pay in the browser with no login.

`POST /agent/checkout-link`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `amount_to_add` | number | No | Dollars of credit to purchase. Optional; defaults to the $20 minimum. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/agent/checkout-link","body":{"amount_to_add":"<number>"}}'
```

### Agent Signup

Create a Financial Datasets account as an AI agent and receive an API key in one call. No authentication required. The email must be the account owners real inbox.

`POST /agent/signup`

**Estimated cost:** $0.01

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `email` | string | Yes | The account owners real inbox. Placeholder domains (example.com, test.com) are rejected. |
| `agent_name` | string | Yes | A name the account owner will recognize; it appears in the confirmation email. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/agent/signup","body":{"email":"<string>","agent_name":"<string>"}}'
```

### Inflation (Historical)

Monthly US Consumer Price Index history for one series, newest first, with month-over-month and year-over-year percent changes. Covers headline and core CPI plus food, energy, shelter, and services since 1947.

`GET /macro/inflation`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `series` | string | Yes | The series id, e.g. cpi_all_sa. Six concepts (all items, core, food, energy, shelter, services less energy), each seasonally adjusted (_sa) and not (_nsa), for 12 ids total. |
| `start_date` | string | No | The first month to return, inclusive, in YYYY-MM-DD format. Defaults to five years before end_date. |
| `end_date` | string | No | The last month to return, inclusive, in YYYY-MM-DD format. Defaults to today. |
| `cursor` | string | No | Opaque pagination cursor from a previous response next_page_url. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/inflation","method":"GET","query":{"series":"<string>","start_date":"<string>","end_date":"<string>","cursor":"<string>"}}'
```

### Inflation (Snapshot)

The most recent month of every CPI series (twelve rows), or of one series when series is given, each with the month-over-month and year-over-year percent changes.

`GET /macro/inflation/snapshot`

**Estimated cost:** $0.025

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `series` | string | No | Optional series id to return one row instead of all twelve, e.g. cpi_core_sa. |

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/inflation/snapshot","method":"GET","query":{"series":"<string>"}}'
```

### Inflation Series (Discovery)

The CPI series ids and what they are, with each series first available month. Free; no API key required.

`GET /macro/inflation/series`

**Estimated cost:** $0.01

_No parameters required._

```bash
curl -X POST 'https://mono.orthogonal.com/v1/run' \
  -H 'Authorization: Bearer $ORTHOGONAL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"api":"financial-datasets","path":"/macro/inflation/series","method":"GET"}'
```

---

Full details and an interactive quickstart: https://mono.orthogonal.com/publisher/financial-datasets
