> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API reference for Finage: every `finage.api.*` operation with input and output types.

Every `finage.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

> [!NOTE]
>
> **New to Corsair?** See [API access](https://docs.corsair.dev/concepts/api.md), [authentication](https://docs.corsair.dev/concepts/auth.md), and [error handling](https://docs.corsair.dev/concepts/error-handling).

## Market

### convertCrypto

`market.convertCrypto`

Convert an amount between two cryptocurrencies

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.convertCrypto({ from: 'BTC', to: 'ETH', amount: 1 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `amount` | `number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string \| null` | Yes | — |
| `to` | `string \| null` | Yes | — |
| `amount` | `number \| null` | Yes | — |
| `value` | `number \| null` | Yes | — |
| `timestamp` | `number \| null` | Yes | — |

***

### convertCurrency

`market.convertCurrency`

Convert an amount between two fiat currencies

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.convertCurrency({ from: 'GBP', to: 'USD', amount: 100 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `amount` | `number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string \| null` | Yes | — |
| `to` | `string \| null` | Yes | — |
| `amount` | `number \| null` | Yes | — |
| `value` | `number \| null` | Yes | — |
| `timestamp` | `number \| null` | Yes | — |

***

### getBalanceSheetStatements

`market.getBalanceSheetStatements`

Retrieve a company balance sheet

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getBalanceSheetStatements({ symbol: 'AAPL', limit: 5, period: 'annual' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `limit` | `number` | Yes | — |
| `period` | `annual \| quarter` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   date: string | null,
>   period: string | null,
>   fillingDate?: string | null,
>   filingDate?: string | null,
>   acceptedDate?: string | null,
>   link?: string | null,
>   finalLink?: string | null,
>   cashAndCashEquivalents?: number | null,
>   shortTermInvestments?: number | null,
>   cashAndShortTermInvestments?: number | null,
>   netReceivables?: number | null,
>   inventory?: number | null,
>   otherCurrentAssets?: number | null,
>   totalCurrentAssets?: number | null,
>   propertyPlantEquipmentNet?: number | null,
>   goodwill?: number | null,
>   intangibleAssets?: number | null,
>   goodwillAndIntangibleAssets?: number | null,
>   doubleTermInvestments?: number | null,
>   taxAssets?: number | null,
>   otherNonCurrentAssets?: number | null,
>   totalNonCurrentAssets?: number | null,
>   otherAssets?: number | null,
>   longTermInvestments?: number | null,
>   totalAssets?: number | null,
>   accountPayables?: number | null,
>   shortTermDebt?: number | null,
>   taxPayables?: number | null,
>   deferredRevenue?: number | null,
>   otherCurrentLiabilities?: number | null,
>   totalCurrentLiabilities?: number | null,
>   longTermDebt?: number | null,
>   doubleTermDebt?: number | null,
>   deferredRevenueNonCurrent?: number | null,
>   deferredTaxLiabilitiesNonCurrent?: number | null,
>   otherNonCurrentLiabilities?: number | null,
>   totalNonCurrentLiabilities?: number | null,
>   otherLiabilities?: number | null,
>   totalLiabilities?: number | null,
>   commonStock?: number | null,
>   retainedEarnings?: number | null,
>   accumulatedOtherComprehensiveIncomeLoss?: number | null,
>   othertotalStockholdersEquity?: number | null,
>   totalStockholdersEquity?: number | null,
>   totalLiabilitiesAndStockholdersEquity?: number | null,
>   totalInvestments?: number | null,
>   totalDebt?: number | null,
>   netDebt?: number | null
> }[]
> ```

***

### getBondsRate

`market.getBondsRate`

Retrieve the latest US bond rate for a symbol

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getBondsRate({ symbol: 'DGS1' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `value` | `number \| null` | Yes | — |
| `date` | `string \| null` | Yes | — |

***

### getCanadaMarketAggregates

`market.getCanadaMarketAggregates`

Retrieve Canadian stock aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCanadaMarketAggregates({ symbol: 'BB', time: '1day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `time` | `1min \| 5min \| 15min \| 30min \| 45min \| 1h \| 2h \| 4h \| 1day \| 1week \| 1month` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `date_format` | `dt \| ts` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getCanadaMarketLastPrice

`market.getCanadaMarketLastPrice`

Retrieve the latest Canadian stock price

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCanadaMarketLastPrice({ symbol: 'TBP' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `timestamp` | `number \| null \| string \| null` | Yes | — |

***

### getCashFlowStatements

`market.getCashFlowStatements`

Retrieve a company cash flow statement

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCashFlowStatements({ symbol: 'AAPL', limit: 5, period: 'annual' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `period` | `annual \| quarter` | No | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   date: string | null,
>   period: string | null,
>   fillingDate?: string | null,
>   filingDate?: string | null,
>   acceptedDate?: string | null,
>   link?: string | null,
>   finalLink?: string | null,
>   netIncome?: number | null,
>   depreciationAndAmortization?: number | null,
>   deferredIncomeTax?: number | null,
>   stockBasedCompensation?: number | null,
>   changeInWorkingCapital?: number | null,
>   accountsReceivables?: number | null,
>   inventory?: number | null,
>   accountsPayables?: number | null,
>   otherWorkingCapital?: number | null,
>   otherNonCashItems?: number | null,
>   netCashProvidedByOperatingActivities?: number | null,
>   investmentsInPropertyPlantAndEquipment?: number | null,
>   acquisitionsNet?: number | null,
>   purchasesOfInvestments?: number | null,
>   salesMaturitiesOfInvestments?: number | null,
>   otherInvestingActivites?: number | null,
>   netCashUsedForInvestingActivites?: number | null,
>   debtRepayment?: number | null,
>   commonStockIssued?: number | null,
>   commonStockRepurchased?: number | null,
>   dividendsPaid?: number | null,
>   otherFinancingActivites?: number | null,
>   netCashUsedProvidedByFinancingActivities?: number | null,
>   effectOfForexChangesOnCash?: number | null,
>   netChangeInCash?: number | null,
>   cashAtEndOfPeriod?: number | null,
>   cashAtBeginningOfPeriod?: number | null,
>   operatingCashFlow?: number | null,
>   capitalExpenditure?: number | null,
>   freeCashFlow?: number | null
> }[]
> ```

***

### getCfdEtfLastPrice

`market.getCfdEtfLastPrice`

Retrieve the latest ETF price

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCfdEtfLastPrice({ symbol: 'QQQ' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `timestamp` | `number \| null \| string \| null` | Yes | — |

***

### getCfdEtfMarketAggregates

`market.getCfdEtfMarketAggregates`

Retrieve historical ETF aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCfdEtfMarketAggregates({ symbol: 'QQQ', time: '1day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `time` | `1min \| 5min \| 15min \| 30min \| 45min \| 1h \| 2h \| 4h \| 1day \| 1week \| 1month` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `date_format` | `dt \| ts` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getCfdEtfPreviousClose

`market.getCfdEtfPreviousClose`

Retrieve the previous ETF close

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCfdEtfPreviousClose({ symbol: 'QQQ' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getCfdIndexLastPrice

`market.getCfdIndexLastPrice`

Retrieve the latest index price

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCfdIndexLastPrice({ symbol: 'US2000' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `timestamp` | `number \| null \| string \| null` | Yes | — |

***

### getCfdIndexMarketAggregates

`market.getCfdIndexMarketAggregates`

Retrieve historical index aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCfdIndexMarketAggregates({ symbol: 'US2000', time: '1day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `time` | `1min \| 5min \| 15min \| 30min \| 45min \| 1h \| 2h \| 4h \| 1day \| 1week \| 1month` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `date_format` | `dt \| ts` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getCfdIndexPreviousClose

`market.getCfdIndexPreviousClose`

Retrieve the previous index close

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCfdIndexPreviousClose({ symbol: 'US2000' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getCountryDetail

`market.getCountryDetail`

Retrieve country details used in market data

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCountryDetail({ country: 'gb' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `country` | `string` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   country: string | null,
>   country_code: string | null,
>   currency: string | null,
>   currency_code: string | null,
>   phone_code: string | null,
>   country_flag: string | null
> } | {
>   country: string | null,
>   country_code: string | null,
>   currency: string | null,
>   currency_code: string | null,
>   phone_code: string | null,
>   country_flag: string | null
> }[]
> ```

***

### getCryptoAggregates

`market.getCryptoAggregates`

Retrieve historical cryptocurrency aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoAggregates({ symbol: 'BTCUSD', multiply: 1, time: 'day', from: '2025-01-01', to: '2025-02-01', limit: 100, sort: 'desc' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `multiply` | `number` | Yes | — |
| `time` | `minute \| hour \| day \| week \| month \| quarter \| year` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null,
>   h: number | null,
>   l: number | null,
>   c: number | null,
>   v?: number | null,
>   t: number | null | string
> }[] | null
> ```

***

### getCryptoDetail

`market.getCryptoDetail`

Retrieve fundamental details for a cryptocurrency

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoDetail({ symbol: 'bitcoin' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string \| null` | Yes | — |
| `symbol` | `string \| null` | Yes | — |
| `type` | `string \| null` | Yes | — |
| `isActive` | `boolean \| null` | No | — |
| `is_active` | `boolean \| string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `developers` | `object[] \| null` | No | — |
| `opensource` | `boolean \| null` | No | — |
| `startedAt` | `string \| null` | No | — |
| `hashAlgorithm` | `string \| null` | No | — |
| `links` | `object \| null` | No | — |
| `thumbnail` | `string \| null` | No | — |
| `developmentStatus` | `string \| null` | No | — |
| `hardwareWallet` | `boolean \| null` | No | — |
| `open_source` | `boolean \| null` | No | — |
| `started_at` | `string \| null` | No | — |
| `hash_algorithm` | `string \| null` | No | — |
| `development_status` | `string \| null` | No | — |
| `hardware_wallet` | `boolean \| null` | No | — |

> [accordion] developers full type
>
> ```ts theme={null}
> {
>   name: string | null,
>   position: string | null
> }[] | null
> ```

> [accordion] links full type
>
> ```ts theme={null}
> {
>   explorer?: (string | null)[] | null,
>   facebook?: (string | null)[] | null,
>   reddit?: (string | null)[] | null,
>   source_code?: (string | null)[] | null,
>   website?: (string | null)[] | null,
>   youtube?: (string | null)[] | null
> } | null
> ```

***

### getCryptoDetailed

`market.getCryptoDetailed`

Retrieve detailed data for the latest cryptocurrency market state

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoDetailed({ symbol: 'BTCUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   name: string | null,
>   price: number | null,
>   changesPercentage: number | null,
>   change: number | null,
>   high: number | null,
>   open: number | null,
>   low: number | null,
>   close: number | null,
>   yearHigh: number | null,
>   yearLow: number | null,
>   marketCap: number | null,
>   priceAvg50: number | null,
>   priceAvg200: number | null,
>   volume: number | null,
>   avgVolume: number | null,
>   exchange: string | null,
>   sharesOutstanding: number | null,
>   timestamp: number | null
> } | {
>   symbol: string | null,
>   name: string | null,
>   price: number | null,
>   changesPercentage: number | null,
>   change: number | null,
>   high: number | null,
>   open: number | null,
>   low: number | null,
>   close: number | null,
>   yearHigh: number | null,
>   yearLow: number | null,
>   marketCap: number | null,
>   priceAvg50: number | null,
>   priceAvg200: number | null,
>   volume: number | null,
>   avgVolume: number | null,
>   exchange: string | null,
>   sharesOutstanding: number | null,
>   timestamp: number | null
> }[]
> ```

***

### getCryptoLastQuote

`market.getCryptoLastQuote`

Retrieve the latest cryptocurrency quote

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoLastQuote({ symbol: 'BTCUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `ask` | `number \| null` | Yes | — |
| `bid` | `number \| null` | Yes | — |
| `asize` | `number \| null` | No | — |
| `bsize` | `number \| null` | No | — |
| `timestamp` | `number \| null` | Yes | — |

***

### getCryptoLastTrade

`market.getCryptoLastTrade`

Retrieve the latest cryptocurrency trade

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoLastTrade({ symbol: 'BTCUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `size` | `number \| null` | No | — |
| `timestamp` | `number \| null` | Yes | — |

***

### getCryptoNews

`market.getCryptoNews`

Retrieve news for a cryptocurrency

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoNews({ symbol: 'BTC', limit: 10 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `limit` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ticker` | `string \| null` | Yes | — |
| `limit` | `number \| null` | Yes | — |
| `news` | `object[] \| null` | Yes | — |

> [accordion] news full type
>
> ```ts theme={null}
> {
>   source: string | null,
>   title: string | null,
>   description: string | null,
>   url: string | null,
>   date: string | null
> }[] | null
> ```

***

### getCryptoPreviousClose

`market.getCryptoPreviousClose`

Retrieve the previous cryptocurrency close

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoPreviousClose({ symbol: 'BTCUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null,
>   h: number | null,
>   l: number | null,
>   c: number | null,
>   v?: number | null,
>   t: number | null | string
> }[] | null
> ```

***

### getCryptoSnapshot

`market.getCryptoSnapshot`

Retrieve a snapshot of cryptocurrency market data

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCryptoSnapshot({ quotes: true, trades: true, symbols: 'BTCUSD,ETHUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `quotes` | `boolean` | Yes | — |
| `trades` | `boolean` | Yes | — |
| `symbols` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `totalResults` | `number \| null` | No | — |
| `lastQuotes` | `object[] \| null` | No | — |
| `lastTrades` | `object[] \| null` | No | — |

> [accordion] lastQuotes full type
>
> ```ts theme={null}
> {
>   s?: string | null,
>   symbol?: string | null,
>   a?: number | null,
>   b?: number | null,
>   asz?: number | null,
>   bsz?: number | null,
>   t?: number | null
> }[] | null
> ```

> [accordion] lastTrades full type
>
> ```ts theme={null}
> {
>   s?: string | null,
>   symbol?: string | null,
>   p?: number | null,
>   price?: number | null,
>   sz?: number | null,
>   t?: number | null
> }[] | null
> ```

***

### getCurrencyDetail

`market.getCurrencyDetail`

Retrieve fundamental details for a currency

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getCurrencyDetail({ symbol: 'GBPUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   from: string | null,
>   to: string | null,
>   from_flag: string | null,
>   to_flag: string | null
> } | {
>   symbol: string | null,
>   from: string | null,
>   to: string | null,
>   from_flag: string | null,
>   to_flag: string | null
> }[]
> ```

***

### getDelistedCompanies

`market.getDelistedCompanies`

List delisted companies

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getDelistedCompanies({ limit: 100 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `limit` | `number` | No | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   company_name?: string | null,
>   exchange?: string | null,
>   ipo_date?: string | null,
>   delisted_date?: string | null
> }[]
> ```

***

### getDividendsCalendar

`market.getDividendsCalendar`

Retrieve the dividend calendar

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getDividendsCalendar({ from: '2025-01-01', to: '2025-12-31' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   label?: string | null,
>   adj_dividend?: number | null,
>   date: string | null
> }[]
> ```

***

### getEarningsCalendar

`market.getEarningsCalendar`

Retrieve the earnings calendar

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getEarningsCalendar({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   eps?: number | null,
>   estimated_eps?: number | null,
>   revenue?: number | null,
>   estimated_revenue?: number | null,
>   time?: string | null,
>   date: string | null
> }[]
> ```

***

### getEconomicCalendar

`market.getEconomicCalendar`

Retrieve the economic calendar

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getEconomicCalendar({ from: '2025-01-01', to: '2025-12-31' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   event: string | null,
>   date: string | null,
>   country?: string | null,
>   countryFlag?: string | null,
>   actual?: number | null,
>   previous?: number | null,
>   change?: number | null,
>   changePercentage?: number | null,
>   estimate?: number | null
> }[]
> ```

***

### getFinancialRatios

`market.getFinancialRatios`

Retrieve a company financial ratios

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getFinancialRatios({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   date: string | null,
>   fiscalYear: string | null,
>   period: string | null,
>   reportedCurrency: string | null,
>   grossProfitMargin?: number | null,
>   ebitMargin?: number | null,
>   ebitdaMargin?: number | null,
>   operatingProfitMargin?: number | null,
>   pretaxProfitMargin?: number | null,
>   continuousOperationsProfitMargin?: number | null,
>   netProfitMargin?: number | null,
>   bottomLineProfitMargin?: number | null,
>   receivablesTurnover?: number | null,
>   payablesTurnover?: number | null,
>   inventoryTurnover?: number | null,
>   fixedAssetTurnover?: number | null,
>   assetTurnover?: number | null,
>   currentRatio?: number | null,
>   quickRatio?: number | null,
>   solvencyRatio?: number | null,
>   cashRatio?: number | null,
>   priceToEarningsRatio?: number | null,
>   priceToEarningsGrowthRatio?: number | null,
>   forwardPriceToEarningsGrowthRatio?: number | null,
>   priceToBookRatio?: number | null,
>   priceToSalesRatio?: number | null,
>   priceToFreeCashFlowRatio?: number | null,
>   priceToOperatingCashFlowRatio?: number | null,
>   debtToAssetsRatio?: number | null,
>   debtToEquityRatio?: number | null,
>   debtToCapitalRatio?: number | null,
>   longTermDebtToCapitalRatio?: number | null,
>   financialLeverageRatio?: number | null,
>   workingCapitalTurnoverRatio?: number | null,
>   operatingCashFlowRatio?: number | null,
>   operatingCashFlowSalesRatio?: number | null,
>   freeCashFlowOperatingCashFlowRatio?: number | null,
>   debtServiceCoverageRatio?: number | null,
>   interestCoverageRatio?: number | null,
>   shortTermOperatingCashFlowCoverageRatio?: number | null,
>   operatingCashFlowCoverageRatio?: number | null,
>   capitalExpenditureCoverageRatio?: number | null,
>   dividendPaidAndCapexCoverageRatio?: number | null,
>   dividendPayoutRatio?: number | null,
>   dividendYield?: number | null,
>   dividendYieldPercentage?: number | null,
>   revenuePerShare?: number | null,
>   netIncomePerShare?: number | null,
>   interestDebtPerShare?: number | null,
>   cashPerShare?: number | null,
>   bookValuePerShare?: number | null,
>   tangibleBookValuePerShare?: number | null,
>   shareholdersEquityPerShare?: number | null,
>   operatingCashFlowPerShare?: number | null,
>   capexPerShare?: number | null,
>   freeCashFlowPerShare?: number | null,
>   netIncomePerEBT?: number | null,
>   ebtPerEbit?: number | null,
>   priceToFairValue?: number | null,
>   debtToMarketCap?: number | null,
>   effectiveTaxRate?: number | null,
>   enterpriseValueMultiple?: number | null
> }[]
> ```

***

### getForexLastQuote

`market.getForexLastQuote`

Retrieve the latest forex quote

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getForexLastQuote({ symbol: 'GBPUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `ask` | `number \| null` | Yes | — |
| `bid` | `number \| null` | Yes | — |
| `asize` | `number \| null` | No | — |
| `bsize` | `number \| null` | No | — |
| `timestamp` | `number \| null` | Yes | — |

***

### getForexLastTrade

`market.getForexLastTrade`

Retrieve the latest forex trade

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getForexLastTrade({ symbol: 'GBPUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `size` | `number \| null` | No | — |
| `timestamp` | `number \| null` | Yes | — |

***

### getForexMarketAggregates

`market.getForexMarketAggregates`

Retrieve historical forex aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getForexMarketAggregates({ symbol: 'GBPUSD', multiply: 1, time: 'day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `multiply` | `number` | Yes | — |
| `time` | `minute \| hour \| day \| week \| month \| quarter \| year` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |
| `date_format` | `dt \| ts` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null,
>   h: number | null,
>   l: number | null,
>   c: number | null,
>   v?: number | null,
>   t: number | null | string
> }[] | null
> ```

***

### getForexNews

`market.getForexNews`

Retrieve news for a forex pair

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getForexNews({ symbol: 'GBP', limit: 10 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `limit` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ticker` | `string \| null` | Yes | — |
| `limit` | `number \| null` | Yes | — |
| `news` | `object[] \| null` | Yes | — |

> [accordion] news full type
>
> ```ts theme={null}
> {
>   source: string | null,
>   title: string | null,
>   description: string | null,
>   url: string | null,
>   date: string | null
> }[] | null
> ```

***

### getForexPreviousClose

`market.getForexPreviousClose`

Retrieve the previous forex close

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getForexPreviousClose({ symbol: 'GBPUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null,
>   h: number | null,
>   l: number | null,
>   c: number | null,
>   v?: number | null,
>   t: number | null | string
> }[] | null
> ```

***

### getForexSignal

`market.getForexSignal`

Retrieve a forex technical signal

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getForexSignal({ interval: 'daily', symbol: 'EURUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `interval` | `daily \| weekly` | Yes | — |
| `symbol` | `string` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   timestamp: string | null,
>   symbol: string | null,
>   signal: string | null,
>   confidence: number | null,
>   indicators: {
>     sma_20: number | null,
>     sma_50: number | null,
>     rsi: number | null,
>     macd: number | null,
>     macd_signal: number | null,
>     macd_diff: number | null,
>     bollinger_high: number | null,
>     bollinger_low: number | null,
>     ma_crossover: boolean | null,
>     macd_cross: boolean | null
>   },
>   price: number | null
> } | {
>   timestamp: string | null,
>   symbol: string | null,
>   signal: string | null,
>   confidence: number | null,
>   indicators: {
>     sma_20: number | null,
>     sma_50: number | null,
>     rsi: number | null,
>     macd: number | null,
>     macd_signal: number | null,
>     macd_diff: number | null,
>     bollinger_high: number | null,
>     bollinger_low: number | null,
>     ma_crossover: boolean | null,
>     macd_cross: boolean | null
>   },
>   price: number | null
> }[]
> ```

***

### getForexSnapshot

`market.getForexSnapshot`

Retrieve a snapshot of forex market data

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getForexSnapshot({ quotes: true, trades: true, symbols: 'EURUSD,GBPUSD' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `quotes` | `boolean` | Yes | — |
| `trades` | `boolean` | Yes | — |
| `symbols` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `totalResults` | `number \| null` | No | — |
| `lastQuotes` | `object[] \| null` | No | — |
| `lastTrades` | `object[] \| null` | No | — |

> [accordion] lastQuotes full type
>
> ```ts theme={null}
> {
>   s?: string | null,
>   symbol?: string | null,
>   a?: number | null,
>   b?: number | null,
>   asz?: number | null,
>   bsz?: number | null,
>   t?: number | null
> }[] | null
> ```

> [accordion] lastTrades full type
>
> ```ts theme={null}
> {
>   s?: string | null,
>   symbol?: string | null,
>   p?: number | null,
>   price?: number | null,
>   sz?: number | null,
>   t?: number | null
> }[] | null
> ```

***

### getHistoricalDividendsCalendar

`market.getHistoricalDividendsCalendar`

Retrieve a company dividend history

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getHistoricalDividendsCalendar({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   label?: string | null,
>   adj_dividend?: number | null,
>   dividend?: number | null,
>   record_date?: string | null,
>   payment_date?: string | null,
>   declaration_date?: string | null,
>   date: string | null
> }[]
> ```

***

### getHistoricalStockSplitCalendar

`market.getHistoricalStockSplitCalendar`

Retrieve a company stock split history

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getHistoricalStockSplitCalendar({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   numerator_factor?: number | null,
>   denominator_factor?: number | null,
>   label?: string | null,
>   date: string | null
> }[]
> ```

***

### getIncomeStatements

`market.getIncomeStatements`

Retrieve company income statements and international filings

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getIncomeStatements({ symbol: 'AAPL', exchange_code: 'TO', limit: 5, period: 'annual' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `limit` | `number` | Yes | — |
| `period` | `annual \| quarter` | Yes | — |
| `exchange_code` | `string` | No | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   date: string | null,
>   period: string | null,
>   fillingDate?: string | null,
>   filingDate?: string | null,
>   acceptedDate?: string | null,
>   link?: string | null,
>   finalLink?: string | null,
>   revenue?: number | null,
>   costOfRevenue?: number | null,
>   grossProfit?: number | null,
>   grossProfitRatio?: number | null,
>   researchAndDevelopmentExpenses?: number | null,
>   generalAndAdministrativeExpenses?: number | null,
>   sellingAndMarketingExpenses?: number | null,
>   otherExpenses?: number | null,
>   operatingExpenses?: number | null,
>   costAndExpenses?: number | null,
>   interestExpense?: number | null,
>   depreciationAndAmortization?: number | null,
>   ebitda?: number | null,
>   ebitdaratio?: number | null,
>   ebitdaRatio?: number | null,
>   operatingIncome?: number | null,
>   operatingIncomeRatio?: number | null,
>   totalOtherIncomeExpensesNet?: number | null,
>   incomeBeforeTax?: number | null,
>   incomeBeforeTaxRatio?: number | null,
>   incomeTaxExpense?: number | null,
>   netIncome?: number | null,
>   netIncomeRatio?: number | null,
>   eps?: number | null,
>   epsdiluted?: number | null,
>   epsDiluted?: number | null,
>   weightedAverageShsOut?: number | null,
>   weightedAverageShsOutDil?: number | null
> }[]
> ```

***

### getIndianMarketAggregates

`market.getIndianMarketAggregates`

Retrieve Indian stock aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getIndianMarketAggregates({ symbol: 'IDEA', time: '1day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `time` | `1min \| 5min \| 15min \| 30min \| 45min \| 1h \| 2h \| 4h \| 1day \| 1week \| 1month` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `date_format` | `dt \| ts` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getIndianMarketLastPrice

`market.getIndianMarketLastPrice`

Retrieve the latest Indian stock price

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getIndianMarketLastPrice({ symbol: 'TATAPOWER' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `timestamp` | `number \| null \| string \| null` | Yes | — |

***

### getInstitutionalHolders

`market.getInstitutionalHolders`

List institutional holders for a company

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getInstitutionalHolders({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   holder: string | null,
>   shares?: number | null,
>   change?: number | null,
>   report_date?: string | null
> }[]
> ```

***

### getIpoCalendar

`market.getIpoCalendar`

Retrieve the IPO calendar

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getIpoCalendar({ from: '2025-01-01', to: '2025-12-31' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   date: string | null,
>   exchange?: string | null,
>   status?: string | null,
>   shares?: number | null,
>   price_range?: string | null,
>   market_cap?: number | null,
>   company?: string | null
> }[]
> ```

***

### getMostActiveStocks

`market.getMostActiveStocks`

List the most active US stocks

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getMostActiveStocks({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   price: string | null,
>   change: number | null,
>   change_percentage: string | null,
>   company_name: string | null
> }[]
> ```

***

### getMutualFundHolders

`market.getMutualFundHolders`

List mutual fund holders for a company

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getMutualFundHolders({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   holder: string | null,
>   shares?: number | null,
>   change?: number | null,
>   report_date?: string | null,
>   weight_percentage?: number | null
> }[]
> ```

***

### getRussianMarketAggregates

`market.getRussianMarketAggregates`

Retrieve Russian stock aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getRussianMarketAggregates({ symbol: 'AFKS', time: '1day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `time` | `1min \| 5min \| 15min \| 30min \| 45min \| 1h \| 2h \| 4h \| 1day \| 1week \| 1month` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `date_format` | `dt \| ts` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getRussianMarketLastPrice

`market.getRussianMarketLastPrice`

Retrieve the latest Russian stock price

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getRussianMarketLastPrice({ symbol: 'AFKS' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `timestamp` | `number \| null \| string \| null` | Yes | — |

***

### getSecRssFeed

`market.getSecRssFeed`

Retrieve the SEC funds RSS feed

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getSecRssFeed({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   title: string | null,
>   date: string | null,
>   link: string | null,
>   cik: string | null,
>   form_type: string | null,
>   ticker: string | null
> }[]
> ```

***

### getSectorPerformance

`market.getSectorPerformance`

Retrieve US stock sector performance

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getSectorPerformance({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   sector: string | null,
>   change_percentage: string | null
> }[]
> ```

***

### getSharesFloat

`market.getSharesFloat`

Retrieve public float and outstanding shares

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getSharesFloat({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   public_float?: number | null,
>   stock_float?: number | null,
>   outstanding_shares?: number | null,
>   date?: string | null
> }[]
> ```

***

### getStockCompanyDetails

`market.getStockCompanyDetails`

Retrieve company fundamentals for a stock

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockCompanyDetails({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   logo?: string | null,
>   name: string | null,
>   url?: string | null,
>   description?: string | null,
>   exchange?: string | null,
>   ceo?: string | null,
>   industry?: string | null,
>   state?: string | null,
>   address?: string | null,
>   employees?: number | null,
>   sector?: string | null,
>   marketcap?: number | null
> } | {
>   symbol: string | null,
>   logo?: string | null,
>   name: string | null,
>   url?: string | null,
>   description?: string | null,
>   exchange?: string | null,
>   ceo?: string | null,
>   industry?: string | null,
>   state?: string | null,
>   address?: string | null,
>   employees?: number | null,
>   sector?: string | null,
>   marketcap?: number | null
> }[]
> ```

***

### getStockLastQuote

`market.getStockLastQuote`

Retrieve the latest stock quote

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockLastQuote({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `ask` | `number \| null` | Yes | — |
| `bid` | `number \| null` | Yes | — |
| `asize` | `number \| null` | No | — |
| `bsize` | `number \| null` | No | — |
| `timestamp` | `number \| null` | Yes | — |

***

### getStockLastTrade

`market.getStockLastTrade`

Retrieve the latest stock trade

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockLastTrade({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `size` | `number \| null` | No | — |
| `timestamp` | `number \| null` | Yes | — |

***

### getStockMarketAggregates

`market.getStockMarketAggregates`

Retrieve stock market aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockMarketAggregates({ symbol: 'AAPL', multiply: 1, time: 'day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `multiply` | `number` | Yes | — |
| `time` | `minute \| hour \| day \| week \| month \| quarter \| year` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |
| `date_format` | `dt \| ts` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null,
>   h: number | null,
>   l: number | null,
>   c: number | null,
>   v?: number | null,
>   t: number | null | string
> }[] | null
> ```

***

### getStockMarketNews

`market.getStockMarketNews`

Retrieve market news for a stock

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockMarketNews({ symbol: 'AAPL', limit: 10 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `limit` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ticker` | `string \| null` | Yes | — |
| `limit` | `number \| null` | Yes | — |
| `news` | `object[] \| null` | Yes | — |

> [accordion] news full type
>
> ```ts theme={null}
> {
>   source: string | null,
>   title: string | null,
>   description: string | null,
>   url: string | null,
>   date: string | null
> }[] | null
> ```

***

### getStockMarketStatus

`market.getStockMarketStatus`

Retrieve current market status and schedules

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockMarketStatus({
	country: 'US',
	currencies: true,
	holidays: true,
	trading_hours: true,
	extended_hours: true,
});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `country` | `string` | No | — |
| `currencies` | `boolean` | No | — |
| `holidays` | `boolean` | No | — |
| `trading_hours` | `boolean` | No | — |
| `extended_hours` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `market` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `exchanges` | `Record<string, JsonValue>` | No | — |
| `currencies` | `Record<string, JsonValue>` | No | — |

***

### getStockPreviousClose

`market.getStockPreviousClose`

Retrieve the previous stock close

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockPreviousClose({ symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null,
>   h: number | null,
>   l: number | null,
>   c: number | null,
>   v?: number | null,
>   t: number | null | string
> }[] | null
> ```

***

### getStockSnapshot

`market.getStockSnapshot`

Retrieve a snapshot of stock market data

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockSnapshot({ quotes: true, trades: true, symbols: 'AAPL,MSFT' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `quotes` | `boolean` | Yes | — |
| `trades` | `boolean` | Yes | — |
| `symbols` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `totalResults` | `number \| null` | No | — |
| `lastQuotes` | `object[] \| null` | No | — |
| `lastTrades` | `object[] \| null` | No | — |

> [accordion] lastQuotes full type
>
> ```ts theme={null}
> {
>   s?: string | null,
>   symbol?: string | null,
>   a?: number | null,
>   b?: number | null,
>   asz?: number | null,
>   bsz?: number | null,
>   t?: number | null
> }[] | null
> ```

> [accordion] lastTrades full type
>
> ```ts theme={null}
> {
>   s?: string | null,
>   symbol?: string | null,
>   p?: number | null,
>   price?: number | null,
>   sz?: number | null,
>   t?: number | null
> }[] | null
> ```

***

### getStockSplitCalendar

`market.getStockSplitCalendar`

Retrieve the stock split calendar

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getStockSplitCalendar({ from: '2025-01-01', to: '2025-12-31' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   numerator_factor?: number | null,
>   denominator_factor?: number | null,
>   label?: string | null,
>   date: string | null
> }[]
> ```

***

### getTechnicalIndicators

`market.getTechnicalIndicators`

Calculate a technical indicator for a market symbol

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getTechnicalIndicators({ symbol: 'AAPL', type: 'SMA', time: 'daily', period: 14 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `type` | `DEMA \| EMA \| SMA \| WMA \| RSI \| TEMA \| Williams \| ADX` | Yes | — |
| `time` | `daily \| 1min \| 5min \| 15min \| 30min \| 1hour \| 4hour` | Yes | — |
| `period` | `number` | No | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   type: string | null,
>   date: string | null,
>   open: string | null,
>   high: string | null,
>   low: string | null,
>   close: string | null,
>   volume: string | null,
>   value: string | null
> }[]
> ```

***

### getTopGainers

`market.getTopGainers`

List the top gaining US stocks

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getTopGainers({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   price: string | null,
>   change: string | null,
>   change_percentage: string | null,
>   company_name: string | null
> }[]
> ```

***

### getTopLosers

`market.getTopLosers`

List the top losing US stocks

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getTopLosers({});
```

**Input:** *empty object*

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   price: string | null,
>   change: string | null,
>   change_percentage: string | null,
>   company_name: string | null
> }[]
> ```

***

### getUkMarketAggregates

`market.getUkMarketAggregates`

Retrieve UK stock aggregates

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getUkMarketAggregates({ symbol: 'BP', time: '1day', from: '2025-01-01', to: '2025-02-01' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |
| `time` | `1min \| 5min \| 15min \| 30min \| 45min \| 1h \| 2h \| 4h \| 1day \| 1week \| 1month` | Yes | — |
| `from` | `string` | Yes | — |
| `to` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `sort` | `asc \| desc` | No | — |
| `date_format` | `dt \| ts` | No | — |
| `dbt_filter` | `boolean` | No | — |
| `st` | `string` | No | — |
| `et` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `totalResults` | `number \| null` | Yes | — |
| `results` | `object[] \| null` | Yes | — |

> [accordion] results full type
>
> ```ts theme={null}
> {
>   o: number | null | string | null,
>   h: number | null | string | null,
>   l: number | null | string | null,
>   c: number | null | string | null,
>   v?: number | null | string | null,
>   t: number | null | string | null
> }[] | null
> ```

***

### getUkMarketLastPrice

`market.getUkMarketLastPrice`

Retrieve the latest UK stock price

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getUkMarketLastPrice({ symbol: 'BP' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `symbol` | `string \| null` | Yes | — |
| `price` | `number \| null` | Yes | — |
| `timestamp` | `number \| null \| string \| null` | Yes | — |

***

### getUsStocksSignal

`market.getUsStocksSignal`

Retrieve a US stock technical signal

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.getUsStocksSignal({ interval: 'daily', symbol: 'AAPL' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `interval` | `daily \| weekly` | Yes | — |
| `symbol` | `string` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   timestamp: string | null,
>   symbol: string | null,
>   signal: string | null,
>   confidence: number | null,
>   indicators: {
>     sma_20: number | null,
>     sma_50: number | null,
>     rsi: number | null,
>     macd: number | null,
>     macd_signal: number | null,
>     macd_diff: number | null,
>     bollinger_high: number | null,
>     bollinger_low: number | null,
>     ma_crossover: boolean | null,
>     macd_cross: boolean | null
>   },
>   price: number | null
> } | {
>   timestamp: string | null,
>   symbol: string | null,
>   signal: string | null,
>   confidence: number | null,
>   indicators: {
>     sma_20: number | null,
>     sma_50: number | null,
>     rsi: number | null,
>     macd: number | null,
>     macd_signal: number | null,
>     macd_diff: number | null,
>     bollinger_high: number | null,
>     bollinger_low: number | null,
>     ma_crossover: boolean | null,
>     macd_cross: boolean | null
>   },
>   price: number | null
> }[]
> ```

***

### listCryptocurrencies

`market.listCryptocurrencies`

List supported cryptocurrencies

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.listCryptocurrencies({ limit: 10, page: 1, sort: 'ASC' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `limit` | `number` | No | — |
| `page` | `number` | No | — |
| `sort` | `ASC \| DESC` | No | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   totalResults?: number | null,
>   total_results?: number | null,
>   results: {
>     symbol: string | null,
>     name: string | null,
>     thumbnail: string | null,
>     market_cap: number | null,
>     ath: number | null,
>     ath_date: string | null,
>     order: number | null
>   }[] | null
> } | {
>   totalResults?: number | null,
>   total_results?: number | null,
>   results: {
>     symbol: string | null,
>     name: string | null,
>     thumbnail: string | null,
>     market_cap: number | null,
>     ath: number | null,
>     ath_date: string | null,
>     order: number | null
>   }[] | null
> }[]
> ```

***

### listSymbols

`market.listSymbols`

List symbols for a supported market

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.listSymbols({ market: 'forex', page: 1, search: 'GBP' });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `market` | `us-stock \| ca-stock \| in-stock \| ru-stock \| forex \| crypto \| index` | Yes | — |
| `page` | `number` | No | — |
| `search` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `page` | `number \| null` | No | — |
| `symbols` | `object[] \| null` | Yes | — |

> [accordion] symbols full type
>
> ```ts theme={null}
> {
>   symbol: string | null,
>   name: string | null
> }[] | null
> ```

***

### searchCountry

`market.searchCountry`

Search countries by name or code

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.searchCountry({ query: 'gbp', limit: 5 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `limit` | `number` | No | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   key: string | null,
>   limit: number | null,
>   results: {
>     country: string | null,
>     country_code: string | null,
>     currency: string | null,
>     currency_code: string | null,
>     phone_code: string | null,
>     country_flag: string | null
>   }[] | null
> } | {
>   key: string | null,
>   limit: number | null,
>   results: {
>     country: string | null,
>     country_code: string | null,
>     currency: string | null,
>     currency_code: string | null,
>     phone_code: string | null,
>     country_flag: string | null
>   }[] | null
> }[]
> ```

***

### searchCryptocurrency

`market.searchCryptocurrency`

Search cryptocurrencies by name or code

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.searchCryptocurrency({ query: 'bitcoin', limit: 5 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `limit` | `number` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   key: string | null,
>   limit: number | null,
>   results: {
>     name: string | null,
>     symbol: string | null,
>     type: string | null,
>     isActive?: boolean | null,
>     is_active?: boolean | string | null
>   }[] | null
> } | {
>   key: string | null,
>   limit: number | null,
>   results: {
>     name: string | null,
>     symbol: string | null,
>     type: string | null,
>     isActive?: boolean | null,
>     is_active?: boolean | string | null
>   }[] | null
> }[]
> ```

***

### searchCurrency

`market.searchCurrency`

Search currencies by name or code

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.searchCurrency({ query: 'gbp', limit: 5 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `limit` | `number` | No | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   key: string | null,
>   limit: number | null,
>   results: {
>     symbol: string | null,
>     from: string | null,
>     to: string | null,
>     from_flag: string | null,
>     to_flag: string | null
>   }[] | null
> } | {
>   key: string | null,
>   limit: number | null,
>   results: {
>     symbol: string | null,
>     from: string | null,
>     to: string | null,
>     from_flag: string | null,
>     to_flag: string | null
>   }[] | null
> }[]
> ```

***

### searchMarket

`market.searchMarket`

Search symbols within a market

**Risk:** `read`

```ts theme={null}
await corsair.finage.api.market.searchMarket({ market: 'us', query: 'apple', limit: 5 });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `market` | `string` | Yes | — |
| `query` | `string` | Yes | — |
| `limit` | `number` | Yes | — |

**Output:** `object \| object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   key: string | null,
>   market: string | null,
>   limit: number | null,
>   results: {
>     symbol: string | null,
>     description: string | null,
>     s_type: string | null
>   }[] | null
> } | {
>   key: string | null,
>   market: string | null,
>   limit: number | null,
>   results: {
>     symbol: string | null,
>     description: string | null,
>     s_type: string | null
>   }[] | null
> }[]
> ```

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.