Finance Query v2#
Generated by
cargo soothfast spec htmlfromopenapi.yaml(OpenAPI 3.1.0). Regenerate withcargo soothfast spec gen+spec html; do not hand-edit.
Version: 3.0.0
High-performance financial data API server built on finance-query library
Servers:
https://finance-query.comhttp://localhost:8000
Endpoints 90 endpoint(s), 63 group(s)#
Analysis 1 endpoint(s)#
GET/v2/analysis/{symbol}/{type}Get analysis data
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required | ||
type required | Analysis type for `GET /v2/analysis/{symbol}/{type}`. |
Responses
200OKapplication/json
{}AnalysisResponse
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Backtest 1 endpoint(s)#
POST/v2/backtest/{symbol}Run a strategy backtest
Parameters
| name | description | value |
|---|---|---|
symbol required |
Request body
Request body
application/json
{
"equityCursor": "string",
"equityLimit": 0,
"fields": "string",
"interval": "1m",
"params": {
"allowShort": true,
"commissionPct": 0.0,
"exitAtMiddle": true,
"fastPeriod": 0,
"initialCapital": 0.0,
"maintenanceMarginPct": 0.0,
"marginInterestRate": 0.0,
"maxLeverage": 0.0,
"multiplier": 0.0,
"overbought": 0.0,
"oversold": 0.0,
"period": 0,
"positionSizePct": 0.0,
"shortBorrowRate": 0.0,
"signalPeriod": 0,
"slippagePct": 0.0,
"slowPeriod": 0,
"stdDev": 0.0,
"stopLossPct": 0.0,
"takeProfitPct": 0.0
},
"range": "1d",
"strategy": "string",
"tradesCursor": "string",
"tradesLimit": 0
}BacktestRequest
Responses
200OKapplication/json
{
"diagnostics": [
"string"
],
"endTimestamp": 0,
"equityCurve": {
"edges": [
{
"cursor": "string",
"node": {
"drawdownPct": 0.0,
"equity": 0.0,
"timestamp": 0
}
}
],
"nodes": [
{
"drawdownPct": 0.0,
"equity": 0.0,
"timestamp": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"finalEquity": 0.0,
"initialCapital": 0.0,
"maxLeverageUsed": 0.0,
"metrics": {
"annualizedReturnPct": 0.0,
"avgLossDuration": 0.0,
"avgLossPct": 0.0,
"avgTradeDuration": 0.0,
"avgTradeReturnPct": 0.0,
"avgWinDuration": 0.0,
"avgWinPct": 0.0,
"calmarRatio": 0.0,
"executedSignals": 0,
"expectancy": 0.0,
"kellyCriterion": 0.0,
"largestLoss": 0.0,
"largestWin": 0.0,
"longTrades": 0,
"losingTrades": 0,
"maxConsecutiveLosses": 0,
"maxConsecutiveWins": 0,
"maxDrawdownDuration": 0,
"maxDrawdownPct": 0.0,
"maxIdlePeriod": 0,
"omegaRatio": 0.0,
"profitFactor": 0.0,
"recoveryFactor": 0.0,
"serenityRatio": 0.0,
"sharpeRatio": 0.0,
"shortTrades": 0,
"sortinoRatio": 0.0,
"sqn": 0.0,
"tailRatio": 0.0,
"timeInMarketPct": 0.0,
"totalCommission": 0.0,
"totalDividendIncome": 0.0,
"totalFinancingCost": 0.0,
"totalReturnPct": 0.0,
"totalSignals": 0,
"totalTrades": 0,
"ulcerIndex": 0.0,
"winRate": 0.0,
"winningTrades": 0
},
"startTimestamp": 0,
"strategyName": "string",
"symbol": "string",
"trades": {
"edges": [
{
"cursor": "string",
"node": {
"commission": 0.0,
"dividendIncome": 0.0,
"entryPrice": 0.0,
"entryQuantity": 0.0,
"entrySignal": {
"direction": "string",
"price": 0.0,
"reason": "string",
"strength": 0.0,
"tags": [
"string"
],
"timestamp": 0
},
"entryTimestamp": 0,
"exitPrice": 0.0,
"exitSignal": {
"direction": "string",
"price": 0.0,
"reason": "string",
"strength": 0.0,
"tags": [
"string"
],
"timestamp": 0
},
"exitTimestamp": 0,
"financingCost": 0.0,
"isPartial": true,
"pnl": 0.0,
"quantity": 0.0,
"returnPct": 0.0,
"scaleSequence": 0,
"side": "string",
"tags": [
"string"
],
"transactionTax": 0.0,
"unreinvestedDividends": 0.0
}
}
],
"nodes": [
{
"commission": 0.0,
"dividendIncome": 0.0,
"entryPrice": 0.0,
"entryQuantity": 0.0,
"entrySignal": {
"direction": "string",
"price": 0.0,
"reason": "string",
"strength": 0.0,
"tags": [
"string"
],
"timestamp": 0
},
"entryTimestamp": 0,
"exitPrice": 0.0,
"exitSignal": {
"direction": "string",
"price": 0.0,
"reason": "string",
"strength": 0.0,
"tags": [
"string"
],
"timestamp": 0
},
"exitTimestamp": 0,
"financingCost": 0.0,
"isPartial": true,
"pnl": 0.0,
"quantity": 0.0,
"returnPct": 0.0,
"scaleSequence": 0,
"side": "string",
"tags": [
"string"
],
"transactionTax": 0.0,
"unreinvestedDividends": 0.0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
}
}GqlBacktestResult
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Calendar 1 endpoint(s)#
GET/v2/calendarGet upcoming financial event calendar
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
range optional | Forward window: 1wk/5d, 1mo, 3mo, etc. (default: 1mo) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
[
{
"date": "string",
"event": {
"EARNINGS": {
"epsEstimateAvg": 0.0,
"epsEstimateHigh": 0.0,
"epsEstimateLow": 0.0,
"isEstimate": true,
"revenueEstimateAvg": 0
}
},
"symbol": "string",
"timestamp": 0
}
]GqlCalendarEvent[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Capital gains 2 endpoint(s)#
GET/v2/capital-gainsGet batch capital gains history
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
range optional | Time range (default: max) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"capitalGains": [
{
"capitalGains": [
{
"amount": 0.0,
"timestamp": 0
}
],
"symbol": "string"
}
],
"errors": [
{
"message": "string",
"symbol": "string"
}
]
}GqlCapitalGainsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/capital-gains/{symbol}Get capital gains distribution history
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
range optional | Time range (default: max) | |
symbol required |
Responses
200OKapplication/json
[
{
"amount": 0.0,
"timestamp": 0
}
]GqlCapitalGain[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Cftc 1 endpoint(s)#
GET/v2/cftc/cot/{symbol}Weekly CFTC Commitments of Traders positioning (keyless)
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max weekly observations per page; omitted (with cursor also omitted) = every observation as a bare array | |
symbol required |
Responses
200OKapplication/json
{
"cftcContractMarketCode": "string",
"marketAndExchangeName": "string",
"observations": {
"edges": [
{
"cursor": "string",
"node": {
"managedMoneyLong": 0,
"managedMoneyShort": 0,
"managedMoneySpread": 0,
"nonreportableLong": 0,
"nonreportableShort": 0,
"openInterest": 0,
"otherReportableLong": 0,
"otherReportableShort": 0,
"otherReportableSpread": 0,
"producerMerchantLong": 0,
"producerMerchantShort": 0,
"reportDate": "string",
"swapDealerLong": 0,
"swapDealerShort": 0,
"swapDealerSpread": 0,
"totalReportableLong": 0,
"totalReportableShort": 0
}
}
],
"nodes": [
{
"managedMoneyLong": 0,
"managedMoneyShort": 0,
"managedMoneySpread": 0,
"nonreportableLong": 0,
"nonreportableShort": 0,
"openInterest": 0,
"otherReportableLong": 0,
"otherReportableShort": 0,
"otherReportableSpread": 0,
"producerMerchantLong": 0,
"producerMerchantShort": 0,
"reportDate": "string",
"swapDealerLong": 0,
"swapDealerShort": 0,
"swapDealerSpread": 0,
"totalReportableLong": 0,
"totalReportableShort": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"symbol": "string"
}GqlCommitmentsOfTraders
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Chart 1 endpoint(s)#
GET/v2/chart/{symbol}Get historical chart data
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
end optional | End date as Unix timestamp (seconds). Defaults to now when `start` is set. | |
events optional | Include events (dividends, splits, capital gains) in response | |
fields optional | Comma-separated list of fields to include in response | |
interval optional | Candle interval (e.g. 1m, 5m, 1h, 1d; default: 1d) | |
limit optional | Max candles per page; omitted (with cursor also omitted) = every matching candle as a bare array, unchanged from pre-pagination behavior | |
patterns optional | Detect candlestick patterns and include per-candle signals in response. The `patterns` array aligns 1:1 with the `candles` array; `null` means no pattern was detected on that bar. | |
range optional | Time range (e.g. 1d, 5d, 1mo, 1y, max; default: 1mo) | |
start optional | Start date as Unix timestamp (seconds). When provided together with `end`, overrides `range` and uses absolute date boundaries. | |
symbol required |
Responses
200OKapplication/json
{
"candles": {
"edges": [
{
"cursor": "string",
"node": {
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
}
}
],
"nodes": [
{
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"interval": "string",
"meta": {
"chartPreviousClose": 0.0,
"currency": "string",
"dataGranularity": "string",
"exchangeName": "string",
"exchangeTimezoneName": "string",
"fiftyTwoWeekHigh": 0.0,
"fiftyTwoWeekLow": 0.0,
"firstTradeDate": 0,
"fullExchangeName": "string",
"gmtOffset": 0,
"hasPrePostMarketData": true,
"instrumentType": "string",
"previousClose": 0.0,
"priceHint": 0,
"range": "string",
"regularMarketDayHigh": 0.0,
"regularMarketDayLow": 0.0,
"regularMarketPrice": 0.0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"symbol": "string",
"timezone": "string"
},
"range": "string",
"symbol": "string"
}GqlChart
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Charts 1 endpoint(s)#
GET/v2/chartsGet batch historical chart data
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
interval optional | Candle interval (default: 1d) | |
limit optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's chart as a bare array, unchanged from pre-pagination behavior | |
patterns optional | Detect candlestick patterns and include per-candle signals in response. | |
range optional | Time range (default: 1mo) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"charts": {
"edges": [
{
"cursor": "string",
"node": {
"chart": {
"candles": {
"edges": [
{
"cursor": "string",
"node": {
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
}
}
],
"nodes": [
{
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"interval": "string",
"meta": {
"chartPreviousClose": 0.0,
"currency": "string",
"dataGranularity": "string",
"exchangeName": "string",
"exchangeTimezoneName": "string",
"fiftyTwoWeekHigh": 0.0,
"fiftyTwoWeekLow": 0.0,
"firstTradeDate": 0,
"fullExchangeName": "string",
"gmtOffset": 0,
"hasPrePostMarketData": true,
"instrumentType": "string",
"previousClose": 0.0,
"priceHint": 0,
"range": "string",
"regularMarketDayHigh": 0.0,
"regularMarketDayLow": 0.0,
"regularMarketPrice": 0.0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"symbol": "string",
"timezone": "string"
},
"range": "string",
"symbol": "string"
},
"symbol": "string"
}
}
],
"nodes": [
{
"chart": {
"candles": {
"edges": [
{
"cursor": "string",
"node": {
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
}
}
],
"nodes": [
{
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"interval": "string",
"meta": {
"chartPreviousClose": 0.0,
"currency": "string",
"dataGranularity": "string",
"exchangeName": "string",
"exchangeTimezoneName": "string",
"fiftyTwoWeekHigh": 0.0,
"fiftyTwoWeekLow": 0.0,
"firstTradeDate": 0,
"fullExchangeName": "string",
"gmtOffset": 0,
"hasPrePostMarketData": true,
"instrumentType": "string",
"previousClose": 0.0,
"priceHint": 0,
"range": "string",
"regularMarketDayHigh": 0.0,
"regularMarketDayLow": 0.0,
"regularMarketPrice": 0.0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"symbol": "string",
"timezone": "string"
},
"range": "string",
"symbol": "string"
},
"symbol": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"errors": [
{
"message": "string",
"symbol": "string"
}
]
}GqlChartsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Commodities 1 endpoint(s)#
GET/v2/commodities/{symbol}Get a commodity's current quote
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"change": 0.0,
"changePercent": 0.0,
"name": "string",
"price": 0.0,
"symbol": "string",
"timestamp": 0,
"unit": "string"
}GqlCommodityQuote
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Company profile 1 endpoint(s)#
GET/v2/company-profile/{symbol}Get company profile
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"assetType": "string",
"country": "string",
"currency": "string",
"description": "string",
"exchange": "string",
"industry": "string",
"marketCapitalization": 0.0,
"name": "string",
"sector": "string",
"symbol": "string"
}GqlCompanyProfile
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Crypto 8 endpoint(s)#
GET/v2/crypto/coinsTop coins by market cap
Parameters
| name | description | value |
|---|---|---|
count optional | Number of coins to return (default: 50) | |
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max coins per page; omitted (with cursor also omitted) = every fetched coin (up to `count`) as a bare array, unchanged from pre-pagination behavior | |
vsCurrency optional | Currency to compare against (default: "usd") |
Responses
200OKapplication/json
[
{
"circulatingSupply": 0.0,
"currentPrice": 0.0,
"id": "string",
"image": "string",
"marketCap": 0.0,
"marketCapRank": 0,
"name": "string",
"priceChangePercentage24H": 0.0,
"symbol": "string",
"totalVolume": 0.0
}
]GqlCoinQuote[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/crypto/coins/{id}Single coin by CoinGecko ID
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
vsCurrency optional | Currency to compare against (default: "usd") | |
id required |
Responses
200OKapplication/json
{
"circulatingSupply": 0.0,
"currentPrice": 0.0,
"id": "string",
"image": "string",
"marketCap": 0.0,
"marketCapRank": 0,
"name": "string",
"priceChangePercentage24H": 0.0,
"symbol": "string",
"totalVolume": 0.0
}GqlCoinQuote
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/crypto/coins/{id}/tvlA DeFi protocol's total value locked (DefiLlama, keyless).
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
id required |
Responses
200OKapplication/json
{
"chains": [
"string"
],
"change1DPercent": 0.0,
"change7DPercent": 0.0,
"marketCap": 0.0,
"name": "string",
"slug": "string",
"symbol": "string",
"tvl": 0.0,
"tvlByChain": [
{
"chain": "string",
"tvl": 0.0
}
],
"url": "string"
}GqlProtocolTvl
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/crypto/coins/{id}/tvl-historyA protocol's TVL history, oldest first.
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior | |
id required |
Responses
200OKapplication/json
[
{
"timestamp": 0,
"tvl": 0.0
}
]GqlTvlPoint[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/crypto/globalAggregate global cryptocurrency market statistics
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response |
Responses
200OKapplication/json
{
"activeCryptocurrencies": 0,
"btcDominance": 0.0,
"ethDominance": 0.0,
"marketCapChangePercentage24HUsd": 0.0,
"markets": 0,
"totalMarketCapUsd": 0.0,
"totalVolumeUsd": 0.0
}GqlGlobalCryptoStats
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/crypto/newsMarket-wide crypto news
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
limit optional | Maximum number of articles to fetch (default: 20) | |
pageCursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
pageLimit optional | Max articles per page; omitted (with pageCursor also omitted) = every fetched article (up to `limit`) as a bare array, unchanged from pre-pagination behavior |
Responses
200OKapplication/json
[
{
"img": "string",
"link": "string",
"sentiment": {
"confidence": 0.0,
"label": "string",
"score": 0.0
},
"source": "string",
"time": "string",
"title": "string"
}
]GqlNews[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/crypto/searchSearch CoinGecko's coin universe by free-text query
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max matches per page; omitted (with cursor also omitted) = bare array | |
limitResults optional | Max matches to fetch (default: 25) | |
query required | Free-text query (coin name, symbol, or CoinGecko id) |
Responses
200OKapplication/json
[
{
"active": true,
"assetType": "string",
"currency": "string",
"exchange": "string",
"id": "string",
"image": "string",
"marketCapRank": 0,
"name": "string",
"symbol": "string",
"thumbnail": "string"
}
]GqlSymbolMatch[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/crypto/trendingCoins trending on CoinGecko over the last 24h
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max coins per page; omitted (with cursor also omitted) = bare array |
Responses
200OKapplication/json
[
{
"id": "string",
"marketCapRank": 0,
"name": "string",
"priceBtc": 0.0,
"score": 0,
"symbol": "string"
}
]GqlTrendingCoin[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Currencies 1 endpoint(s)#
GET/v2/currenciesGet available currencies
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response |
Responses
200OKapplication/json
[
{
"localLongName": "string",
"longName": "string",
"shortName": "string",
"symbol": "string"
}
]GqlCurrency[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Dividends 2 endpoint(s)#
GET/v2/dividendsGet batch dividend history
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's dividend history as a bare array, unchanged from pre-pagination behavior | |
range optional | Time range (default: max) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"dividends": {
"edges": [
{
"cursor": "string",
"node": {
"dividends": [
{
"amount": 0.0,
"timestamp": 0
}
],
"symbol": "string"
}
}
],
"nodes": [
{
"dividends": [
{
"amount": 0.0,
"timestamp": 0
}
],
"symbol": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"errors": [
{
"message": "string",
"symbol": "string"
}
]
}GqlDividendsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/dividends/{symbol}Get dividend history and analytics
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max dividend payments per page; omitted (with cursor also omitted) = every matching payment as a bare array, unchanged from pre-pagination behavior | |
range optional | Time range (default: max) | |
symbol required |
Responses
200OKapplication/json
{
"analytics": {
"averagePayment": 0.0,
"cagr": 0.0,
"firstPayment": {
"amount": 0.0,
"timestamp": 0
},
"lastPayment": {
"amount": 0.0,
"timestamp": 0
},
"paymentCount": 0,
"totalPaid": 0.0
},
"dividends": {
"edges": [
{
"cursor": "string",
"node": {
"amount": 0.0,
"timestamp": 0
}
}
],
"nodes": [
{
"amount": 0.0,
"timestamp": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
}
}GqlDividends
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Earnings surprises 1 endpoint(s)#
GET/v2/earnings-surprises/{symbol}Get earnings-surprise history
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"surprises": [
{
"actualEps": 0.0,
"date": "string",
"estimatedEps": 0.0,
"surprise": 0.0,
"surprisePercent": 0.0,
"symbol": "string"
}
]
}GqlEarningsSurpriseHistory
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Earnings transcript 1 endpoint(s)#
GET/v2/earnings-transcript/{symbol}Get earnings call transcript
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
quarter optional | Fiscal quarter (Q1, Q2, Q3, Q4). Required alongside `year` for providers with no "latest" shortcut (Alpha Vantage); Yahoo defaults to latest when omitted. | |
year optional | Fiscal year. See `quarter`. | |
symbol required |
Responses
200OKapplication/json
{
"date": "string",
"quarter": "string",
"symbol": "string",
"text": "string",
"year": 0
}GqlEarningsTranscript
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Edgar 4 endpoint(s)#
GET/v2/edgar/cik/{symbol}Resolve ticker to CIK
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"cik": 0,
"symbol": "string"
}GqlEdgarCik
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/edgar/facts/{symbol}Get XBRL financial data
Parameters
| name | description | value |
|---|---|---|
concepts optional | Comma-separated XBRL concept names to filter to; omitted = curated defaults | |
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max data points per concept per page; omitted (with cursor also omitted) = every matching data point as a bare array, unchanged from pre-pagination behavior. Applied uniformly across every returned concept. | |
taxonomy optional | XBRL taxonomy (default: "us-gaap"); also try "ifrs-full" or "dei" | |
symbol required |
Responses
200OKapplication/json
[
{
"concept": "string",
"dataPoints": {
"edges": [
{
"cursor": "string",
"node": {
"accn": "string",
"end": "string",
"filed": "string",
"form": "string",
"fp": "string",
"frame": "string",
"fy": 0,
"start": "string",
"val": 0.0
}
}
],
"nodes": [
{
"accn": "string",
"end": "string",
"filed": "string",
"form": "string",
"fp": "string",
"frame": "string",
"fy": 0,
"start": "string",
"val": 0.0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"description": "string",
"label": "string",
"taxonomy": "string",
"unit": "string"
}
]GqlFactConcept[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/edgar/searchSearch SEC filings
Parameters
| name | description | value |
|---|---|---|
endDate optional | End date in YYYY-MM-DD format | |
fields optional | Comma-separated list of fields to include in response | |
forms optional | Comma-separated form types (e.g., "10-K,10-Q") | |
from optional | Pagination offset (default: 0) | |
q required | Search query string (required) | |
size optional | Page size (default: 100, max: 100) | |
startDate optional | Start date in YYYY-MM-DD format |
Responses
200OKapplication/json
{
"hits": [
{
"adsh": "string",
"ciks": [
"string"
],
"displayNames": [
"string"
],
"fileDate": "string",
"form": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
},
"totalHits": 0
}GqlEdgarSearchResults
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/edgar/submissions/{symbol}Get SEC filing history
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max filings per page; omitted (with cursor also omitted) = every matching filing as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
{
"category": "string",
"cik": "string",
"ein": "string",
"entityType": "string",
"exchanges": [
"string"
],
"filings": {
"edges": [
{
"cursor": "string",
"node": {
"accessionNumber": "string",
"filingDate": "string",
"form": "string",
"primaryDocDescription": "string",
"primaryDocument": "string",
"reportDate": "string",
"size": 0
}
}
],
"nodes": [
{
"accessionNumber": "string",
"filingDate": "string",
"form": "string",
"primaryDocDescription": "string",
"primaryDocument": "string",
"reportDate": "string",
"size": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"fiscalYearEnd": "string",
"insiderTransactionForIssuerExists": 0,
"insiderTransactionForOwnerExists": 0,
"name": "string",
"sic": "string",
"sicDescription": "string",
"stateOfIncorporation": "string",
"tickers": [
"string"
],
"website": "string"
}GqlEdgarSubmissions
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Etf profile 1 endpoint(s)#
GET/v2/etf-profile/{symbol}Get ETF profile and holdings
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"assetType": "string",
"countryWeightings": [
{
"country": "string",
"weight": 0.0
}
],
"dividendYield": 0.0,
"holdings": [
{
"description": "string",
"symbol": "string",
"weight": 0.0
}
],
"inceptionDate": "string",
"name": "string",
"netAssets": 0.0,
"netExpenseRatio": 0.0,
"portfolioTurnover": 0.0,
"sectorWeightings": [
{
"sector": "string",
"weight": 0.0
}
],
"symbol": "string"
}GqlEtfProfile
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Exchanges 1 endpoint(s)#
GET/v2/exchangesGet supported exchanges
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response |
Responses
200OKapplication/json
[
{
"country": "string",
"dataProvider": "string",
"delay": "string",
"market": "string",
"suffix": "string"
}
]GqlExchange[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Executive compensation 1 endpoint(s)#
GET/v2/executive-compensation/{symbol}Disclosed executive compensation by year.
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
[
{
"bonus": 0.0,
"cik": "string",
"companyName": "string",
"filingDate": "string",
"incentivePlanCompensation": 0.0,
"nameAndPosition": "string",
"optionAward": 0.0,
"otherCompensation": 0.0,
"salary": 0.0,
"stockAward": 0.0,
"symbol": "string",
"total": 0.0,
"url": "string",
"year": 0
}
]GqlExecutiveCompensation[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Fear and greed 1 endpoint(s)#
GET/v2/fear-and-greedFear & Greed Index
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response |
Responses
200OKapplication/json
{
"classification": "string",
"timestamp": 0,
"value": 0
}GqlFearAndGreed
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Feeds 1 endpoint(s)#
GET/v2/feedsRSS/Atom news feeds
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
formType optional | SEC form type for sec-filings source (e.g., "10-K", "8-K", default: "10-K") | |
limit optional | Max entries to return; omitted (with cursor also omitted) = every matching entry as a bare array, unchanged from pre-pagination behavior | |
sources optional | Comma-separated source slugs (default: federal-reserve, sec, marketwatch, bloomberg) |
Responses
200OKapplication/json
[
{
"published": "string",
"source": "string",
"summary": "string",
"title": "string",
"url": "string"
}
]GqlFeedEntry[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Filings 4 endpoint(s)#
GET/v2/filings/{symbol}/congressional-tradesCongressional trading disclosures for a symbol
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
[
{
"amount": "string",
"assetDescription": "string",
"disclosureDate": "string",
"district": "string",
"firstName": "string",
"lastName": "string",
"link": "string",
"office": "string",
"symbol": "string",
"tradeType": "string",
"transactionDate": "string"
}
]GqlCongressionalTrade[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/filings/{symbol}/fails-to-deliverFails-to-deliver records for a symbol
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
[
{
"date": "string",
"description": "string",
"name": "string",
"price": 0.0,
"quantity": 0.0,
"symbol": "string"
}
]GqlFailToDeliver[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/filings/{symbol}/risk-factorsGet risk factors extracted from SEC filings
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
[
{
"category": "string",
"filingDate": "string",
"text": "string",
"title": "string"
}
]GqlRiskFactor[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/filings/{symbol}/sectionsGet sectioned text of one SEC filing
Parameters
| name | description | value |
|---|---|---|
accessionNumber required | SEC accession number, e.g. "0000320193-24-000123" (required) | |
fields optional | Comma-separated list of fields to include in response | |
form required | Which filing form to fetch sectioned text for | |
symbol required |
Responses
200OKapplication/json
[
{
"content": "string",
"section": "string"
}
]GqlFilingSection[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Financials 2 endpoint(s)#
GET/v2/financialsGet batch financial statements
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
frequency optional | Frequency: annual or quarterly (default: annual) | |
metrics optional | Comma-separated list of metric names to include in the statement (e.g. "TotalRevenue,NetIncome") | |
statement required | Statement type (required): income, balance, cashflow | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"errors": [
{
"message": "string",
"symbol": "string"
}
],
"financials": [
{
"statement": [
{
"metric": "string",
"values": [
{
"date": "string",
"value": 0.0
}
]
}
],
"symbol": "string"
}
]
}GqlFinancialsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/financials/{symbol}/{statement}Get financial statements
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
frequency optional | Frequency: annual or quarterly (default: annual) | |
metrics optional | Comma-separated list of metric names to include in the statement (e.g. "TotalRevenue,NetIncome") | |
symbol required | ||
statement required | Statement types for financial data |
Responses
200OKapplication/json
[
{
"metric": "string",
"values": [
{
"date": "string",
"value": 0.0
}
]
}
]GqlFinancialLineItem[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Forex 2 endpoint(s)#
GET/v2/forex/newsMarket-wide forex news
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
limit optional | Maximum number of articles to fetch (default: 20) | |
pageCursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
pageLimit optional | Max articles per page; omitted (with pageCursor also omitted) = every fetched article (up to `limit`) as a bare array, unchanged from pre-pagination behavior |
Responses
200OKapplication/json
[
{
"img": "string",
"link": "string",
"sentiment": {
"confidence": 0.0,
"label": "string",
"score": 0.0
},
"source": "string",
"time": "string",
"title": "string"
}
]GqlNews[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/forex/{from}/{to}Get a currency pair's current exchange rate
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
from required | ||
to required |
Responses
200OKapplication/json
{
"ask": 0.0,
"baseCurrency": "string",
"bid": 0.0,
"change": 0.0,
"changePercent": 0.0,
"price": 0.0,
"quoteCurrency": "string",
"symbol": "string",
"timestamp": 0
}GqlForexQuote
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Fred 2 endpoint(s)#
GET/v2/fred/series/{id}FRED time series
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max observations per page; omitted (with cursor also omitted) = every matching observation as a bare array, unchanged from pre-pagination behavior | |
id required |
Responses
200OKapplication/json
{
"id": "string",
"observations": {
"edges": [
{
"cursor": "string",
"node": {
"date": "string",
"value": 0.0
}
}
],
"nodes": [
{
"date": "string",
"value": 0.0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
}
}GqlMacroSeries
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/fred/treasury-yieldsUS Treasury yield curve
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max rows per page; omitted (with cursor also omitted) = every matching row as a bare array, unchanged from pre-pagination behavior | |
year optional | Calendar year (default: current year) |
Responses
200OKapplication/json
[
{
"date": "string",
"y1": 0.0,
"y10": 0.0,
"y1M": 0.0,
"y2": 0.0,
"y20": 0.0,
"y2M": 0.0,
"y3": 0.0,
"y30": 0.0,
"y3M": 0.0,
"y4M": 0.0,
"y5": 0.0,
"y6M": 0.0,
"y7": 0.0
}
]GqlTreasuryYield[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Futures 1 endpoint(s)#
GET/v2/futures/{symbol}Get a futures contract's current quote
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"change": 0.0,
"changePercent": 0.0,
"exchange": "string",
"expirationDate": "string",
"name": "string",
"openInterest": 0,
"price": 0.0,
"symbol": "string",
"timestamp": 0,
"underlying": "string",
"volume": 0
}GqlFuturesQuote
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Gdelt 1 endpoint(s)#
GET/v2/gdelt/news/{symbol}Worldwide news mentioning a symbol (GDELT, keyless)
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max articles per page; omitted (with cursor also omitted) = bare array | |
symbol required |
Responses
200OKapplication/json
[
{
"img": "string",
"link": "string",
"sentiment": {
"confidence": 0.0,
"label": "string",
"score": 0.0
},
"source": "string",
"time": "string",
"title": "string"
}
]GqlNews[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Grading actions 1 endpoint(s)#
GET/v2/grading-actions/{symbol}Provider-routed analyst upgrades and downgrades.
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
[
{
"date": "string",
"gradingCompany": "string",
"newGrade": "string",
"previousGrade": "string",
"symbol": "string"
}
]GqlGradingAction[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Health 1 endpoint(s)#
GET/v2/healthHealth check
Parameters
Responses
200OKapplication/json
{
"notices": [
"string"
],
"status": "string",
"timestamp": "string",
"version": "string"
}HealthResponse
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Holders 1 endpoint(s)#
GET/v2/holders/{symbol}/{type}Get holder data
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page for holder types with a list (institutional, mutualfund, insider-transactions, insider-roster); omitted (with cursor also omitted) = every matching entry as a bare array, unchanged from pre-pagination behavior. No-op for major/insider-purchases (no list). | |
symbol required | ||
type required | Holder type for `GET /v2/holders/{symbol}/{type}`. |
Responses
200OKapplication/json
{}HoldersResponse
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Hours 1 endpoint(s)#
GET/v2/hoursGet market hours
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
region optional | Region code (e.g., "US", "JP", "GB"). Defaults to US if not specified. |
Responses
200OKapplication/json
{
"markets": [
{
"close": "string",
"dst": true,
"gmtOffset": 0,
"id": "string",
"message": "string",
"name": "string",
"open": "string",
"status": "string",
"time": "string",
"timezone": "string",
"timezoneShort": "string"
}
]
}GqlMarketHours
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Index constituents 1 endpoint(s)#
GET/v2/index-constituents/{symbol}Get an index's current constituent list
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
[
{
"cik": "string",
"dateFirstAdded": "string",
"founded": "string",
"headquarters": "string",
"name": "string",
"sector": "string",
"subSector": "string",
"symbol": "string"
}
]GqlIndexConstituent[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Indicators 2 endpoint(s)#
GET/v2/indicatorsGet batch technical indicators
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
interval optional | Candle interval (default: 1d) | |
limit optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's indicators as a bare array, unchanged from pre-pagination behavior | |
range optional | Time range (default: 1mo) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"errors": [
{
"message": "string",
"symbol": "string"
}
],
"indicators": {
"edges": [
{
"cursor": "string",
"node": {
"indicators": {
"accumulationDistribution": 0.0,
"adx14": 0.0,
"alma9": 0.0,
"aroon": {
"aroonDown": 0.0,
"aroonUp": 0.0
},
"atr14": 0.0,
"awesomeOscillator": 0.0,
"balanceOfPower": 0.0,
"bollingerBands": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"bullBearPower": {
"bearPower": 0.0,
"bullPower": 0.0
},
"cci20": 0.0,
"chaikinOscillator": 0.0,
"choppinessIndex14": 0.0,
"cmf20": 0.0,
"cmo14": 0.0,
"coppockCurve": 0.0,
"dema20": 0.0,
"donchianChannels": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"elderRayIndex": {
"bearPower": 0.0,
"bullPower": 0.0
},
"ema10": 0.0,
"ema100": 0.0,
"ema20": 0.0,
"ema200": 0.0,
"ema50": 0.0,
"fibonacciPivotPoints": {
"pivot": 0.0,
"r1": 0.0,
"r2": 0.0,
"r3": 0.0,
"s1": 0.0,
"s2": 0.0,
"s3": 0.0
},
"fibonacciRetracement50": {
"level236": 0.0,
"level382": 0.0,
"level50": 0.0,
"level618": 0.0,
"level786": 0.0,
"swingHigh": 0.0,
"swingLow": 0.0
},
"heikinAshi": {
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
},
"hma20": 0.0,
"ichimoku": {
"baseLine": 0.0,
"conversionLine": 0.0,
"laggingSpan": 0.0,
"leadingSpanA": 0.0,
"leadingSpanB": 0.0
},
"keltnerChannels": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"macd": {
"histogram": 0.0,
"macd": 0.0,
"signal": 0.0
},
"mcginleyDynamic20": 0.0,
"mfi14": 0.0,
"momentum10": 0.0,
"obv": 0.0,
"parabolicSar": 0.0,
"pivotPoints": {
"pivot": 0.0,
"r1": 0.0,
"r2": 0.0,
"r3": 0.0,
"s1": 0.0,
"s2": 0.0,
"s3": 0.0
},
"roc12": 0.0,
"rsi14": 0.0,
"sma10": 0.0,
"sma100": 0.0,
"sma20": 0.0,
"sma200": 0.0,
"sma50": 0.0,
"stochastic": {
"d": 0.0,
"k": 0.0
},
"stochasticRsi": {
"d": 0.0,
"k": 0.0
},
"supertrend": {
"trend": "string",
"value": 0.0
},
"tema20": 0.0,
"trueRange": 0.0,
"vwap": 0.0,
"vwma20": 0.0,
"williamsR14": 0.0,
"wma10": 0.0,
"wma100": 0.0,
"wma20": 0.0,
"wma200": 0.0,
"wma50": 0.0,
"zigzagLastPivot": {
"index": 0,
"isHigh": true,
"price": 0.0
}
},
"symbol": "string"
}
}
],
"nodes": [
{
"indicators": {
"accumulationDistribution": 0.0,
"adx14": 0.0,
"alma9": 0.0,
"aroon": {
"aroonDown": 0.0,
"aroonUp": 0.0
},
"atr14": 0.0,
"awesomeOscillator": 0.0,
"balanceOfPower": 0.0,
"bollingerBands": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"bullBearPower": {
"bearPower": 0.0,
"bullPower": 0.0
},
"cci20": 0.0,
"chaikinOscillator": 0.0,
"choppinessIndex14": 0.0,
"cmf20": 0.0,
"cmo14": 0.0,
"coppockCurve": 0.0,
"dema20": 0.0,
"donchianChannels": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"elderRayIndex": {
"bearPower": 0.0,
"bullPower": 0.0
},
"ema10": 0.0,
"ema100": 0.0,
"ema20": 0.0,
"ema200": 0.0,
"ema50": 0.0,
"fibonacciPivotPoints": {
"pivot": 0.0,
"r1": 0.0,
"r2": 0.0,
"r3": 0.0,
"s1": 0.0,
"s2": 0.0,
"s3": 0.0
},
"fibonacciRetracement50": {
"level236": 0.0,
"level382": 0.0,
"level50": 0.0,
"level618": 0.0,
"level786": 0.0,
"swingHigh": 0.0,
"swingLow": 0.0
},
"heikinAshi": {
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
},
"hma20": 0.0,
"ichimoku": {
"baseLine": 0.0,
"conversionLine": 0.0,
"laggingSpan": 0.0,
"leadingSpanA": 0.0,
"leadingSpanB": 0.0
},
"keltnerChannels": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"macd": {
"histogram": 0.0,
"macd": 0.0,
"signal": 0.0
},
"mcginleyDynamic20": 0.0,
"mfi14": 0.0,
"momentum10": 0.0,
"obv": 0.0,
"parabolicSar": 0.0,
"pivotPoints": {
"pivot": 0.0,
"r1": 0.0,
"r2": 0.0,
"r3": 0.0,
"s1": 0.0,
"s2": 0.0,
"s3": 0.0
},
"roc12": 0.0,
"rsi14": 0.0,
"sma10": 0.0,
"sma100": 0.0,
"sma20": 0.0,
"sma200": 0.0,
"sma50": 0.0,
"stochastic": {
"d": 0.0,
"k": 0.0
},
"stochasticRsi": {
"d": 0.0,
"k": 0.0
},
"supertrend": {
"trend": "string",
"value": 0.0
},
"tema20": 0.0,
"trueRange": 0.0,
"vwap": 0.0,
"vwma20": 0.0,
"williamsR14": 0.0,
"wma10": 0.0,
"wma100": 0.0,
"wma20": 0.0,
"wma200": 0.0,
"wma50": 0.0,
"zigzagLastPivot": {
"index": 0,
"isHigh": true,
"price": 0.0
}
},
"symbol": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
}
}GqlIndicatorsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/indicators/{symbol}Get technical indicators
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
interval optional | Candle interval (default: 1d) | |
range optional | Time range (default: 1mo) | |
symbol required |
Responses
200OKapplication/json
{
"accumulationDistribution": 0.0,
"adx14": 0.0,
"alma9": 0.0,
"aroon": {
"aroonDown": 0.0,
"aroonUp": 0.0
},
"atr14": 0.0,
"awesomeOscillator": 0.0,
"balanceOfPower": 0.0,
"bollingerBands": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"bullBearPower": {
"bearPower": 0.0,
"bullPower": 0.0
},
"cci20": 0.0,
"chaikinOscillator": 0.0,
"choppinessIndex14": 0.0,
"cmf20": 0.0,
"cmo14": 0.0,
"coppockCurve": 0.0,
"dema20": 0.0,
"donchianChannels": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"elderRayIndex": {
"bearPower": 0.0,
"bullPower": 0.0
},
"ema10": 0.0,
"ema100": 0.0,
"ema20": 0.0,
"ema200": 0.0,
"ema50": 0.0,
"fibonacciPivotPoints": {
"pivot": 0.0,
"r1": 0.0,
"r2": 0.0,
"r3": 0.0,
"s1": 0.0,
"s2": 0.0,
"s3": 0.0
},
"fibonacciRetracement50": {
"level236": 0.0,
"level382": 0.0,
"level50": 0.0,
"level618": 0.0,
"level786": 0.0,
"swingHigh": 0.0,
"swingLow": 0.0
},
"heikinAshi": {
"adjClose": 0.0,
"close": 0.0,
"high": 0.0,
"low": 0.0,
"open": 0.0,
"timestamp": 0,
"volume": 0
},
"hma20": 0.0,
"ichimoku": {
"baseLine": 0.0,
"conversionLine": 0.0,
"laggingSpan": 0.0,
"leadingSpanA": 0.0,
"leadingSpanB": 0.0
},
"keltnerChannels": {
"lower": 0.0,
"middle": 0.0,
"upper": 0.0
},
"macd": {
"histogram": 0.0,
"macd": 0.0,
"signal": 0.0
},
"mcginleyDynamic20": 0.0,
"mfi14": 0.0,
"momentum10": 0.0,
"obv": 0.0,
"parabolicSar": 0.0,
"pivotPoints": {
"pivot": 0.0,
"r1": 0.0,
"r2": 0.0,
"r3": 0.0,
"s1": 0.0,
"s2": 0.0,
"s3": 0.0
},
"roc12": 0.0,
"rsi14": 0.0,
"sma10": 0.0,
"sma100": 0.0,
"sma20": 0.0,
"sma200": 0.0,
"sma50": 0.0,
"stochastic": {
"d": 0.0,
"k": 0.0
},
"stochasticRsi": {
"d": 0.0,
"k": 0.0
},
"supertrend": {
"trend": "string",
"value": 0.0
},
"tema20": 0.0,
"trueRange": 0.0,
"vwap": 0.0,
"vwma20": 0.0,
"williamsR14": 0.0,
"wma10": 0.0,
"wma100": 0.0,
"wma20": 0.0,
"wma200": 0.0,
"wma50": 0.0,
"zigzagLastPivot": {
"index": 0,
"isHigh": true,
"price": 0.0
}
}GqlIndicatorsSummary
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Indices 2 endpoint(s)#
GET/v2/indicesGet world market indices
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
format optional | Value format: raw, pretty, or both (default: raw) | |
region optional | Region filter: americas, europe, asia-pacific, middle-east-africa, currencies |
Responses
200OKapplication/json
[
{
"allTimeHigh": 0,
"allTimeLow": 0,
"ask": 0,
"askSize": 0,
"auditRisk": 0,
"averageVolume": 0,
"balanceSheetHistory": {},
"balanceSheetHistoryQuarterly": {},
"beta": 0,
"bid": 0,
"bidSize": 0,
"boardRisk": 0,
"bookValue": 0,
"calendarEvents": {},
"cashflowStatementHistory": {},
"cashflowStatementHistoryQuarterly": {},
"category": "string",
"city": "string",
"companyLogoUrl": "string",
"companyOfficers": {},
"compensationRisk": 0,
"country": "string",
"currency": "string",
"currencySymbol": "string",
"currentPrice": 0,
"currentRatio": 0,
"dateShortInterest": 0,
"dayHigh": 0,
"dayLow": 0,
"debtToEquity": 0,
"dividendRate": 0,
"dividendYield": 0,
"earnings": {},
"earningsGrowth": 0,
"earningsHistory": {},
"earningsQuarterlyGrowth": 0,
"earningsTrend": {},
"ebitdaMargins": 0,
"enterpriseToEbitda": 0,
"enterpriseToRevenue": 0,
"enterpriseValue": 0,
"equityPerformance": {},
"exDividendDate": 0,
"exchange": "string",
"exchangeDataDelayedBy": 0,
"exchangeName": "string",
"fiftyDayAverage": 0,
"fiftyTwoWeekHigh": 0,
"fiftyTwoWeekLow": 0,
"financialCurrency": "string",
"firstTradeDateEpochUtc": 0,
"fiveYearAvgDividendYield": 0,
"floatShares": 0,
"forwardEps": 0,
"forwardPe": 0,
"freeCashflow": 0,
"fromCurrency": "string",
"fullTimeEmployees": 0,
"fundFamily": "string",
"fundOwnership": {},
"fundPerformance": {},
"fundProfile": {},
"gmtOffSetMilliseconds": 0,
"grossMargins": 0,
"grossProfits": 0,
"heldPercentInsiders": 0,
"heldPercentInstitutions": 0,
"impliedSharesOutstanding": 0,
"incomeStatementHistory": {},
"incomeStatementHistoryQuarterly": {},
"indexTrend": {},
"industry": "string",
"industryDisp": "string",
"industryKey": "string",
"industryTrend": {},
"insiderHolders": {},
"insiderTransactions": {},
"institutionOwnership": {},
"irWebsite": "string",
"lastDividendDate": 0,
"lastDividendValue": 0,
"lastFiscalYearEnd": 0,
"lastSplitDate": 0,
"lastSplitFactor": "string",
"logoUrl": "string",
"longBusinessSummary": "string",
"longName": "string",
"majorHoldersBreakdown": {},
"marketCap": 0,
"marketState": "string",
"mostRecentQuarter": 0,
"navPrice": 0,
"netIncomeToCommon": 0,
"netSharePurchaseActivity": {},
"nextFiscalYearEnd": 0,
"numberOfAnalystOpinions": 0,
"open": 0,
"operatingCashflow": 0,
"operatingMargins": 0,
"overallRisk": 0,
"payoutRatio": 0,
"phone": "string",
"postMarketChange": 0,
"postMarketChangePercent": 0,
"postMarketPrice": 0,
"postMarketTime": 0,
"preMarketChange": 0,
"preMarketChangePercent": 0,
"preMarketPrice": 0,
"preMarketTime": 0,
"previousClose": 0,
"priceHint": 0,
"priceToBook": 0,
"profitMargins": 0,
"quickRatio": 0,
"quoteType": "string",
"recommendationKey": "string",
"recommendationMean": 0,
"recommendationTrend": {},
"regularMarketChange": 0,
"regularMarketChangePercent": 0,
"regularMarketDayHigh": 0,
"regularMarketDayLow": 0,
"regularMarketOpen": 0,
"regularMarketPreviousClose": 0,
"regularMarketPrice": 0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"returnOnAssets": 0,
"returnOnEquity": 0,
"revenueGrowth": 0,
"revenuePerShare": 0,
"sandP52WeekChange": 0,
"secFilings": {},
"sector": "string",
"sectorDisp": "string",
"sectorKey": "string",
"sectorTrend": {},
"shareholderRightsRisk": 0,
"sharesOutstanding": 0,
"sharesPercentSharesOut": 0,
"sharesShort": 0,
"sharesShortPriorMonth": 0,
"shortName": "string",
"shortPercentOfFloat": 0,
"shortRatio": 0,
"state": "string",
"symbol": "string",
"targetHighPrice": 0,
"targetLowPrice": 0,
"targetMeanPrice": 0,
"targetMedianPrice": 0,
"timeZoneFullName": "string",
"timeZoneShortName": "string",
"toCurrency": "string",
"topHoldings": {},
"totalAssets": 0,
"totalDebt": 0,
"totalRevenue": 0,
"tradeable": true,
"trailingAnnualDividendRate": 0,
"trailingAnnualDividendYield": 0,
"trailingEps": 0,
"trailingPe": 0,
"twoHundredDayAverage": 0,
"underlyingSymbol": "string",
"upgradeDowngradeHistory": {},
"volume": 0,
"website": "string",
"week52Change": 0,
"yieldValue": 0,
"zip": "string"
}
]GqlQuote[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/indices/{symbol}/constituent-changesAdditions and removals from an index's constituent list.
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
[
{
"addedSecurity": "string",
"date": "string",
"reason": "string",
"removedSecurity": "string",
"removedTicker": "string",
"symbol": "string"
}
]GqlIndexConstituentChange[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Industries 1 endpoint(s)#
GET/v2/industries/{industry}Get industry data
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
format optional | Value format: raw, pretty, or both (default: raw) | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
industry required | Typed industry identifier for the industry endpoint and custom screener queries. |
Responses
200OKapplication/json
{
"benchmark": {
"dayChangePercent": 0.0,
"fiveYearChangePercent": 0.0,
"name": "string",
"oneYearChangePercent": 0.0,
"threeYearChangePercent": 0.0,
"ytdChangePercent": 0.0
},
"key": "string",
"name": "string",
"overview": {
"companiesCount": 0,
"description": "string",
"employeeCount": 0,
"marketCap": 0.0,
"marketWeight": 0.0
},
"performance": {
"dayChangePercent": 0.0,
"fiveYearChangePercent": 0.0,
"oneYearChangePercent": 0.0,
"threeYearChangePercent": 0.0,
"ytdChangePercent": 0.0
},
"researchReports": [
{
"id": "string",
"investmentRating": "string",
"provider": "string",
"reportDate": "string",
"reportType": "string",
"targetPrice": 0.0,
"targetPriceStatus": "string",
"title": "string"
}
],
"sectorKey": "string",
"sectorName": "string",
"symbol": "string",
"topCompanies": [
{
"dayChangePercent": 0.0,
"lastPrice": 0.0,
"marketCap": 0.0,
"marketWeight": 0.0,
"name": "string",
"rating": "string",
"symbol": "string",
"targetPrice": 0.0,
"ytdReturn": 0.0
}
],
"topGrowthCompanies": [
{
"growthEstimate": 0.0,
"lastPrice": 0.0,
"name": "string",
"symbol": "string",
"ytdReturn": 0.0
}
],
"topPerformingCompanies": [
{
"lastPrice": 0.0,
"name": "string",
"symbol": "string",
"targetPrice": 0.0,
"ytdReturn": 0.0
}
]
}GqlIndustryData
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Key metrics ttm 1 endpoint(s)#
GET/v2/key-metrics-ttm/{symbol}Trailing-twelve-month key metrics.
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"averageInventory": 0.0,
"averagePayables": 0.0,
"averageReceivables": 0.0,
"capexToDepreciation": 0.0,
"capexToOperatingCashFlow": 0.0,
"capexToRevenue": 0.0,
"cashConversionCycle": 0.0,
"currentRatio": 0.0,
"daysOfInventoryOutstanding": 0.0,
"daysOfPayablesOutstanding": 0.0,
"daysOfSalesOutstanding": 0.0,
"earningsYield": 0.0,
"enterpriseValue": 0.0,
"evToEbitda": 0.0,
"evToFreeCashFlow": 0.0,
"evToOperatingCashFlow": 0.0,
"evToSales": 0.0,
"freeCashFlowToEquity": 0.0,
"freeCashFlowToFirm": 0.0,
"freeCashFlowYield": 0.0,
"grahamNetNet": 0.0,
"grahamNumber": 0.0,
"incomeQuality": 0.0,
"intangiblesToTotalAssets": 0.0,
"interestBurden": 0.0,
"investedCapital": 0.0,
"marketCap": 0.0,
"netCurrentAssetValue": 0.0,
"netDebtToEbitda": 0.0,
"operatingCycle": 0.0,
"operatingReturnOnAssets": 0.0,
"researchAndDevelopmentToRevenue": 0.0,
"returnOnAssets": 0.0,
"returnOnCapitalEmployed": 0.0,
"returnOnEquity": 0.0,
"returnOnInvestedCapital": 0.0,
"returnOnTangibleAssets": 0.0,
"salesGeneralAndAdministrativeToRevenue": 0.0,
"stockBasedCompensationToRevenue": 0.0,
"symbol": "string",
"tangibleAssetValue": 0.0,
"taxBurden": 0.0,
"workingCapital": 0.0
}GqlKeyMetricsTtm
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Lookup 1 endpoint(s)#
GET/v2/lookupLook up symbols by type
Parameters
| name | description | value |
|---|---|---|
count optional | Maximum number of results (default: 25) | |
fields optional | Comma-separated list of fields to include in response | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
logo optional | Include logo URLs (requires additional API call, default: false) | |
q required | Lookup query string (required) | |
region optional | Region code for lang/region settings (e.g., "US", "JP", "GB") | |
type optional | Asset type filter: all, equity, mutualfund, etf, index, future, currency, cryptocurrency |
Responses
200OKapplication/json
{
"count": 0,
"quotes": [
{
"companyLogoUrl": "string",
"exchDisp": "string",
"exchange": "string",
"industry": "string",
"logoUrl": "string",
"longName": "string",
"quoteType": "string",
"regularMarketChange": 0.0,
"regularMarketChangePercent": 0.0,
"regularMarketPreviousClose": 0.0,
"regularMarketPrice": 0.0,
"sector": "string",
"shortName": "string",
"symbol": "string",
"typeDisp": "string"
}
],
"start": 0
}GqlLookupResults
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Market calendar 1 endpoint(s)#
GET/v2/market-calendarGet a market-wide event calendar
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
from optional | Start date (YYYY-MM-DD); ignored by market-holiday/market-status | |
kind required | Which market-wide calendar to fetch (required) | |
to optional | End date (YYYY-MM-DD); ignored by market-holiday/market-status |
Responses
200OKapplication/json
[
{
"date": "string",
"detail": {
"EARNINGS": {
"eps": 0.0,
"epsEstimated": 0.0,
"fiscalDateEnding": "string",
"revenue": 0.0,
"revenueEstimated": 0.0,
"time": "string"
}
},
"symbol": "string"
}
]GqlMarketCalendarEntry[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Market summary 1 endpoint(s)#
GET/v2/market-summaryGet market summary
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
format optional | Value format: raw, pretty, or both (default: raw) | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
region optional | Region code for localization (e.g., "US", "JP", "GB") |
Responses
200OKapplication/json
[
{
"exchange": "string",
"fullExchangeName": "string",
"marketState": "string",
"quoteType": "string",
"regularMarketChange": 0,
"regularMarketChangePercent": 0,
"regularMarketPreviousClose": 0,
"regularMarketPrice": 0,
"regularMarketTime": 0,
"shortName": "string",
"spark": {},
"symbol": "string"
}
]GqlMarketSummaryQuote[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Metrics 1 endpoint(s)#
GET/v2/metricsPrometheus metrics
Parameters
Responses
200OKapplication/json
"string"
MetricsText
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
News 2 endpoint(s)#
GET/v2/newsGet general market news
Parameters
| name | description | value |
|---|---|---|
count optional | Maximum number of articles to return (default: 10) | |
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
limit optional | Max articles per page; omitted (with cursor also omitted) = every fetched article (up to `count`) as a bare array, unchanged from pre-pagination behavior |
Responses
200OKapplication/json
[
{
"img": "string",
"link": "string",
"sentiment": {
"confidence": 0.0,
"label": "string",
"score": 0.0
},
"source": "string",
"time": "string",
"title": "string"
}
]GqlNews[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/news/{symbol}Get news for a symbol
Parameters
| name | description | value |
|---|---|---|
count optional | Maximum number of articles to return (default: 10) | |
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
limit optional | Max articles per page; omitted (with cursor also omitted) = every fetched article (up to `count`) as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
[
{
"img": "string",
"link": "string",
"sentiment": {
"confidence": 0.0,
"label": "string",
"score": 0.0
},
"source": "string",
"time": "string",
"title": "string"
}
]GqlNews[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Options 2 endpoint(s)#
GET/v2/optionsGet batch options chains
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
date optional | Expiration date (Unix timestamp, optional) | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's options chain as a bare array, unchanged from pre-pagination behavior | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"errors": [
{
"message": "string",
"symbol": "string"
}
],
"options": {
"edges": [
{
"cursor": "string",
"node": {
"options": {
"calls": {
"edges": [
{
"cursor": "string",
"node": {
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
}
],
"nodes": [
{
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"expirationDates": [
0
],
"puts": {
"edges": [
{
"cursor": "string",
"node": {
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
}
],
"nodes": [
{
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"strikes": [
0.0
]
},
"symbol": "string"
}
}
],
"nodes": [
{
"options": {
"calls": {
"edges": [
{
"cursor": "string",
"node": {
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
}
],
"nodes": [
{
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"expirationDates": [
0
],
"puts": {
"edges": [
{
"cursor": "string",
"node": {
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
}
],
"nodes": [
{
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"strikes": [
0.0
]
},
"symbol": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
}
}GqlOptionsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/options/{symbol}Get options chain
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` (applied to both `calls` and `puts`) | |
date optional | Optional expiration date (Unix timestamp) | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max contracts per side per page; omitted (with cursor also omitted) = every matching contract as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
{
"calls": {
"edges": [
{
"cursor": "string",
"node": {
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
}
],
"nodes": [
{
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"expirationDates": [
0
],
"puts": {
"edges": [
{
"cursor": "string",
"node": {
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
}
],
"nodes": [
{
"ask": 0.0,
"bid": 0.0,
"change": 0.0,
"contractSize": "string",
"contractSymbol": "string",
"currency": "string",
"expiration": 0,
"impliedVolatility": 0.0,
"inTheMoney": true,
"lastPrice": 0.0,
"lastTradeDate": 0,
"openInterest": 0,
"percentChange": 0.0,
"strike": 0.0,
"volume": 0
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"strikes": [
0.0
]
}GqlOptions
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Ping 1 endpoint(s)#
GET/v2/pingPing endpoint
Parameters
Responses
200OKapplication/json
{
"message": "string"
}PingResponse
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Press releases 1 endpoint(s)#
GET/v2/press-releases/{symbol}Get a company's own press releases
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
limit optional | Maximum number of releases to return (default: 10) | |
symbol required |
Responses
200OKapplication/json
[
{
"date": "string",
"symbol": "string",
"text": "string",
"title": "string"
}
]GqlPressRelease[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Price target consensus 1 endpoint(s)#
GET/v2/price-target-consensus/{symbol}Get consensus analyst price target
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"symbol": "string",
"targetConsensus": 0.0,
"targetHigh": 0.0,
"targetLow": 0.0,
"targetMedian": 0.0
}GqlPriceTargetConsensus
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Price target summary 1 endpoint(s)#
GET/v2/price-target-summary/{symbol}Analyst price-target counts and averages per window.
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"allTimeAvg": 0.0,
"allTimeCount": 0,
"lastMonthAvg": 0.0,
"lastMonthCount": 0,
"lastQuarterAvg": 0.0,
"lastQuarterCount": 0,
"lastYearAvg": 0.0,
"lastYearCount": 0,
"symbol": "string"
}GqlPriceTargetSummary
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Quote 1 endpoint(s)#
GET/v2/quote/{symbol}Get quote for a symbol
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
format optional | Value format: raw, pretty, or both (default: raw) | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
logo optional | Whether to include company logo URL (default: false) | |
symbol required |
Responses
200OKapplication/json
{
"allTimeHigh": 0,
"allTimeLow": 0,
"ask": 0,
"askSize": 0,
"auditRisk": 0,
"averageVolume": 0,
"balanceSheetHistory": {},
"balanceSheetHistoryQuarterly": {},
"beta": 0,
"bid": 0,
"bidSize": 0,
"boardRisk": 0,
"bookValue": 0,
"calendarEvents": {},
"cashflowStatementHistory": {},
"cashflowStatementHistoryQuarterly": {},
"category": "string",
"city": "string",
"companyLogoUrl": "string",
"companyOfficers": {},
"compensationRisk": 0,
"country": "string",
"currency": "string",
"currencySymbol": "string",
"currentPrice": 0,
"currentRatio": 0,
"dateShortInterest": 0,
"dayHigh": 0,
"dayLow": 0,
"debtToEquity": 0,
"dividendRate": 0,
"dividendYield": 0,
"earnings": {},
"earningsGrowth": 0,
"earningsHistory": {},
"earningsQuarterlyGrowth": 0,
"earningsTrend": {},
"ebitdaMargins": 0,
"enterpriseToEbitda": 0,
"enterpriseToRevenue": 0,
"enterpriseValue": 0,
"equityPerformance": {},
"exDividendDate": 0,
"exchange": "string",
"exchangeDataDelayedBy": 0,
"exchangeName": "string",
"fiftyDayAverage": 0,
"fiftyTwoWeekHigh": 0,
"fiftyTwoWeekLow": 0,
"financialCurrency": "string",
"firstTradeDateEpochUtc": 0,
"fiveYearAvgDividendYield": 0,
"floatShares": 0,
"forwardEps": 0,
"forwardPe": 0,
"freeCashflow": 0,
"fromCurrency": "string",
"fullTimeEmployees": 0,
"fundFamily": "string",
"fundOwnership": {},
"fundPerformance": {},
"fundProfile": {},
"gmtOffSetMilliseconds": 0,
"grossMargins": 0,
"grossProfits": 0,
"heldPercentInsiders": 0,
"heldPercentInstitutions": 0,
"impliedSharesOutstanding": 0,
"incomeStatementHistory": {},
"incomeStatementHistoryQuarterly": {},
"indexTrend": {},
"industry": "string",
"industryDisp": "string",
"industryKey": "string",
"industryTrend": {},
"insiderHolders": {},
"insiderTransactions": {},
"institutionOwnership": {},
"irWebsite": "string",
"lastDividendDate": 0,
"lastDividendValue": 0,
"lastFiscalYearEnd": 0,
"lastSplitDate": 0,
"lastSplitFactor": "string",
"logoUrl": "string",
"longBusinessSummary": "string",
"longName": "string",
"majorHoldersBreakdown": {},
"marketCap": 0,
"marketState": "string",
"mostRecentQuarter": 0,
"navPrice": 0,
"netIncomeToCommon": 0,
"netSharePurchaseActivity": {},
"nextFiscalYearEnd": 0,
"numberOfAnalystOpinions": 0,
"open": 0,
"operatingCashflow": 0,
"operatingMargins": 0,
"overallRisk": 0,
"payoutRatio": 0,
"phone": "string",
"postMarketChange": 0,
"postMarketChangePercent": 0,
"postMarketPrice": 0,
"postMarketTime": 0,
"preMarketChange": 0,
"preMarketChangePercent": 0,
"preMarketPrice": 0,
"preMarketTime": 0,
"previousClose": 0,
"priceHint": 0,
"priceToBook": 0,
"profitMargins": 0,
"quickRatio": 0,
"quoteType": "string",
"recommendationKey": "string",
"recommendationMean": 0,
"recommendationTrend": {},
"regularMarketChange": 0,
"regularMarketChangePercent": 0,
"regularMarketDayHigh": 0,
"regularMarketDayLow": 0,
"regularMarketOpen": 0,
"regularMarketPreviousClose": 0,
"regularMarketPrice": 0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"returnOnAssets": 0,
"returnOnEquity": 0,
"revenueGrowth": 0,
"revenuePerShare": 0,
"sandP52WeekChange": 0,
"secFilings": {},
"sector": "string",
"sectorDisp": "string",
"sectorKey": "string",
"sectorTrend": {},
"shareholderRightsRisk": 0,
"sharesOutstanding": 0,
"sharesPercentSharesOut": 0,
"sharesShort": 0,
"sharesShortPriorMonth": 0,
"shortName": "string",
"shortPercentOfFloat": 0,
"shortRatio": 0,
"state": "string",
"symbol": "string",
"targetHighPrice": 0,
"targetLowPrice": 0,
"targetMeanPrice": 0,
"targetMedianPrice": 0,
"timeZoneFullName": "string",
"timeZoneShortName": "string",
"toCurrency": "string",
"topHoldings": {},
"totalAssets": 0,
"totalDebt": 0,
"totalRevenue": 0,
"tradeable": true,
"trailingAnnualDividendRate": 0,
"trailingAnnualDividendYield": 0,
"trailingEps": 0,
"trailingPe": 0,
"twoHundredDayAverage": 0,
"underlyingSymbol": "string",
"upgradeDowngradeHistory": {},
"volume": 0,
"website": "string",
"week52Change": 0,
"yieldValue": 0,
"zip": "string"
}GqlQuote
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Quote type 1 endpoint(s)#
GET/v2/quote-type/{symbol}Get quote type
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"exchange": "string",
"firstTradeDateEpochUtc": 0,
"gmtOffSetMilliseconds": 0,
"longName": "string",
"maxAge": 0,
"messageBoardId": "string",
"quoteType": "string",
"shortName": "string",
"symbol": "string",
"timeZoneFullName": "string",
"timeZoneShortName": "string",
"underlyingSymbol": "string",
"uuid": "string"
}GqlQuoteTypeData
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Quotes 1 endpoint(s)#
GET/v2/quotesGet quotes for multiple symbols
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
format optional | Value format: raw, pretty, or both (default: raw) | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
limit optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's quote as a bare array, unchanged from pre-pagination behavior | |
logo optional | Whether to include company logo URLs (default: false) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"errors": [
{
"message": "string",
"symbol": "string"
}
],
"quotes": {
"edges": [
{
"cursor": "string",
"node": {
"allTimeHigh": 0,
"allTimeLow": 0,
"ask": 0,
"askSize": 0,
"auditRisk": 0,
"averageVolume": 0,
"balanceSheetHistory": {},
"balanceSheetHistoryQuarterly": {},
"beta": 0,
"bid": 0,
"bidSize": 0,
"boardRisk": 0,
"bookValue": 0,
"calendarEvents": {},
"cashflowStatementHistory": {},
"cashflowStatementHistoryQuarterly": {},
"category": "string",
"city": "string",
"companyLogoUrl": "string",
"companyOfficers": {},
"compensationRisk": 0,
"country": "string",
"currency": "string",
"currencySymbol": "string",
"currentPrice": 0,
"currentRatio": 0,
"dateShortInterest": 0,
"dayHigh": 0,
"dayLow": 0,
"debtToEquity": 0,
"dividendRate": 0,
"dividendYield": 0,
"earnings": {},
"earningsGrowth": 0,
"earningsHistory": {},
"earningsQuarterlyGrowth": 0,
"earningsTrend": {},
"ebitdaMargins": 0,
"enterpriseToEbitda": 0,
"enterpriseToRevenue": 0,
"enterpriseValue": 0,
"equityPerformance": {},
"exDividendDate": 0,
"exchange": "string",
"exchangeDataDelayedBy": 0,
"exchangeName": "string",
"fiftyDayAverage": 0,
"fiftyTwoWeekHigh": 0,
"fiftyTwoWeekLow": 0,
"financialCurrency": "string",
"firstTradeDateEpochUtc": 0,
"fiveYearAvgDividendYield": 0,
"floatShares": 0,
"forwardEps": 0,
"forwardPe": 0,
"freeCashflow": 0,
"fromCurrency": "string",
"fullTimeEmployees": 0,
"fundFamily": "string",
"fundOwnership": {},
"fundPerformance": {},
"fundProfile": {},
"gmtOffSetMilliseconds": 0,
"grossMargins": 0,
"grossProfits": 0,
"heldPercentInsiders": 0,
"heldPercentInstitutions": 0,
"impliedSharesOutstanding": 0,
"incomeStatementHistory": {},
"incomeStatementHistoryQuarterly": {},
"indexTrend": {},
"industry": "string",
"industryDisp": "string",
"industryKey": "string",
"industryTrend": {},
"insiderHolders": {},
"insiderTransactions": {},
"institutionOwnership": {},
"irWebsite": "string",
"lastDividendDate": 0,
"lastDividendValue": 0,
"lastFiscalYearEnd": 0,
"lastSplitDate": 0,
"lastSplitFactor": "string",
"logoUrl": "string",
"longBusinessSummary": "string",
"longName": "string",
"majorHoldersBreakdown": {},
"marketCap": 0,
"marketState": "string",
"mostRecentQuarter": 0,
"navPrice": 0,
"netIncomeToCommon": 0,
"netSharePurchaseActivity": {},
"nextFiscalYearEnd": 0,
"numberOfAnalystOpinions": 0,
"open": 0,
"operatingCashflow": 0,
"operatingMargins": 0,
"overallRisk": 0,
"payoutRatio": 0,
"phone": "string",
"postMarketChange": 0,
"postMarketChangePercent": 0,
"postMarketPrice": 0,
"postMarketTime": 0,
"preMarketChange": 0,
"preMarketChangePercent": 0,
"preMarketPrice": 0,
"preMarketTime": 0,
"previousClose": 0,
"priceHint": 0,
"priceToBook": 0,
"profitMargins": 0,
"quickRatio": 0,
"quoteType": "string",
"recommendationKey": "string",
"recommendationMean": 0,
"recommendationTrend": {},
"regularMarketChange": 0,
"regularMarketChangePercent": 0,
"regularMarketDayHigh": 0,
"regularMarketDayLow": 0,
"regularMarketOpen": 0,
"regularMarketPreviousClose": 0,
"regularMarketPrice": 0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"returnOnAssets": 0,
"returnOnEquity": 0,
"revenueGrowth": 0,
"revenuePerShare": 0,
"sandP52WeekChange": 0,
"secFilings": {},
"sector": "string",
"sectorDisp": "string",
"sectorKey": "string",
"sectorTrend": {},
"shareholderRightsRisk": 0,
"sharesOutstanding": 0,
"sharesPercentSharesOut": 0,
"sharesShort": 0,
"sharesShortPriorMonth": 0,
"shortName": "string",
"shortPercentOfFloat": 0,
"shortRatio": 0,
"state": "string",
"symbol": "string",
"targetHighPrice": 0,
"targetLowPrice": 0,
"targetMeanPrice": 0,
"targetMedianPrice": 0,
"timeZoneFullName": "string",
"timeZoneShortName": "string",
"toCurrency": "string",
"topHoldings": {},
"totalAssets": 0,
"totalDebt": 0,
"totalRevenue": 0,
"tradeable": true,
"trailingAnnualDividendRate": 0,
"trailingAnnualDividendYield": 0,
"trailingEps": 0,
"trailingPe": 0,
"twoHundredDayAverage": 0,
"underlyingSymbol": "string",
"upgradeDowngradeHistory": {},
"volume": 0,
"website": "string",
"week52Change": 0,
"yieldValue": 0,
"zip": "string"
}
}
],
"nodes": [
{
"allTimeHigh": 0,
"allTimeLow": 0,
"ask": 0,
"askSize": 0,
"auditRisk": 0,
"averageVolume": 0,
"balanceSheetHistory": {},
"balanceSheetHistoryQuarterly": {},
"beta": 0,
"bid": 0,
"bidSize": 0,
"boardRisk": 0,
"bookValue": 0,
"calendarEvents": {},
"cashflowStatementHistory": {},
"cashflowStatementHistoryQuarterly": {},
"category": "string",
"city": "string",
"companyLogoUrl": "string",
"companyOfficers": {},
"compensationRisk": 0,
"country": "string",
"currency": "string",
"currencySymbol": "string",
"currentPrice": 0,
"currentRatio": 0,
"dateShortInterest": 0,
"dayHigh": 0,
"dayLow": 0,
"debtToEquity": 0,
"dividendRate": 0,
"dividendYield": 0,
"earnings": {},
"earningsGrowth": 0,
"earningsHistory": {},
"earningsQuarterlyGrowth": 0,
"earningsTrend": {},
"ebitdaMargins": 0,
"enterpriseToEbitda": 0,
"enterpriseToRevenue": 0,
"enterpriseValue": 0,
"equityPerformance": {},
"exDividendDate": 0,
"exchange": "string",
"exchangeDataDelayedBy": 0,
"exchangeName": "string",
"fiftyDayAverage": 0,
"fiftyTwoWeekHigh": 0,
"fiftyTwoWeekLow": 0,
"financialCurrency": "string",
"firstTradeDateEpochUtc": 0,
"fiveYearAvgDividendYield": 0,
"floatShares": 0,
"forwardEps": 0,
"forwardPe": 0,
"freeCashflow": 0,
"fromCurrency": "string",
"fullTimeEmployees": 0,
"fundFamily": "string",
"fundOwnership": {},
"fundPerformance": {},
"fundProfile": {},
"gmtOffSetMilliseconds": 0,
"grossMargins": 0,
"grossProfits": 0,
"heldPercentInsiders": 0,
"heldPercentInstitutions": 0,
"impliedSharesOutstanding": 0,
"incomeStatementHistory": {},
"incomeStatementHistoryQuarterly": {},
"indexTrend": {},
"industry": "string",
"industryDisp": "string",
"industryKey": "string",
"industryTrend": {},
"insiderHolders": {},
"insiderTransactions": {},
"institutionOwnership": {},
"irWebsite": "string",
"lastDividendDate": 0,
"lastDividendValue": 0,
"lastFiscalYearEnd": 0,
"lastSplitDate": 0,
"lastSplitFactor": "string",
"logoUrl": "string",
"longBusinessSummary": "string",
"longName": "string",
"majorHoldersBreakdown": {},
"marketCap": 0,
"marketState": "string",
"mostRecentQuarter": 0,
"navPrice": 0,
"netIncomeToCommon": 0,
"netSharePurchaseActivity": {},
"nextFiscalYearEnd": 0,
"numberOfAnalystOpinions": 0,
"open": 0,
"operatingCashflow": 0,
"operatingMargins": 0,
"overallRisk": 0,
"payoutRatio": 0,
"phone": "string",
"postMarketChange": 0,
"postMarketChangePercent": 0,
"postMarketPrice": 0,
"postMarketTime": 0,
"preMarketChange": 0,
"preMarketChangePercent": 0,
"preMarketPrice": 0,
"preMarketTime": 0,
"previousClose": 0,
"priceHint": 0,
"priceToBook": 0,
"profitMargins": 0,
"quickRatio": 0,
"quoteType": "string",
"recommendationKey": "string",
"recommendationMean": 0,
"recommendationTrend": {},
"regularMarketChange": 0,
"regularMarketChangePercent": 0,
"regularMarketDayHigh": 0,
"regularMarketDayLow": 0,
"regularMarketOpen": 0,
"regularMarketPreviousClose": 0,
"regularMarketPrice": 0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"returnOnAssets": 0,
"returnOnEquity": 0,
"revenueGrowth": 0,
"revenuePerShare": 0,
"sandP52WeekChange": 0,
"secFilings": {},
"sector": "string",
"sectorDisp": "string",
"sectorKey": "string",
"sectorTrend": {},
"shareholderRightsRisk": 0,
"sharesOutstanding": 0,
"sharesPercentSharesOut": 0,
"sharesShort": 0,
"sharesShortPriorMonth": 0,
"shortName": "string",
"shortPercentOfFloat": 0,
"shortRatio": 0,
"state": "string",
"symbol": "string",
"targetHighPrice": 0,
"targetLowPrice": 0,
"targetMeanPrice": 0,
"targetMedianPrice": 0,
"timeZoneFullName": "string",
"timeZoneShortName": "string",
"toCurrency": "string",
"topHoldings": {},
"totalAssets": 0,
"totalDebt": 0,
"totalRevenue": 0,
"tradeable": true,
"trailingAnnualDividendRate": 0,
"trailingAnnualDividendYield": 0,
"trailingEps": 0,
"trailingPe": 0,
"twoHundredDayAverage": 0,
"underlyingSymbol": "string",
"upgradeDowngradeHistory": {},
"volume": 0,
"website": "string",
"week52Change": 0,
"yieldValue": 0,
"zip": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
}
}GqlQuotesBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Rating consensus 1 endpoint(s)#
GET/v2/rating-consensus/{symbol}Get consensus rating rollup
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"buy": 0,
"consensus": "string",
"hold": 0,
"sell": 0,
"strongBuy": 0,
"strongSell": 0,
"symbol": "string"
}GqlRatingConsensus
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Ratios ttm 1 endpoint(s)#
GET/v2/ratios-ttm/{symbol}Trailing-twelve-month financial ratios.
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"assetTurnover": 0.0,
"bookValuePerShare": 0.0,
"bottomLineProfitMargin": 0.0,
"capexPerShare": 0.0,
"capitalExpenditureCoverageRatio": 0.0,
"cashPerShare": 0.0,
"cashRatio": 0.0,
"continuousOperationsProfitMargin": 0.0,
"currentRatio": 0.0,
"debtEquityRatio": 0.0,
"debtRatio": 0.0,
"debtServiceCoverageRatio": 0.0,
"debtToCapitalRatio": 0.0,
"debtToMarketCap": 0.0,
"dividendPaidAndCapexCoverageRatio": 0.0,
"dividendPerShare": 0.0,
"dividendYield": 0.0,
"ebitMargin": 0.0,
"ebitdaMargin": 0.0,
"ebtPerEbit": 0.0,
"effectiveTaxRate": 0.0,
"enterpriseValue": 0.0,
"enterpriseValueMultiple": 0.0,
"financialLeverageRatio": 0.0,
"fixedAssetTurnover": 0.0,
"forwardPegRatio": 0.0,
"freeCashFlowOperatingCashFlowRatio": 0.0,
"freeCashFlowPerShare": 0.0,
"grossProfitMargin": 0.0,
"interestCoverage": 0.0,
"interestDebtPerShare": 0.0,
"inventoryTurnover": 0.0,
"longTermDebtToCapitalRatio": 0.0,
"netIncomePerEbt": 0.0,
"netIncomePerShare": 0.0,
"netProfitMargin": 0.0,
"operatingCashFlowCoverageRatio": 0.0,
"operatingCashFlowPerShare": 0.0,
"operatingCashFlowRatio": 0.0,
"operatingCashFlowSalesRatio": 0.0,
"operatingProfitMargin": 0.0,
"payablesTurnover": 0.0,
"payoutRatio": 0.0,
"pegRatio": 0.0,
"pretaxProfitMargin": 0.0,
"priceEarningsRatio": 0.0,
"priceToBookRatio": 0.0,
"priceToEarningsDilutedGrowthRatio": 0.0,
"priceToEarningsDilutedRatio": 0.0,
"priceToFairValue": 0.0,
"priceToFreeCashFlowsRatio": 0.0,
"priceToOperatingCashFlowRatio": 0.0,
"priceToSalesRatio": 0.0,
"quickRatio": 0.0,
"receivablesTurnover": 0.0,
"revenuePerShare": 0.0,
"shareholdersEquityPerShare": 0.0,
"shortTermOperatingCashFlowCoverageRatio": 0.0,
"solvencyRatio": 0.0,
"symbol": "string",
"tangibleBookValuePerShare": 0.0,
"workingCapitalTurnoverRatio": 0.0
}GqlFinancialRatiosTtm
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Recommendations 2 endpoint(s)#
GET/v2/recommendationsGet batch stock recommendations
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
limit optional | Maximum number of similar symbols per requested symbol | |
pageCursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
pageLimit optional | Max symbols per page; omitted (with page_cursor also omitted) = every requested symbol's recommendations as a bare array, unchanged from pre-pagination behavior | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"errors": [
{
"message": "string",
"symbol": "string"
}
],
"recommendations": {
"edges": [
{
"cursor": "string",
"node": {
"providerId": "string",
"recommendations": [
{
"score": 0.0,
"symbol": "string"
}
],
"symbol": "string"
}
}
],
"nodes": [
{
"providerId": "string",
"recommendations": [
{
"score": 0.0,
"symbol": "string"
}
],
"symbol": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
}
}GqlRecommendationsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/recommendations/{symbol}Get similar stock recommendations
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
limit optional | Maximum number of similar symbols to return | |
symbol required |
Responses
200OKapplication/json
{
"providerId": "string",
"recommendations": [
{
"score": 0.0,
"symbol": "string"
}
],
"symbol": "string"
}GqlRecommendation
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Risk 1 endpoint(s)#
GET/v2/risk/{symbol}Risk analytics
Parameters
| name | description | value |
|---|---|---|
benchmark optional | Optional benchmark symbol for beta calculation (e.g., "SPY") | |
fields optional | Comma-separated list of fields to include in response | |
interval optional | Candle interval (default: 1d) | |
range optional | Time range (default: 1mo) | |
symbol required |
Responses
200OKapplication/json
{
"beta": 0.0,
"calmar": 0.0,
"cvar95": 0.0,
"cvar99": 0.0,
"informationRatio": 0.0,
"kelly": 0.0,
"maxDrawdown": 0.0,
"maxDrawdownRecoveryPeriods": 0.0,
"omega": 0.0,
"parametricCvar95": 0.0,
"parametricVar95": 0.0,
"sharpe": 0.0,
"sortino": 0.0,
"trackingError": 0.0,
"ulcerIndex": 0.0,
"var95": 0.0,
"var99": 0.0
}GqlRiskSummary
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Screeners 2 endpoint(s)#
POST/v2/screeners/customCustom screener query
Parameters
Request body
Request body
application/json
{
"fields": "string",
"filters": [
{
"field": "string",
"operator": "string",
"value": {}
}
],
"format": "raw",
"offset": 0,
"quoteType": "EQUITY",
"size": 0,
"sortField": "string",
"sortType": "ASC"
}CustomScreenerRequest
Responses
200OKapplication/json
{
"description": "string",
"lastUpdated": 0,
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
},
"quotes": [
{
"ask": 0,
"askSize": 0,
"averageAnalystRating": "string",
"averageDailyVolume10Day": 0,
"averageDailyVolume3Month": 0,
"bid": 0,
"bidSize": 0,
"bookValue": 0,
"currency": "string",
"displayName": "string",
"dividendDate": 0,
"dividendRate": 0,
"dividendYield": 0,
"earningsTimestamp": 0,
"earningsTimestampEnd": 0,
"earningsTimestampStart": 0,
"epsCurrentYear": 0,
"epsForward": 0,
"epsTrailingTwelveMonths": 0,
"exchange": "string",
"fiftyDayAverage": 0,
"fiftyDayAverageChange": 0,
"fiftyDayAverageChangePercent": 0,
"fiftyTwoWeekChange": 0,
"fiftyTwoWeekChangePercent": 0,
"fiftyTwoWeekHigh": 0,
"fiftyTwoWeekLow": 0,
"forwardPE": 0,
"longName": "string",
"marketCap": 0,
"postMarketChange": 0,
"postMarketChangePercent": 0,
"postMarketPrice": 0,
"postMarketTime": 0,
"preMarketChange": 0,
"preMarketChangePercent": 0,
"preMarketPrice": 0,
"preMarketTime": 0,
"priceEpsCurrentYear": 0,
"priceToBook": 0,
"quoteType": "string",
"regularMarketChange": 0,
"regularMarketChangePercent": 0,
"regularMarketDayHigh": 0,
"regularMarketDayLow": 0,
"regularMarketOpen": 0,
"regularMarketPreviousClose": 0,
"regularMarketPrice": 0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"sharesOutstanding": 0,
"shortName": "string",
"symbol": "string",
"trailingAnnualDividendRate": 0,
"trailingAnnualDividendYield": 0,
"trailingPE": 0,
"twoHundredDayAverage": 0,
"twoHundredDayAverageChange": 0,
"twoHundredDayAverageChangePercent": 0
}
],
"total": 0,
"type": "string"
}GqlScreenerResults
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/screeners/{screener}Get screener results
Parameters
| name | description | value |
|---|---|---|
count optional | Number of results (default: 25, max: 250) | |
fields optional | Comma-separated list of fields to include in response | |
format optional | Value format: raw, pretty, or both (default: raw) | |
screener required | Predefined Yahoo Finance screener selector |
Responses
200OKapplication/json
{
"description": "string",
"lastUpdated": 0,
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
},
"quotes": [
{
"ask": 0,
"askSize": 0,
"averageAnalystRating": "string",
"averageDailyVolume10Day": 0,
"averageDailyVolume3Month": 0,
"bid": 0,
"bidSize": 0,
"bookValue": 0,
"currency": "string",
"displayName": "string",
"dividendDate": 0,
"dividendRate": 0,
"dividendYield": 0,
"earningsTimestamp": 0,
"earningsTimestampEnd": 0,
"earningsTimestampStart": 0,
"epsCurrentYear": 0,
"epsForward": 0,
"epsTrailingTwelveMonths": 0,
"exchange": "string",
"fiftyDayAverage": 0,
"fiftyDayAverageChange": 0,
"fiftyDayAverageChangePercent": 0,
"fiftyTwoWeekChange": 0,
"fiftyTwoWeekChangePercent": 0,
"fiftyTwoWeekHigh": 0,
"fiftyTwoWeekLow": 0,
"forwardPE": 0,
"longName": "string",
"marketCap": 0,
"postMarketChange": 0,
"postMarketChangePercent": 0,
"postMarketPrice": 0,
"postMarketTime": 0,
"preMarketChange": 0,
"preMarketChangePercent": 0,
"preMarketPrice": 0,
"preMarketTime": 0,
"priceEpsCurrentYear": 0,
"priceToBook": 0,
"quoteType": "string",
"regularMarketChange": 0,
"regularMarketChangePercent": 0,
"regularMarketDayHigh": 0,
"regularMarketDayLow": 0,
"regularMarketOpen": 0,
"regularMarketPreviousClose": 0,
"regularMarketPrice": 0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"sharesOutstanding": 0,
"shortName": "string",
"symbol": "string",
"trailingAnnualDividendRate": 0,
"trailingAnnualDividendYield": 0,
"trailingPE": 0,
"twoHundredDayAverage": 0,
"twoHundredDayAverageChange": 0,
"twoHundredDayAverageChangePercent": 0
}
],
"total": 0,
"type": "string"
}GqlScreenerResults
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Search 1 endpoint(s)#
GET/v2/searchSearch symbols and companies
Parameters
| name | description | value |
|---|---|---|
cultural optional | Enable cultural assets/NFT indices (default: false) | |
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
fuzzy optional | Enable fuzzy matching for typos (default: false) | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
limit optional | Max quotes per page; omitted (with cursor also omitted) = every fetched quote (up to `quotes`) as a bare array, unchanged from pre-pagination behavior | |
logo optional | Enable logo URLs in results (default: true) | |
news optional | Maximum number of news results (default: 0 = disabled) | |
q required | Search query string (required) | |
quotes optional | Maximum number of quote results (default: 6) | |
region optional | Region code for lang/region settings (e.g., "US", "JP", "GB") | |
research optional | Enable research reports (default: false) |
Responses
200OKapplication/json
{
"count": 0,
"news": [
{
"link": "string",
"providerPublishTime": 0,
"publisher": "string",
"relatedTickers": [
"string"
],
"thumbnail": {},
"title": "string",
"type": "string",
"uuid": "string"
}
],
"quotes": {
"edges": [
{
"cursor": "string",
"node": {
"dispSecIndFlag": true,
"exchDisp": "string",
"exchange": "string",
"industry": "string",
"industryDisp": "string",
"isYahooFinance": true,
"logoUrl": "string",
"longName": "string",
"quoteType": "string",
"score": 0.0,
"sector": "string",
"sectorDisp": "string",
"shortName": "string",
"symbol": "string",
"typeDisp": "string"
}
}
],
"nodes": [
{
"dispSecIndFlag": true,
"exchDisp": "string",
"exchange": "string",
"industry": "string",
"industryDisp": "string",
"isYahooFinance": true,
"logoUrl": "string",
"longName": "string",
"quoteType": "string",
"score": 0.0,
"sector": "string",
"sectorDisp": "string",
"shortName": "string",
"symbol": "string",
"typeDisp": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"researchReports": [
{
"author": "string",
"id": "string",
"provider": "string",
"reportDate": 0,
"reportHeadline": "string"
}
],
"totalTime": 0
}GqlSearchResults
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Sector pe 1 endpoint(s)#
GET/v2/sector-peGet price/earnings ratios by sector
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response |
Responses
200OKapplication/json
[
{
"date": "string",
"exchange": "string",
"pe": 0.0,
"sector": "string"
}
]GqlMarketSectorPe[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Sector performance 2 endpoint(s)#
GET/v2/sector-performanceGet aggregate performance for every sector
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response |
Responses
200OKapplication/json
[
{
"changePercent": 0.0,
"exchange": "string",
"sector": "string"
}
]GqlMarketSectorPerformance[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/sector-performance/historySector performance per session.
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior |
Responses
200OKapplication/json
[
{
"date": "string",
"sectors": [
{
"dayChangePercent": 0,
"fiveYearChangePercent": 0,
"oneYearChangePercent": 0,
"threeYearChangePercent": 0,
"ytdChangePercent": 0
}
]
}
]GqlSectorPerformanceHistory[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Sectors 1 endpoint(s)#
GET/v2/sectors/{sector}Get sector data
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
format optional | Value format: raw, pretty, or both (default: raw) | |
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
sector required | Market sector types available on Yahoo Finance |
Responses
200OKapplication/json
{
"benchmark": {
"dayChangePercent": 0,
"fiveYearChangePercent": 0,
"oneYearChangePercent": 0,
"threeYearChangePercent": 0,
"ytdChangePercent": 0
},
"benchmarkName": "string",
"industries": [
{
"dayChangePercent": 0,
"key": "string",
"marketWeight": 0,
"name": "string",
"symbol": "string",
"ytdReturn": 0
}
],
"key": "string",
"name": "string",
"overview": {
"companiesCount": 0,
"description": "string",
"employeeCount": 0,
"industriesCount": 0,
"marketCap": 0,
"marketWeight": 0
},
"performance": {
"dayChangePercent": 0,
"fiveYearChangePercent": 0,
"oneYearChangePercent": 0,
"threeYearChangePercent": 0,
"ytdChangePercent": 0
},
"researchReports": [
{
"headline": "string",
"id": "string",
"investmentRating": "string",
"provider": "string",
"reportDate": "string",
"reportTitle": "string",
"reportType": "string",
"targetPrice": 0.0,
"targetPriceStatus": "string"
}
],
"symbol": "string",
"topCompanies": [
{
"dayChangePercent": 0,
"lastPrice": 0,
"marketCap": 0,
"marketWeight": 0,
"name": "string",
"rating": "string",
"symbol": "string",
"targetPrice": 0,
"ytdReturn": 0
}
],
"topEtfs": [
{
"expenseRatio": 0,
"lastPrice": 0,
"name": "string",
"netAssets": 0,
"symbol": "string",
"ytdReturn": 0
}
],
"topMutualFunds": [
{
"expenseRatio": 0,
"lastPrice": 0,
"name": "string",
"netAssets": 0,
"symbol": "string",
"ytdReturn": 0
}
]
}GqlSectorData
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Short volume 1 endpoint(s)#
GET/v2/short-volume/{symbol}Daily FINRA short-sale volume for a symbol (keyless).
Parameters
| name | description | value |
|---|---|---|
cursor optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` | |
fields optional | Comma-separated list of fields to include in response | |
limit optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior | |
symbol required |
Responses
200OKapplication/json
[
{
"date": "string",
"shortExemptVolume": 0.0,
"shortVolume": 0.0,
"totalVolume": 0.0
}
]GqlShortVolume[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Spark 1 endpoint(s)#
GET/v2/sparkGet batch sparkline data
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
interval optional | Candle interval (default: 1d) | |
range optional | Time range (default: 1mo) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"errors": [
{
"message": "string",
"symbol": "string"
}
],
"sparks": [
{
"closes": [
0.0
],
"interval": "string",
"meta": {
"chartPreviousClose": 0.0,
"currency": "string",
"dataGranularity": "string",
"exchangeName": "string",
"exchangeTimezoneName": "string",
"fiftyTwoWeekHigh": 0.0,
"fiftyTwoWeekLow": 0.0,
"firstTradeDate": 0,
"fullExchangeName": "string",
"gmtOffset": 0,
"hasPrePostMarketData": true,
"instrumentType": "string",
"previousClose": 0.0,
"priceHint": 0,
"range": "string",
"regularMarketDayHigh": 0.0,
"regularMarketDayLow": 0.0,
"regularMarketPrice": 0.0,
"regularMarketTime": 0,
"regularMarketVolume": 0,
"symbol": "string",
"timezone": "string"
},
"range": "string",
"symbol": "string",
"timestamps": [
0
]
}
]
}GqlSparkBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Splits 2 endpoint(s)#
GET/v2/splitsGet batch stock split history
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
range optional | Time range (default: max) | |
symbols required | Comma-separated symbols (required) |
Responses
200OKapplication/json
{
"errors": [
{
"message": "string",
"symbol": "string"
}
],
"splits": [
{
"splits": [
{
"denominator": 0.0,
"numerator": 0.0,
"ratio": "string",
"timestamp": 0
}
],
"symbol": "string"
}
]
}GqlSplitsBatch
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/splits/{symbol}Get stock split history
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
range optional | Time range (default: max) | |
symbol required |
Responses
200OKapplication/json
[
{
"denominator": 0.0,
"numerator": 0.0,
"ratio": "string",
"timestamp": 0
}
]GqlSplit[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Symbol details 1 endpoint(s)#
GET/v2/symbol-details/{symbol}Reference detail for one symbol.
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
symbol required |
Responses
200OKapplication/json
{
"assetType": "string",
"cik": "string",
"description": "string",
"employees": 0,
"exchange": "string",
"homepageUrl": "string",
"listDate": "string",
"marketCap": 0.0,
"name": "string",
"sharesOutstanding": 0.0,
"sicCode": "string",
"sicDescription": "string",
"symbol": "string"
}GqlSymbolDetails
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Transcripts 2 endpoint(s)#
GET/v2/transcripts/{symbol}Get earnings transcript
Parameters
| name | description | value |
|---|---|---|
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
quarter optional | Fiscal quarter (Q1, Q2, Q3, Q4). If not provided, returns latest. | |
year optional | Fiscal year. If not provided with quarter, returns latest. | |
symbol required |
Responses
200OKapplication/json
{
"transcriptContent": {
"companyId": 0,
"eventId": 0,
"speakerMapping": [
{
"speaker": 0,
"speakerData": {
"company": "string",
"name": "string",
"role": "string"
}
}
],
"transcript": {
"numberOfSpeakers": 0,
"paragraphs": {
"edges": [
{
"cursor": "string",
"node": {
"end": 0.0,
"sentences": [
{
"end": 0.0,
"start": 0.0,
"text": "string",
"words": [
{
"confidence": 0.0,
"end": 0.0,
"punctuatedWord": "string",
"start": 0.0,
"word": "string"
}
]
}
],
"speaker": 0,
"start": 0.0,
"text": "string"
}
}
],
"nodes": [
{
"end": 0.0,
"sentences": [
{
"end": 0.0,
"start": 0.0,
"text": "string",
"words": [
{
"confidence": 0.0,
"end": 0.0,
"punctuatedWord": "string",
"start": 0.0,
"word": "string"
}
]
}
],
"speaker": 0,
"start": 0.0,
"text": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"text": "string"
},
"version": "string"
},
"transcriptMetadata": {
"date": 0,
"eventId": 0,
"eventType": "string",
"fiscalPeriod": "string",
"fiscalYear": 0,
"isLatest": true,
"s3Url": "string",
"title": "string",
"transcriptId": 0,
"transcriptType": "string",
"updated": 0
}
}GqlTranscript
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
GET/v2/transcripts/{symbol}/allGet all earnings transcripts
Parameters
| name | description | value |
|---|---|---|
lang optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header | |
limit optional | Maximum number of transcripts to return. If not provided, returns all. | |
symbol required |
Responses
200OKapplication/json
[
{
"eventId": "string",
"quarter": "string",
"title": "string",
"transcript": {
"transcriptContent": {
"companyId": 0,
"eventId": 0,
"speakerMapping": [
{
"speaker": 0,
"speakerData": {
"company": "string",
"name": "string",
"role": "string"
}
}
],
"transcript": {
"numberOfSpeakers": 0,
"paragraphs": {
"edges": [
{
"cursor": "string",
"node": {
"end": 0.0,
"sentences": [
{
"end": 0.0,
"start": 0.0,
"text": "string",
"words": [
{
"confidence": 0.0,
"end": 0.0,
"punctuatedWord": "string",
"start": 0.0,
"word": "string"
}
]
}
],
"speaker": 0,
"start": 0.0,
"text": "string"
}
}
],
"nodes": [
{
"end": 0.0,
"sentences": [
{
"end": 0.0,
"start": 0.0,
"text": "string",
"words": [
{
"confidence": 0.0,
"end": 0.0,
"punctuatedWord": "string",
"start": 0.0,
"word": "string"
}
]
}
],
"speaker": 0,
"start": 0.0,
"text": "string"
}
],
"pageInfo": {
"endCursor": "string",
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "string"
}
},
"text": "string"
},
"version": "string"
},
"transcriptMetadata": {
"date": 0,
"eventId": 0,
"eventType": "string",
"fiscalPeriod": "string",
"fiscalYear": 0,
"isLatest": true,
"s3Url": "string",
"title": "string",
"transcriptId": 0,
"transcriptType": "string",
"updated": 0
}
},
"url": "string",
"year": 0
}
]GqlTranscriptWithMeta[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Trending 1 endpoint(s)#
GET/v2/trendingGet trending tickers
Parameters
| name | description | value |
|---|---|---|
fields optional | Comma-separated list of fields to include in response | |
region optional | Region code for localization (e.g., "US", "JP", "GB") |
Responses
200OKapplication/json
[
{
"regularMarketChangePercent": 0,
"regularMarketPrice": 0,
"shortName": "string",
"symbol": "string"
}
]GqlTrendingQuote[]
400Bad requestapplication/json
{
"error": "string",
"status": 0
}ApiError
404Symbol or resource not foundapplication/json
{
"error": "string",
"status": 0
}ApiError
429Rate limited (global token bucket)application/json
{
"error": "string",
"message": "string",
"retryAfterSeconds": 0
}RateLimitError
500Internal server errorapplication/json
{
"error": "string",
"status": 0
}ApiError
Schemas 279 type(s)#
AnalysisQueryobject · 1 field
Query parameters for `GET /v2/analysis/{symbol}/{type}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
AnalysisResponseany
Body of `GET /v2/analysis/{symbol}/{type}` — the shape depends on the `{type}` path param (recommendations, upgrades-downgrades, earnings-estimate, earnings-history), so the schema is deliberately open.
any
AnalysisTypeenum
Analysis type for `GET /v2/analysis/{symbol}/{type}`.
one of: "recommendations", "upgrades-downgrades", "earnings-estimate", "earnings-history"
ApiErrorobject · 2 fields
Generic REST error body, emitted on 4xx/5xx by the GraphQL bridge and by handlers rejecting invalid path/query input.
| field | type | required | description |
|---|---|---|---|
error | string | required | Human-readable error message. |
status | integer | required | HTTP status code, duplicated in the body. |
BacktestRequestobject · 9 fields
Request body for `POST /v2/backtest/{symbol}`.
| field | type | required | description |
|---|---|---|---|
equityCursor | string | optional | Equity-curve cursor |
equityLimit | integer | optional | Equity-curve page size |
fields | string | optional | Comma-separated list of fields to include in response |
interval | Interval | optional | Candle interval (default: 1d) |
params | GqlBacktestParams | optional | Strategy and execution knobs; each falls back to the library default |
range | TimeRange | optional | History window (default: 1y) |
strategy | string | required | Prebuilt strategy: sma_crossover, rsi_reversal, macd_signal, bollinger_mean_reversion, supertrend_follow, donchian_breakout |
tradesCursor | string | optional | Trade-log cursor |
tradesLimit | integer | optional | Trade-log page size |
BatchCapitalGainsQueryobject · 3 fields
Query parameters for `GET /v2/capital-gains`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
range | TimeRange | optional | Time range (default: max) |
symbols | string | required | Comma-separated symbols (required) |
BatchChartsQueryobject · 7 fields
Query parameters for `GET /v2/charts`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
interval | Interval | optional | Candle interval (default: 1d) |
limit | integer | optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's chart as a bare array, unchanged from pre-pagination behavior |
patterns | boolean | optional | Detect candlestick patterns and include per-candle signals in response. |
range | TimeRange | optional | Time range (default: 1mo) |
symbols | string | required | Comma-separated symbols (required) |
BatchDividendsQueryobject · 5 fields
Query parameters for `GET /v2/dividends`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's dividend history as a bare array, unchanged from pre-pagination behavior |
range | TimeRange | optional | Time range (default: max) |
symbols | string | required | Comma-separated symbols (required) |
BatchFinancialsQueryobject · 5 fields
Query parameters for `GET /v2/financials`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
frequency | Frequency | optional | Frequency: annual or quarterly (default: annual) |
metrics | string | optional | Comma-separated list of metric names to include in the statement (e.g. "TotalRevenue,NetIncome") |
statement | StatementType | required | Statement type (required): income, balance, cashflow |
symbols | string | required | Comma-separated symbols (required) |
BatchIndicatorsQueryobject · 6 fields
Query parameters for `GET /v2/indicators`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
interval | Interval | optional | Candle interval (default: 1d) |
limit | integer | optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's indicators as a bare array, unchanged from pre-pagination behavior |
range | TimeRange | optional | Time range (default: 1mo) |
symbols | string | required | Comma-separated symbols (required) |
BatchOptionsQueryobject · 5 fields
Query parameters for `GET /v2/options`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
date | integer | optional | Expiration date (Unix timestamp, optional) |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's options chain as a bare array, unchanged from pre-pagination behavior |
symbols | string | required | Comma-separated symbols (required) |
BatchRecommendationsQueryobject · 5 fields
Query parameters for `GET /v2/recommendations`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Maximum number of similar symbols per requested symbol |
pageCursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
pageLimit | integer | optional | Max symbols per page; omitted (with page_cursor also omitted) = every requested symbol's recommendations as a bare array, unchanged from pre-pagination behavior |
symbols | string | required | Comma-separated symbols (required) |
BatchSplitsQueryobject · 3 fields
Query parameters for `GET /v2/splits`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
range | TimeRange | optional | Time range (default: max) |
symbols | string | required | Comma-separated symbols (required) |
CalendarQueryobject · 3 fields
Query parameters for `GET /v2/calendar`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
range | TimeRange | optional | Forward window: 1wk/5d, 1mo, 3mo, etc. (default: 1mo) |
symbols | string | required | Comma-separated symbols (required) |
ChartQueryobject · 9 fields
Query parameters for `GET /v2/chart/{symbol}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
end | integer | optional | End date as Unix timestamp (seconds). Defaults to now when `start` is set. |
events | boolean | optional | Include events (dividends, splits, capital gains) in response |
fields | string | optional | Comma-separated list of fields to include in response |
interval | Interval | optional | Candle interval (e.g. 1m, 5m, 1h, 1d; default: 1d) |
limit | integer | optional | Max candles per page; omitted (with cursor also omitted) = every matching candle as a bare array, unchanged from pre-pagination behavior |
patterns | boolean | optional | Detect candlestick patterns and include per-candle signals in response. The `patterns` array aligns 1:1 with the `candles` array; `null` means no pattern was detected on that bar. |
range | TimeRange | optional | Time range (e.g. 1d, 5d, 1mo, 1y, max; default: 1mo) |
start | integer | optional | Start date as Unix timestamp (seconds). When provided together with `end`, overrides `range` and uses absolute date boundaries. |
CommodityQueryobject · 1 field
Query parameters for `GET /v2/commodities/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
CotQueryobject · 3 fields
Query parameters for `GET /v2/cftc/cot/{symbol}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max weekly observations per page; omitted (with cursor also omitted) = every observation as a bare array |
CryptoCoinQueryobject · 2 fields
Query parameters for `GET /v2/crypto/coins/{id}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
vsCurrency | string | optional | Currency to compare against (default: "usd") |
CryptoCoinsQueryobject · 5 fields
Query parameters for `GET /v2/crypto/coins`.
| field | type | required | description |
|---|---|---|---|
count | integer | optional | Number of coins to return (default: 50) |
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max coins per page; omitted (with cursor also omitted) = every fetched coin (up to `count`) as a bare array, unchanged from pre-pagination behavior |
vsCurrency | string | optional | Currency to compare against (default: "usd") |
CryptoGlobalQueryobject · 1 field
Query parameters for `GET /v2/crypto/global`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
CryptoSearchQueryobject · 5 fields
Query parameters for `GET /v2/crypto/search`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max matches per page; omitted (with cursor also omitted) = bare array |
limitResults | integer | optional | Max matches to fetch (default: 25) |
query | string | required | Free-text query (coin name, symbol, or CoinGecko id) |
CryptoTrendingQueryobject · 3 fields
Query parameters for `GET /v2/crypto/trending`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max coins per page; omitted (with cursor also omitted) = bare array |
CurrenciesQueryobject · 1 field
Query parameters for `GET /v2/currencies`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
CustomScreenerRequestobject · 8 fields
Request body for `POST /v2/screeners/custom`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
filters | FilterCondition[] | optional | Filter conditions |
format | ValueFormat | optional | Value format: raw, pretty, or both (default: raw) |
offset | integer | optional | Pagination offset (default: 0) |
quoteType | QuoteType | optional | Quote type: EQUITY, ETF, MUTUALFUND, etc. (default: EQUITY) |
size | integer | optional | Number of results (default: 25, max: 250) |
sortField | string | optional | Field to sort by (default: intradaymarketcap) |
sortType | SortType | optional | Sort direction: "ASC" or "DESC" (default: DESC) |
DividendsQueryobject · 4 fields
Query parameters for `GET /v2/dividends/{symbol}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max dividend payments per page; omitted (with cursor also omitted) = every matching payment as a bare array, unchanged from pre-pagination behavior |
range | TimeRange | optional | Time range (default: max) |
EarningsTranscriptQueryobject · 3 fields
Query parameters for `GET /v2/transcripts/{symbol}`.
| field | type | required | description |
|---|---|---|---|
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
quarter | Quarter | optional | Fiscal quarter (Q1, Q2, Q3, Q4). If not provided, returns latest. |
year | integer | optional | Fiscal year. If not provided with quarter, returns latest. |
EarningsTranscriptV2Queryobject · 3 fields
Query parameters for `GET /v2/earnings-transcript/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
quarter | Quarter | optional | Fiscal quarter (Q1, Q2, Q3, Q4). Required alongside `year` for providers with no "latest" shortcut (Alpha Vantage); Yahoo defaults to latest when omitted. |
year | integer | optional | Fiscal year. See `quarter`. |
EarningsTranscriptsQueryobject · 2 fields
Query parameters for `GET /v2/transcripts/{symbol}/all`.
| field | type | required | description |
|---|---|---|---|
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
limit | integer | optional | Maximum number of transcripts to return. If not provided, returns all. |
EdgarFactsQueryobject · 5 fields
Query parameters for `GET /v2/edgar/facts/{symbol}`.
| field | type | required | description |
|---|---|---|---|
concepts | string | optional | Comma-separated XBRL concept names to filter to; omitted = curated defaults |
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max data points per concept per page; omitted (with cursor also omitted) = every matching data point as a bare array, unchanged from pre-pagination behavior. Applied uniformly across every returned concept. |
taxonomy | string | optional | XBRL taxonomy (default: "us-gaap"); also try "ifrs-full" or "dei" |
EdgarFieldsQueryobject · 1 field
Query parameters for `GET /v2/edgar/cik/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
EdgarSearchQueryobject · 7 fields
Query parameters for `GET /v2/edgar/search`.
| field | type | required | description |
|---|---|---|---|
endDate | string | optional | End date in YYYY-MM-DD format |
fields | string | optional | Comma-separated list of fields to include in response |
forms | string | optional | Comma-separated form types (e.g., "10-K,10-Q") |
from | integer | optional | Pagination offset (default: 0) |
q | string | required | Search query string (required) |
size | integer | optional | Page size (default: 100, max: 100) |
startDate | string | optional | Start date in YYYY-MM-DD format |
EdgarSubmissionsQueryobject · 3 fields
Query parameters for `GET /v2/edgar/submissions/{symbol}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max filings per page; omitted (with cursor also omitted) = every matching filing as a bare array, unchanged from pre-pagination behavior |
ExchangesQueryobject · 1 field
Query parameters for `GET /v2/exchanges`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
FearAndGreedQueryobject · 1 field
Query parameters for `GET /v2/fear-and-greed`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
FeedsQueryobject · 5 fields
Query parameters for `GET /v2/feeds`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
formType | string | optional | SEC form type for sec-filings source (e.g., "10-K", "8-K", default: "10-K") |
limit | integer | optional | Max entries to return; omitted (with cursor also omitted) = every matching entry as a bare array, unchanged from pre-pagination behavior |
sources | string | optional | Comma-separated source slugs (default: federal-reserve, sec, marketwatch, bloomberg) |
FilingSectionFormParamenum
Filing form for `GET /v2/filings/{symbol}/sections`.
one of: "ten-k", "eight-k"
FilingSectionsQueryobject · 3 fields
Query parameters for `GET /v2/filings/{symbol}/sections`.
| field | type | required | description |
|---|---|---|---|
accessionNumber | string | required | SEC accession number, e.g. "0000320193-24-000123" (required) |
fields | string | optional | Comma-separated list of fields to include in response |
form | FilingSectionFormParam | required | Which filing form to fetch sectioned text for |
FilingsQueryobject · 3 fields
Query parameters for `GET /v2/filings/{symbol}/congressional-trades` and `GET /v2/filings/{symbol}/fails-to-deliver`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max entries per page; omitted (with cursor also omitted) = every fetched entry as a bare array, unchanged from pre-pagination behavior |
FilterConditionobject · 3 fields
A single custom-screener filter condition.
| field | type | required | description |
|---|---|---|---|
field | string | required | Field name (e.g., "region", "avgdailyvol3m", "intradaymarketcap") |
operator | string | required | Operator: eq, gt, gte, lt, lte, btwn |
value | any | required | Value(s) for the condition |
FinancialsQueryobject · 3 fields
Query parameters for `GET /v2/financials/{symbol}/{statement}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
frequency | Frequency | optional | Frequency: annual or quarterly (default: annual) |
metrics | string | optional | Comma-separated list of metric names to include in the statement (e.g. "TotalRevenue,NetIncome") |
ForexQueryobject · 1 field
Query parameters for `GET /v2/forex/{from}/{to}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
FredSeriesQueryobject · 3 fields
Query parameters for `GET /v2/fred/series/{id}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max observations per page; omitted (with cursor also omitted) = every matching observation as a bare array, unchanged from pre-pagination behavior |
Frequencyenum
Frequency for financial data (annual or quarterly)
one of: "annual", "quarterly"
FuturesQueryobject · 1 field
Query parameters for `GET /v2/futures/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
GdeltNewsQueryobject · 3 fields
Query parameters for `GET /v2/gdelt/news/{symbol}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max articles per page; omitted (with cursor also omitted) = bare array |
GqlAroonDataobject · 2 fields
| field | type | required | description |
|---|---|---|---|
aroonDown | number | optional | |
aroonUp | number | optional |
GqlBacktestMetricsobject · 39 fields
Performance summary over the whole run.
| field | type | required | description |
|---|---|---|---|
annualizedReturnPct | number | required | |
avgLossDuration | number | required | |
avgLossPct | number | required | |
avgTradeDuration | number | required | |
avgTradeReturnPct | number | required | |
avgWinDuration | number | required | |
avgWinPct | number | required | |
calmarRatio | number | required | |
executedSignals | integer | required | |
expectancy | number | required | |
kellyCriterion | number | required | |
largestLoss | number | required | |
largestWin | number | required | |
longTrades | integer | required | |
losingTrades | integer | required | |
maxConsecutiveLosses | integer | required | |
maxConsecutiveWins | integer | required | |
maxDrawdownDuration | integer | required | |
maxDrawdownPct | number | required | |
maxIdlePeriod | integer | required | |
omegaRatio | number | required | |
profitFactor | number | required | |
recoveryFactor | number | required | |
serenityRatio | number | required | |
sharpeRatio | number | required | |
shortTrades | integer | required | |
sortinoRatio | number | required | |
sqn | number | required | |
tailRatio | number | required | |
timeInMarketPct | number | required | |
totalCommission | number | required | |
totalDividendIncome | number | required | |
totalFinancingCost | number | required | |
totalReturnPct | number | required | |
totalSignals | integer | required | |
totalTrades | integer | required | |
ulcerIndex | number | required | |
winRate | number | required | |
winningTrades | integer | required |
GqlBacktestParamsobject · 20 fields
Strategy and execution knobs. Every field falls back to the library default.
| field | type | required | description |
|---|---|---|---|
allowShort | boolean | optional | |
commissionPct | number | optional | |
exitAtMiddle | boolean | optional | |
fastPeriod | integer | optional | |
initialCapital | number | optional | |
maintenanceMarginPct | number | optional | |
marginInterestRate | number | optional | |
maxLeverage | number | optional | |
multiplier | number | optional | |
overbought | number | optional | |
oversold | number | optional | |
period | integer | optional | |
positionSizePct | number | optional | |
shortBorrowRate | number | optional | |
signalPeriod | integer | optional | |
slippagePct | number | optional | |
slowPeriod | integer | optional | |
stdDev | number | optional | |
stopLossPct | number | optional | |
takeProfitPct | number | optional |
GqlBacktestResultobject · 11 fields
A completed backtest.
| field | type | required | description |
|---|---|---|---|
diagnostics | string[] | optional | |
endTimestamp | integer | required | |
equityCurve | Page_GqlEquityPoint | required | Portfolio value per bar, oldest first. |
finalEquity | number | required | |
initialCapital | number | required | |
maxLeverageUsed | number | required | |
metrics | GqlBacktestMetrics | required | |
startTimestamp | integer | required | |
strategyName | string | required | |
symbol | string | required | |
trades | Page_GqlTrade | required | Completed round trips, oldest first. |
GqlBatchErrorobject · 2 fields
A single symbol's fetch failure within a batch root field.
| field | type | required | description |
|---|---|---|---|
message | string | required | |
symbol | string | required |
GqlBenchmarkPerformanceobject · 6 fields
| field | type | required | description |
|---|---|---|---|
dayChangePercent | number | optional | |
fiveYearChangePercent | number | optional | |
name | string | optional | |
oneYearChangePercent | number | optional | |
threeYearChangePercent | number | optional | |
ytdChangePercent | number | optional |
GqlBollingerBandsDataobject · 3 fields
| field | type | required | description |
|---|---|---|---|
lower | number | optional | |
middle | number | optional | |
upper | number | optional |
GqlBullBearPowerDataobject · 2 fields
| field | type | required | description |
|---|---|---|---|
bearPower | number | optional | |
bullPower | number | optional |
GqlCalendarEventobject · 4 fields
A single upcoming financial event.
| field | type | required | description |
|---|---|---|---|
date | string | required | |
event | GqlEventKind | required | |
symbol | string | optional | |
timestamp | integer | required |
GqlCandleobject · 7 fields
A single OHLCV candle / price bar.
| field | type | required | description |
|---|---|---|---|
adjClose | number | optional | |
close | number | required | |
high | number | required | |
low | number | required | |
open | number | required | |
timestamp | integer | required | |
volume | integer | required |
GqlCapitalGainobject · 2 fields
A single capital gain distribution.
| field | type | required | description |
|---|---|---|---|
amount | number | required | |
timestamp | integer | required |
GqlCapitalGainsBatchobject · 2 fields
Result of the batch `capitalGainsBatch` root field: successfully fetched capital gains histories plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
capitalGains | GqlSymbolCapitalGains[] | required | |
errors | GqlBatchError[] | required |
GqlChainAllocationobject · 2 fields
One chain's share of a protocol's TVL.
| field | type | required | description |
|---|---|---|---|
chain | string | required | |
tvl | number | required |
GqlChartobject · 5 fields
Historical chart data for a single symbol.
| field | type | required | description |
|---|---|---|---|
candles | Page_GqlCandle | required | OHLCV candles for the requested interval/range. |
interval | string | optional | Time interval used for this chart (e.g. "1d"). |
meta | GqlChartMeta | required | |
range | string | optional | Time range used for this chart (e.g. "1mo"). |
symbol | string | required |
GqlChartMetaobject · 22 fields
Metadata associated with a chart response.
| field | type | required | description |
|---|---|---|---|
chartPreviousClose | number | optional | |
currency | string | optional | |
dataGranularity | string | optional | |
exchangeName | string | optional | |
exchangeTimezoneName | string | optional | |
fiftyTwoWeekHigh | number | optional | |
fiftyTwoWeekLow | number | optional | |
firstTradeDate | integer | optional | |
fullExchangeName | string | optional | |
gmtOffset | integer | optional | |
hasPrePostMarketData | boolean | optional | |
instrumentType | string | optional | |
previousClose | number | optional | |
priceHint | integer | optional | |
range | string | optional | |
regularMarketDayHigh | number | optional | |
regularMarketDayLow | number | optional | |
regularMarketPrice | number | optional | |
regularMarketTime | integer | optional | |
regularMarketVolume | integer | optional | |
symbol | string | required | |
timezone | string | optional |
GqlChartsBatchobject · 2 fields
Result of the batch `charts` root field: successfully fetched charts plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
charts | Page_GqlSymbolChart | required | Successfully fetched per-symbol charts. |
errors | GqlBatchError[] | required |
GqlCoinQuoteobject · 10 fields
A cryptocurrency quote from CoinGecko, mirroring `finance_query::CoinQuote`, which has no serde rename of its own (plain snake_case JSON keys) — must not rename for deserialization either, even though GraphQL field names are camelCase.
| field | type | required | description |
|---|---|---|---|
circulatingSupply | number | optional | |
currentPrice | number | optional | |
id | string | required | |
image | string | optional | |
marketCap | number | optional | |
marketCapRank | integer | optional | |
name | string | required | |
priceChangePercentage24H | number | optional | |
symbol | string | required | |
totalVolume | number | optional |
GqlCommitmentsOfTradersobject · 4 fields
Mirrors `finance_query::cftc::CommitmentsOfTraders`.
| field | type | required | description |
|---|---|---|---|
cftcContractMarketCode | string | required | CFTC contract market code identifying this market. |
marketAndExchangeName | string | required | CFTC's own market and exchange name. |
observations | Page_GqlCotObservation | required | Weekly report rows, oldest first. |
symbol | string | required | The symbol the series was requested with (`"GC=F"`, or a raw CFTC code). |
GqlCommodityQuoteobject · 7 fields
Mirrors `finance_query::CommodityQuote`.
| field | type | required | description |
|---|---|---|---|
change | number | optional | |
changePercent | number | optional | |
name | string | optional | |
price | number | optional | |
symbol | string | required | |
timestamp | integer | optional | |
unit | string | optional |
GqlCompanyProfileobject · 10 fields
Mirrors `finance_query::CompanyProfile`, which has no serde rename of its own — this deserializes snake_case keys while its GraphQL name stays camelCase.
| field | type | required | description |
|---|---|---|---|
assetType | string | optional | |
country | string | optional | |
currency | string | optional | |
description | string | optional | |
exchange | string | optional | |
industry | string | optional | |
marketCapitalization | number | optional | |
name | string | optional | |
sector | string | optional | |
symbol | string | optional |
GqlCongressionalTradeobject · 11 fields
Mirrors `finance_query::CongressionalTrade`, which has no serde rename of its own — this deserializes snake_case keys while its GraphQL name stays camelCase.
| field | type | required | description |
|---|---|---|---|
amount | string | optional | |
assetDescription | string | optional | |
disclosureDate | string | optional | |
district | string | optional | |
firstName | string | optional | |
lastName | string | optional | |
link | string | optional | |
office | string | optional | |
symbol | string | optional | |
tradeType | string | optional | |
transactionDate | string | optional |
GqlCotObservationobject · 17 fields
Mirrors `finance_query::cftc::CotObservation` — one weekly report row, broken down by trader category.
| field | type | required | description |
|---|---|---|---|
managedMoneyLong | integer | optional | |
managedMoneyShort | integer | optional | |
managedMoneySpread | integer | optional | |
nonreportableLong | integer | optional | |
nonreportableShort | integer | optional | |
openInterest | integer | optional | |
otherReportableLong | integer | optional | |
otherReportableShort | integer | optional | |
otherReportableSpread | integer | optional | |
producerMerchantLong | integer | optional | |
producerMerchantShort | integer | optional | |
reportDate | string | required | Report date (`YYYY-MM-DD`) — the Tuesday the report is as of. |
swapDealerLong | integer | optional | |
swapDealerShort | integer | optional | |
swapDealerSpread | integer | optional | |
totalReportableLong | integer | optional | |
totalReportableShort | integer | optional |
GqlCurrencyobject · 4 fields
A currency pair supported by Yahoo Finance.
| field | type | required | description |
|---|---|---|---|
localLongName | string | optional | |
longName | string | optional | |
shortName | string | optional | |
symbol | string | optional |
GqlDividendobject · 2 fields
A single dividend payment.
| field | type | required | description |
|---|---|---|---|
amount | number | required | |
timestamp | integer | required |
GqlDividendAnalyticsobject · 6 fields
Computed dividend analytics.
| field | type | required | description |
|---|---|---|---|
averagePayment | number | required | |
cagr | number | optional | |
firstPayment | GqlDividend | optional | |
lastPayment | GqlDividend | optional | |
paymentCount | integer | required | |
totalPaid | number | required |
GqlDividendPaymentEventobject · 1 field
Dividend payment date — cash arrives in the account.
| field | type | required | description |
|---|---|---|---|
amount | number | optional |
GqlDividendsobject · 2 fields
Dividends response: payment history + computed analytics.
| field | type | required | description |
|---|---|---|---|
analytics | GqlDividendAnalytics | required | |
dividends | Page_GqlDividend | required | Dividend payment history. |
GqlDividendsBatchobject · 2 fields
Result of the batch `dividendsBatch` root field: successfully fetched dividend histories plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
dividends | Page_GqlSymbolDividends | required | Successfully fetched per-symbol dividend histories. |
errors | GqlBatchError[] | required |
GqlDonchianChannelsDataobject · 3 fields
| field | type | required | description |
|---|---|---|---|
lower | number | optional | |
middle | number | optional | |
upper | number | optional |
GqlEarningsEventobject · 5 fields
Upcoming earnings report with analyst estimate data.
| field | type | required | description |
|---|---|---|---|
epsEstimateAvg | number | optional | |
epsEstimateHigh | number | optional | |
epsEstimateLow | number | optional | |
isEstimate | boolean | required | |
revenueEstimateAvg | integer | optional |
GqlEarningsSurpriseobject · 6 fields
| field | type | required | description |
|---|---|---|---|
actualEps | number | optional | |
date | string | optional | |
estimatedEps | number | optional | |
surprise | number | optional | |
surprisePercent | number | optional | |
symbol | string | optional |
GqlEarningsSurpriseHistoryobject · 1 field
| field | type | required | description |
|---|---|---|---|
surprises | GqlEarningsSurprise[] | required |
GqlEarningsTranscriptobject · 5 fields
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
quarter | string | optional | |
symbol | string | optional | |
text | string | required | |
year | integer | optional |
GqlEconomicReleaseEventobject · 2 fields
Economic data release (requires the `fred` feature).
| field | type | required | description |
|---|---|---|---|
name | string | required | |
seriesId | string | required |
GqlEdgarCikobject · 2 fields
Result of resolving a ticker symbol to its SEC CIK number.
| field | type | required | description |
|---|---|---|---|
cik | integer | required | |
symbol | string | required |
GqlEdgarFilingobject · 7 fields
| field | type | required | description |
|---|---|---|---|
accessionNumber | string | required | |
filingDate | string | required | |
form | string | required | |
primaryDocDescription | string | required | |
primaryDocument | string | required | |
reportDate | string | required | |
size | integer | required |
GqlEdgarSearchHitobject · 5 fields
| field | type | required | description |
|---|---|---|---|
adsh | string | optional | |
ciks | string[] | required | |
displayNames | string[] | required | |
fileDate | string | optional | |
form | string | optional |
GqlEdgarSearchResultsobject · 3 fields
| field | type | required | description |
|---|---|---|---|
hits | GqlEdgarSearchHit[] | required | |
pageInfo | GqlPageInfo | optional | |
totalHits | integer | optional |
GqlEdgarSubmissionsobject · 15 fields
| field | type | required | description |
|---|---|---|---|
category | string | optional | |
cik | string | optional | |
ein | string | optional | |
entityType | string | optional | |
exchanges | string[] | required | |
filings | Page_GqlEdgarFiling | required | Filing history. Can be large (hundreds+ of filings for established companies) — paginated. |
fiscalYearEnd | string | optional | |
insiderTransactionForIssuerExists | integer | optional | |
insiderTransactionForOwnerExists | integer | optional | |
name | string | optional | |
sic | string | optional | |
sicDescription | string | optional | |
stateOfIncorporation | string | optional | |
tickers | string[] | required | |
website | string | optional |
GqlElderRayDataobject · 2 fields
| field | type | required | description |
|---|---|---|---|
bearPower | number | optional | |
bullPower | number | optional |
GqlEquityPointobject · 3 fields
Portfolio value at one bar.
| field | type | required | description |
|---|---|---|---|
drawdownPct | number | required | |
equity | number | required | |
timestamp | integer | required |
GqlEtfCountryWeightingobject · 2 fields
Mirrors `finance_query::EtfCountryWeighting`.
| field | type | required | description |
|---|---|---|---|
country | string | optional | |
weight | number | optional |
GqlEtfHoldingobject · 3 fields
Mirrors `finance_query::EtfHolding`.
| field | type | required | description |
|---|---|---|---|
description | string | optional | |
symbol | string | optional | |
weight | number | optional |
GqlEtfProfileobject · 11 fields
Mirrors `finance_query::EtfProfile`.
| field | type | required | description |
|---|---|---|---|
assetType | string | optional | |
countryWeightings | GqlEtfCountryWeighting[] | required | |
dividendYield | number | optional | |
holdings | GqlEtfHolding[] | required | |
inceptionDate | string | optional | |
name | string | optional | |
netAssets | number | optional | |
netExpenseRatio | number | optional | |
portfolioTurnover | number | optional | |
sectorWeightings | GqlEtfSectorWeighting[] | required | |
symbol | string | optional |
GqlEtfSectorWeightingobject · 2 fields
Mirrors `finance_query::EtfSectorWeighting`.
| field | type | required | description |
|---|---|---|---|
sector | string | optional | |
weight | number | optional |
GqlEventKindoneOf · 6 variants
The kind of financial event, with its event-specific payload.
one of:
field type required description EARNINGSGqlEarningsEventrequired field type required description EX_DIVIDENDGqlExDividendEventrequired field type required description DIVIDEND_PAYMENTGqlDividendPaymentEventrequired field type required description OPTIONS_EXPIRATIONGqlOptionsExpirationEventrequired field type required description ECONOMIC_RELEASEGqlEconomicReleaseEventrequired field type required description UNKNOWNGqlUnknownEventrequired
GqlExDividendEventobject · 1 field
Ex-dividend date — shares must be held before this date to receive the dividend.
| field | type | required | description |
|---|---|---|---|
amount | number | optional |
GqlExchangeobject · 5 fields
A supported stock exchange with its symbol suffix and data provider.
| field | type | required | description |
|---|---|---|---|
country | string | required | |
dataProvider | string | required | |
delay | string | required | |
market | string | required | |
suffix | string | required |
GqlExecutiveCompensationobject · 14 fields
One executive's disclosed compensation for a year.
| field | type | required | description |
|---|---|---|---|
bonus | number | optional | |
cik | string | optional | |
companyName | string | optional | |
filingDate | string | optional | |
incentivePlanCompensation | number | optional | |
nameAndPosition | string | optional | |
optionAward | number | optional | |
otherCompensation | number | optional | |
salary | number | optional | |
stockAward | number | optional | |
symbol | string | optional | |
total | number | optional | |
url | string | optional | |
year | integer | optional |
GqlFactConceptobject · 6 fields
A single XBRL fact concept with its data points.
| field | type | required | description |
|---|---|---|---|
concept | string | required | |
dataPoints | Page_GqlFactDataPoint | required | Reported data points for this concept. |
description | string | optional | |
label | string | optional | |
taxonomy | string | required | |
unit | string | required |
GqlFactDataPointobject · 9 fields
| field | type | required | description |
|---|---|---|---|
accn | string | optional | |
end | string | optional | |
filed | string | optional | |
form | string | optional | |
fp | string | optional | |
frame | string | optional | |
fy | integer | optional | |
start | string | optional | |
val | number | optional |
GqlFailToDeliverobject · 6 fields
Mirrors `finance_query::FailToDeliver`, which has no serde rename of its own — this deserializes snake_case keys while its GraphQL name stays camelCase.
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
description | string | optional | |
name | string | optional | |
price | number | optional | |
quantity | number | optional | |
symbol | string | optional |
GqlFearAndGreedobject · 3 fields
Fear & Greed index response, mirroring `finance_query::models::sentiment::FearAndGreed`.
| field | type | required | description |
|---|---|---|---|
classification | string | optional | |
timestamp | integer | optional | |
value | integer | optional |
GqlFeedEntryobject · 5 fields
A single entry from an RSS/Atom feed.
| field | type | required | description |
|---|---|---|---|
published | string | optional | |
source | string | required | |
summary | string | optional | |
title | string | required | |
url | string | required |
GqlFibonacciLevelsobject · 7 fields
Mirrors `finance_query::indicators::FibonacciLevels`, which has no serde rename of its own (plain snake_case keys).
| field | type | required | description |
|---|---|---|---|
level236 | number | optional | |
level382 | number | optional | |
level50 | number | optional | |
level618 | number | optional | |
level786 | number | optional | |
swingHigh | number | optional | |
swingLow | number | optional |
GqlFilingSectionobject · 2 fields
Mirrors `finance_query::FilingSection`.
| field | type | required | description |
|---|---|---|---|
content | string | optional | |
section | string | optional |
GqlFinancialDataPointobject · 2 fields
A single data point in a financial time series.
| field | type | required | description |
|---|---|---|---|
date | string | required | Date string (e.g., "2024-09-30"). |
value | number | required | Numeric value. |
GqlFinancialLineItemobject · 2 fields
A single line item in a financial statement (e.g., "TotalRevenue").
| field | type | required | description |
|---|---|---|---|
metric | string | required | Metric name (e.g., "TotalRevenue", "NetIncome"). |
values | GqlFinancialDataPoint[] | required | Time-series values: date → value pairs. |
GqlFinancialRatiosTtmobject · 62 fields
Trailing-twelve-month financial ratios.
| field | type | required | description |
|---|---|---|---|
assetTurnover | number | optional | |
bookValuePerShare | number | optional | |
bottomLineProfitMargin | number | optional | |
capexPerShare | number | optional | |
capitalExpenditureCoverageRatio | number | optional | |
cashPerShare | number | optional | |
cashRatio | number | optional | |
continuousOperationsProfitMargin | number | optional | |
currentRatio | number | optional | |
debtEquityRatio | number | optional | |
debtRatio | number | optional | |
debtServiceCoverageRatio | number | optional | |
debtToCapitalRatio | number | optional | |
debtToMarketCap | number | optional | |
dividendPaidAndCapexCoverageRatio | number | optional | |
dividendPerShare | number | optional | |
dividendYield | number | optional | |
ebitMargin | number | optional | |
ebitdaMargin | number | optional | |
ebtPerEbit | number | optional | |
effectiveTaxRate | number | optional | |
enterpriseValue | number | optional | |
enterpriseValueMultiple | number | optional | |
financialLeverageRatio | number | optional | |
fixedAssetTurnover | number | optional | |
forwardPegRatio | number | optional | |
freeCashFlowOperatingCashFlowRatio | number | optional | |
freeCashFlowPerShare | number | optional | |
grossProfitMargin | number | optional | |
interestCoverage | number | optional | |
interestDebtPerShare | number | optional | |
inventoryTurnover | number | optional | |
longTermDebtToCapitalRatio | number | optional | |
netIncomePerEbt | number | optional | |
netIncomePerShare | number | optional | |
netProfitMargin | number | optional | |
operatingCashFlowCoverageRatio | number | optional | |
operatingCashFlowPerShare | number | optional | |
operatingCashFlowRatio | number | optional | |
operatingCashFlowSalesRatio | number | optional | |
operatingProfitMargin | number | optional | |
payablesTurnover | number | optional | |
payoutRatio | number | optional | |
pegRatio | number | optional | |
pretaxProfitMargin | number | optional | |
priceEarningsRatio | number | optional | |
priceToBookRatio | number | optional | |
priceToEarningsDilutedGrowthRatio | number | optional | |
priceToEarningsDilutedRatio | number | optional | |
priceToFairValue | number | optional | |
priceToFreeCashFlowsRatio | number | optional | |
priceToOperatingCashFlowRatio | number | optional | |
priceToSalesRatio | number | optional | |
quickRatio | number | optional | |
receivablesTurnover | number | optional | |
revenuePerShare | number | optional | |
shareholdersEquityPerShare | number | optional | |
shortTermOperatingCashFlowCoverageRatio | number | optional | |
solvencyRatio | number | optional | |
symbol | string | optional | |
tangibleBookValuePerShare | number | optional | |
workingCapitalTurnoverRatio | number | optional |
GqlFinancialsBatchobject · 2 fields
Result of the batch `financialsBatch` root field: successfully fetched statements plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
errors | GqlBatchError[] | required | |
financials | GqlSymbolFinancials[] | required |
GqlForexQuoteobject · 9 fields
Mirrors `finance_query::ForexQuote`.
| field | type | required | description |
|---|---|---|---|
ask | number | optional | |
baseCurrency | string | optional | |
bid | number | optional | |
change | number | optional | |
changePercent | number | optional | |
price | number | optional | |
quoteCurrency | string | optional | |
symbol | string | required | |
timestamp | integer | optional |
GqlFormattedObjectobject · 3 fields
The `{raw, fmt, longFmt}` wrapper as it reaches the wire under `format=both`.
| field | type | required | description |
|---|---|---|---|
fmt | string | optional | Human-readable rendering, e.g. `"182.50"` or `"3.50T"`. |
longFmt | string | optional | Fully expanded rendering for large numbers, e.g. `"3,500,000,000,000"`. |
raw | any | required | The underlying datum. May be `null` when upstream reports no value. |
GqlFormattedValueoneOf · 5 variants
One Yahoo Finance formatted value, in whichever shape the request's `format` selected.
one of:
integernumberstringGqlFormattedObjectany
GqlFuturesQuoteobject · 11 fields
Mirrors `finance_query::FuturesQuote`.
| field | type | required | description |
|---|---|---|---|
change | number | optional | |
changePercent | number | optional | |
exchange | string | optional | |
expirationDate | string | optional | |
name | string | optional | |
openInterest | integer | optional | |
price | number | optional | |
symbol | string | required | |
timestamp | integer | optional | |
underlying | string | optional | |
volume | integer | optional |
GqlGlobalCryptoStatsobject · 7 fields
Mirrors `finance_query::crypto::GlobalCryptoStats`.
| field | type | required | description |
|---|---|---|---|
activeCryptocurrencies | integer | optional | |
btcDominance | number | optional | |
ethDominance | number | optional | |
marketCapChangePercentage24HUsd | number | optional | |
markets | integer | optional | |
totalMarketCapUsd | number | optional | |
totalVolumeUsd | number | optional |
GqlGradingActionobject · 5 fields
One analyst upgrade or downgrade, provider-routed.
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
gradingCompany | string | optional | |
newGrade | string | optional | |
previousGrade | string | optional | |
symbol | string | optional |
GqlGrowthCompanyobject · 5 fields
| field | type | required | description |
|---|---|---|---|
growthEstimate | number | optional | |
lastPrice | number | optional | |
name | string | optional | |
symbol | string | required | |
ytdReturn | number | optional |
GqlHeikinAshiCandleobject · 7 fields
Mirrors `finance_query::Candle` (camelCase serde keys).
| field | type | required | description |
|---|---|---|---|
adjClose | number | optional | |
close | number | optional | |
high | number | optional | |
low | number | optional | |
open | number | optional | |
timestamp | integer | optional | |
volume | integer | optional |
GqlIchimokuDataobject · 5 fields
| field | type | required | description |
|---|---|---|---|
baseLine | number | optional | |
conversionLine | number | optional | |
laggingSpan | number | optional | |
leadingSpanA | number | optional | |
leadingSpanB | number | optional |
GqlIndexConstituentobject · 8 fields
Mirrors `finance_query::IndexConstituent`.
| field | type | required | description |
|---|---|---|---|
cik | string | optional | |
dateFirstAdded | string | optional | |
founded | string | optional | |
headquarters | string | optional | |
name | string | optional | |
sector | string | optional | |
subSector | string | optional | |
symbol | string | required |
GqlIndexConstituentChangeobject · 6 fields
One addition or removal from an index's constituent list.
| field | type | required | description |
|---|---|---|---|
addedSecurity | string | optional | |
date | string | optional | |
reason | string | optional | |
removedSecurity | string | optional | |
removedTicker | string | optional | |
symbol | string | optional |
GqlIndicatorsBatchobject · 2 fields
Result of the batch `indicatorsBatch` root field: successfully computed indicators plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
errors | GqlBatchError[] | required | |
indicators | Page_GqlSymbolIndicators | required | Successfully computed per-symbol indicators. |
GqlIndicatorsSummaryobject · 57 fields
All technical indicators for a symbol (latest values).
| field | type | required | description |
|---|---|---|---|
accumulationDistribution | number | optional | |
adx14 | number | optional | |
alma9 | number | optional | |
aroon | GqlAroonData | optional | |
atr14 | number | optional | |
awesomeOscillator | number | optional | |
balanceOfPower | number | optional | |
bollingerBands | GqlBollingerBandsData | optional | |
bullBearPower | GqlBullBearPowerData | optional | |
cci20 | number | optional | |
chaikinOscillator | number | optional | |
choppinessIndex14 | number | optional | |
cmf20 | number | optional | |
cmo14 | number | optional | |
coppockCurve | number | optional | |
dema20 | number | optional | |
donchianChannels | GqlDonchianChannelsData | optional | |
elderRayIndex | GqlElderRayData | optional | |
ema10 | number | optional | |
ema100 | number | optional | |
ema20 | number | optional | |
ema200 | number | optional | |
ema50 | number | optional | |
fibonacciPivotPoints | GqlPivotPointsData | optional | |
fibonacciRetracement50 | GqlFibonacciLevels | optional | |
heikinAshi | GqlHeikinAshiCandle | optional | |
hma20 | number | optional | |
ichimoku | GqlIchimokuData | optional | |
keltnerChannels | GqlKeltnerChannelsData | optional | |
macd | GqlMacdData | optional | |
mcginleyDynamic20 | number | optional | |
mfi14 | number | optional | |
momentum10 | number | optional | |
obv | number | optional | |
parabolicSar | number | optional | |
pivotPoints | GqlPivotPointsData | optional | |
roc12 | number | optional | |
rsi14 | number | optional | |
sma10 | number | optional | |
sma100 | number | optional | |
sma20 | number | optional | |
sma200 | number | optional | |
sma50 | number | optional | |
stochastic | GqlStochasticData | optional | |
stochasticRsi | GqlStochasticData | optional | |
supertrend | GqlSuperTrendData | optional | |
tema20 | number | optional | |
trueRange | number | optional | |
vwap | number | optional | |
vwma20 | number | optional | |
williamsR14 | number | optional | |
wma10 | number | optional | |
wma100 | number | optional | |
wma20 | number | optional | |
wma200 | number | optional | |
wma50 | number | optional | |
zigzagLastPivot | GqlZigZagPoint | optional |
GqlIndustryCompanyobject · 9 fields
| field | type | required | description |
|---|---|---|---|
dayChangePercent | number | optional | |
lastPrice | number | optional | |
marketCap | number | optional | |
marketWeight | number | optional | |
name | string | optional | |
rating | string | optional | |
symbol | string | required | |
targetPrice | number | optional | |
ytdReturn | number | optional |
GqlIndustryDataobject · 12 fields
| field | type | required | description |
|---|---|---|---|
benchmark | GqlBenchmarkPerformance | optional | |
key | string | required | |
name | string | required | |
overview | GqlIndustryOverview | optional | |
performance | GqlIndustryPerformance | optional | |
researchReports | GqlIndustryResearchReport[] | required | |
sectorKey | string | optional | |
sectorName | string | optional | |
symbol | string | optional | |
topCompanies | GqlIndustryCompany[] | required | |
topGrowthCompanies | GqlGrowthCompany[] | required | |
topPerformingCompanies | GqlPerformingCompany[] | required |
GqlIndustryOverviewobject · 5 fields
| field | type | required | description |
|---|---|---|---|
companiesCount | integer | optional | |
description | string | optional | |
employeeCount | integer | optional | |
marketCap | number | optional | |
marketWeight | number | optional |
GqlIndustryPerformanceobject · 5 fields
| field | type | required | description |
|---|---|---|---|
dayChangePercent | number | optional | |
fiveYearChangePercent | number | optional | |
oneYearChangePercent | number | optional | |
threeYearChangePercent | number | optional | |
ytdChangePercent | number | optional |
GqlIndustryResearchReportobject · 8 fields
| field | type | required | description |
|---|---|---|---|
id | string | optional | |
investmentRating | string | optional | |
provider | string | optional | |
reportDate | string | optional | |
reportType | string | optional | |
targetPrice | number | optional | |
targetPriceStatus | string | optional | |
title | string | optional |
GqlKeltnerChannelsDataobject · 3 fields
| field | type | required | description |
|---|---|---|---|
lower | number | optional | |
middle | number | optional | |
upper | number | optional |
GqlKeyMetricsTtmobject · 43 fields
Trailing-twelve-month key metrics.
| field | type | required | description |
|---|---|---|---|
averageInventory | number | optional | |
averagePayables | number | optional | |
averageReceivables | number | optional | |
capexToDepreciation | number | optional | |
capexToOperatingCashFlow | number | optional | |
capexToRevenue | number | optional | |
cashConversionCycle | number | optional | |
currentRatio | number | optional | |
daysOfInventoryOutstanding | number | optional | |
daysOfPayablesOutstanding | number | optional | |
daysOfSalesOutstanding | number | optional | |
earningsYield | number | optional | |
enterpriseValue | number | optional | |
evToEbitda | number | optional | |
evToFreeCashFlow | number | optional | |
evToOperatingCashFlow | number | optional | |
evToSales | number | optional | |
freeCashFlowToEquity | number | optional | |
freeCashFlowToFirm | number | optional | |
freeCashFlowYield | number | optional | |
grahamNetNet | number | optional | |
grahamNumber | number | optional | |
incomeQuality | number | optional | |
intangiblesToTotalAssets | number | optional | |
interestBurden | number | optional | |
investedCapital | number | optional | |
marketCap | number | optional | |
netCurrentAssetValue | number | optional | |
netDebtToEbitda | number | optional | |
operatingCycle | number | optional | |
operatingReturnOnAssets | number | optional | |
researchAndDevelopmentToRevenue | number | optional | |
returnOnAssets | number | optional | |
returnOnCapitalEmployed | number | optional | |
returnOnEquity | number | optional | |
returnOnInvestedCapital | number | optional | |
returnOnTangibleAssets | number | optional | |
salesGeneralAndAdministrativeToRevenue | number | optional | |
stockBasedCompensationToRevenue | number | optional | |
symbol | string | optional | |
tangibleAssetValue | number | optional | |
taxBurden | number | optional | |
workingCapital | number | optional |
GqlLookupQuoteobject · 15 fields
A quote/document result from `lookup`.
| field | type | required | description |
|---|---|---|---|
companyLogoUrl | string | optional | |
exchDisp | string | optional | |
exchange | string | optional | |
industry | string | optional | |
logoUrl | string | optional | |
longName | string | optional | |
quoteType | string | optional | |
regularMarketChange | number | optional | |
regularMarketChangePercent | number | optional | |
regularMarketPreviousClose | number | optional | |
regularMarketPrice | number | optional | |
sector | string | optional | |
shortName | string | optional | |
symbol | string | required | |
typeDisp | string | optional |
GqlLookupResultsobject · 3 fields
Type-filtered symbol lookup results.
| field | type | required | description |
|---|---|---|---|
count | integer | optional | |
quotes | GqlLookupQuote[] | required | |
start | integer | optional |
GqlMacdDataobject · 3 fields
| field | type | required | description |
|---|---|---|---|
histogram | number | optional | |
macd | number | optional | |
signal | number | optional |
GqlMacroObservationobject · 2 fields
A single observation in a FRED data series.
| field | type | required | description |
|---|---|---|---|
date | string | required | |
value | number | optional |
GqlMacroSeriesobject · 2 fields
A FRED macro-economic time series with all its observations.
| field | type | required | description |
|---|---|---|---|
id | string | required | |
observations | Page_GqlMacroObservation | required | Time series observations. |
GqlMarketCalendarDetailoneOf · 7 variants
one of:
field type required description EARNINGSGqlMarketEarningsDetailrequired field type required description IPOGqlMarketIpoDetailrequired field type required description DIVIDENDGqlMarketDividendDetailrequired field type required description SPLITGqlMarketSplitDetailrequired field type required description MARKET_HOLIDAYGqlMarketHolidayDetailrequired field type required description ECONOMICGqlMarketEconomicDetailrequired field type required description UNKNOWNGqlMarketUnknownDetailrequired
GqlMarketCalendarEntryobject · 3 fields
A single market-wide calendar entry.
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
detail | GqlMarketCalendarDetail | required | |
symbol | string | optional |
GqlMarketDividendDetailobject · 5 fields
| field | type | required | description |
|---|---|---|---|
adjDividend | number | optional | |
declarationDate | string | optional | |
dividend | number | optional | |
paymentDate | string | optional | |
recordDate | string | optional |
GqlMarketEarningsDetailobject · 6 fields
| field | type | required | description |
|---|---|---|---|
eps | number | optional | |
epsEstimated | number | optional | |
fiscalDateEnding | string | optional | |
revenue | number | optional | |
revenueEstimated | number | optional | |
time | string | optional |
GqlMarketEconomicDetailobject · 8 fields
| field | type | required | description |
|---|---|---|---|
actual | number | optional | |
change | number | optional | |
changePercentage | number | optional | |
country | string | optional | |
estimate | number | optional | |
event | string | optional | |
impact | string | optional | |
previous | number | optional |
GqlMarketHolidayDetailobject · 5 fields
Also used for `MarketStatus` entries — providers report exchange open/closed status through this same shape (`status` carries "open"/"closed").
| field | type | required | description |
|---|---|---|---|
close | string | optional | |
exchange | string | optional | |
name | string | optional | |
open | string | optional | |
status | string | optional |
GqlMarketHoursobject · 1 field
Market hours for one or more markets.
| field | type | required | description |
|---|---|---|---|
markets | GqlMarketTime[] | required |
GqlMarketIpoDetailobject · 6 fields
| field | type | required | description |
|---|---|---|---|
actions | string | optional | |
company | string | optional | |
exchange | string | optional | |
marketCap | number | optional | |
priceRange | string | optional | |
shares | number | optional |
GqlMarketSectorPeobject · 4 fields
A sector's aggregate price/earnings ratio, provider-routed via `Providers::market()`.
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
exchange | string | optional | |
pe | number | optional | |
sector | string | required |
GqlMarketSectorPerformanceobject · 3 fields
A sector's aggregate performance, provider-routed via `Providers::market()` (`Capability::MARKET`). Distinct from `GqlSectorPerformance` in `types/sector.rs`, which is a nested field on Yahoo-only `finance::sector`.
| field | type | required | description |
|---|---|---|---|
changePercent | number | optional | |
exchange | string | optional | |
sector | string | required |
GqlMarketSplitDetailobject · 2 fields
| field | type | required | description |
|---|---|---|---|
denominator | number | optional | |
numerator | number | optional |
GqlMarketSummaryQuoteobject · 12 fields
A market summary quote (major index / currency / commodity).
| field | type | required | description |
|---|---|---|---|
exchange | string | optional | |
fullExchangeName | string | optional | |
marketState | string | optional | |
quoteType | string | optional | |
regularMarketChange | GqlFormattedValue | optional | |
regularMarketChangePercent | GqlFormattedValue | optional | |
regularMarketPreviousClose | GqlFormattedValue | optional | |
regularMarketPrice | GqlFormattedValue | optional | |
regularMarketTime | GqlFormattedValue | optional | |
shortName | string | optional | |
spark | any | optional | |
symbol | string | optional |
GqlMarketTimeobject · 11 fields
Market open/close status for a single market.
| field | type | required | description |
|---|---|---|---|
close | string | optional | |
dst | boolean | optional | |
gmtOffset | integer | optional | |
id | string | required | |
message | string | optional | |
name | string | required | |
open | string | optional | |
status | string | required | |
time | string | optional | |
timezone | string | optional | |
timezoneShort | string | optional |
GqlMarketUnknownDetailobject · 1 field
Fallback for `CalendarDetail` variants added to the library after this schema was written — `CalendarDetail` is `#[non_exhaustive]`, so this keeps the conversion total instead of panicking on a future variant.
| field | type | required | description |
|---|---|---|---|
raw | any | required |
GqlNewsobject · 6 fields
A scraped news article.
| field | type | required | description |
|---|---|---|---|
img | string | required | |
link | string | required | |
sentiment | GqlSentiment | optional | Sentiment score for this article's title (VADER lexicon-based); `null` if the `sentiment` feature isn't compiled in. |
source | string | required | |
time | string | required | |
title | string | required |
GqlOptionContractobject · 15 fields
An option contract (call or put).
| field | type | required | description |
|---|---|---|---|
ask | number | optional | |
bid | number | optional | |
change | number | optional | |
contractSize | string | optional | |
contractSymbol | string | required | |
currency | string | optional | |
expiration | integer | optional | |
impliedVolatility | number | optional | |
inTheMoney | boolean | optional | |
lastPrice | number | optional | |
lastTradeDate | integer | optional | |
openInterest | integer | optional | |
percentChange | number | optional | |
strike | number | required | |
volume | integer | optional |
GqlOptionsobject · 4 fields
Options chain data for a symbol.
| field | type | required | description |
|---|---|---|---|
calls | Page_GqlOptionContract | required | All call contracts across expirations. |
expirationDates | integer[] | required | Available expiration dates (Unix timestamps). |
puts | Page_GqlOptionContract | required | All put contracts across expirations. |
strikes | number[] | required | Available strike prices. |
GqlOptionsBatchobject · 2 fields
Result of the batch `optionsBatch` root field: successfully fetched options chains plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
errors | GqlBatchError[] | required | |
options | Page_GqlSymbolOptions | required | Successfully fetched per-symbol options chains. |
GqlOptionsExpirationEventobject · 1 field
Standard monthly options expiration (3rd Friday) for a ticker.
| field | type | required | description |
|---|---|---|---|
contractCount | integer | optional |
GqlPageInfoobject · 4 fields
Pagination metadata for fields whose pagination genuinely happens at the *input* level (an `offset`/`size`-style arg the upstream API already consumes to fetch the requested slice directly — screener's `customScreener`, EDGAR's `edgarSearch`) rather than by fetching everything and slicing in Rust. These fields keep returning a plain `Vec<T>` (no `edges`/`node` wrapping — that would just be redundant pagination vocabulary layered on top of the offset/size that already did the real work) and add this as a `pageInfo` sibling field alongside their existing `total`/`totalHits`.
| field | type | required | description |
|---|---|---|---|
endCursor | string | optional | |
hasNextPage | boolean | required | |
hasPreviousPage | boolean | required | |
startCursor | string | optional |
GqlParagraphobject · 5 fields
| field | type | required | description |
|---|---|---|---|
end | number | required | |
sentences | GqlSentence[] | required | |
speaker | integer | required | |
start | number | required | |
text | string | required |
GqlPerformingCompanyobject · 5 fields
| field | type | required | description |
|---|---|---|---|
lastPrice | number | optional | |
name | string | optional | |
symbol | string | required | |
targetPrice | number | optional | |
ytdReturn | number | optional |
GqlPivotPointsDataobject · 7 fields
| field | type | required | description |
|---|---|---|---|
pivot | number | optional | |
r1 | number | optional | |
r2 | number | optional | |
r3 | number | optional | |
s1 | number | optional | |
s2 | number | optional | |
s3 | number | optional |
GqlPressReleaseobject · 4 fields
Mirrors `finance_query::PressRelease`.
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
symbol | string | optional | |
text | string | optional | |
title | string | optional |
GqlPriceTargetConsensusobject · 5 fields
Mirrors `finance_query::PriceTargetConsensus`.
| field | type | required | description |
|---|---|---|---|
symbol | string | optional | |
targetConsensus | number | optional | |
targetHigh | number | optional | |
targetLow | number | optional | |
targetMedian | number | optional |
GqlPriceTargetSummaryobject · 9 fields
Analyst price-target publication counts and averages by window.
| field | type | required | description |
|---|---|---|---|
allTimeAvg | number | optional | |
allTimeCount | integer | optional | |
lastMonthAvg | number | optional | |
lastMonthCount | integer | optional | |
lastQuarterAvg | number | optional | |
lastQuarterCount | integer | optional | |
lastYearAvg | number | optional | |
lastYearCount | integer | optional | |
symbol | string | optional |
GqlProtocolTvlobject · 10 fields
A DeFi protocol's total value locked, provider-routed (DefiLlama, keyless).
| field | type | required | description |
|---|---|---|---|
chains | string[] | required | |
change1DPercent | number | optional | |
change7DPercent | number | optional | |
marketCap | number | optional | |
name | string | optional | |
slug | string | required | |
symbol | string | optional | |
tvl | number | optional | |
tvlByChain | GqlChainAllocation[] | required | |
url | string | optional |
GqlQuoteobject · 172 fields
Full quote data for a stock / ETF / fund, mirroring `finance_query::Quote`.
| field | type | required | description |
|---|---|---|---|
allTimeHigh | GqlFormattedValue | optional | |
allTimeLow | GqlFormattedValue | optional | |
ask | GqlFormattedValue | optional | |
askSize | GqlFormattedValue | optional | |
auditRisk | integer | optional | |
averageVolume | GqlFormattedValue | optional | |
balanceSheetHistory | any | optional | |
balanceSheetHistoryQuarterly | any | optional | |
beta | GqlFormattedValue | optional | |
bid | GqlFormattedValue | optional | |
bidSize | GqlFormattedValue | optional | |
boardRisk | integer | optional | |
bookValue | GqlFormattedValue | optional | |
calendarEvents | any | optional | |
cashflowStatementHistory | any | optional | |
cashflowStatementHistoryQuarterly | any | optional | |
category | string | optional | |
city | string | optional | |
companyLogoUrl | string | optional | |
companyOfficers | any | optional | |
compensationRisk | integer | optional | |
country | string | optional | |
currency | string | optional | |
currencySymbol | string | optional | |
currentPrice | GqlFormattedValue | optional | |
currentRatio | GqlFormattedValue | optional | |
dateShortInterest | GqlFormattedValue | optional | |
dayHigh | GqlFormattedValue | optional | |
dayLow | GqlFormattedValue | optional | |
debtToEquity | GqlFormattedValue | optional | |
dividendRate | GqlFormattedValue | optional | |
dividendYield | GqlFormattedValue | optional | |
earnings | any | optional | |
earningsGrowth | GqlFormattedValue | optional | |
earningsHistory | any | optional | |
earningsQuarterlyGrowth | GqlFormattedValue | optional | |
earningsTrend | any | optional | |
ebitdaMargins | GqlFormattedValue | optional | |
enterpriseToEbitda | GqlFormattedValue | optional | |
enterpriseToRevenue | GqlFormattedValue | optional | |
enterpriseValue | GqlFormattedValue | optional | |
equityPerformance | any | optional | |
exDividendDate | GqlFormattedValue | optional | |
exchange | string | optional | |
exchangeDataDelayedBy | integer | optional | |
exchangeName | string | optional | |
fiftyDayAverage | GqlFormattedValue | optional | |
fiftyTwoWeekHigh | GqlFormattedValue | optional | |
fiftyTwoWeekLow | GqlFormattedValue | optional | |
financialCurrency | string | optional | |
firstTradeDateEpochUtc | integer | optional | |
fiveYearAvgDividendYield | GqlFormattedValue | optional | |
floatShares | GqlFormattedValue | optional | |
forwardEps | GqlFormattedValue | optional | |
forwardPe | GqlFormattedValue | optional | |
freeCashflow | GqlFormattedValue | optional | |
fromCurrency | string | optional | |
fullTimeEmployees | integer | optional | |
fundFamily | string | optional | |
fundOwnership | any | optional | |
fundPerformance | any | optional | |
fundProfile | any | optional | |
gmtOffSetMilliseconds | integer | optional | |
grossMargins | GqlFormattedValue | optional | |
grossProfits | GqlFormattedValue | optional | |
heldPercentInsiders | GqlFormattedValue | optional | |
heldPercentInstitutions | GqlFormattedValue | optional | |
impliedSharesOutstanding | GqlFormattedValue | optional | |
incomeStatementHistory | any | optional | |
incomeStatementHistoryQuarterly | any | optional | |
indexTrend | any | optional | |
industry | string | optional | |
industryDisp | string | optional | |
industryKey | string | optional | |
industryTrend | any | optional | |
insiderHolders | any | optional | |
insiderTransactions | any | optional | |
institutionOwnership | any | optional | |
irWebsite | string | optional | |
lastDividendDate | GqlFormattedValue | optional | |
lastDividendValue | GqlFormattedValue | optional | |
lastFiscalYearEnd | GqlFormattedValue | optional | |
lastSplitDate | GqlFormattedValue | optional | |
lastSplitFactor | string | optional | |
logoUrl | string | optional | |
longBusinessSummary | string | optional | |
longName | string | optional | |
majorHoldersBreakdown | any | optional | |
marketCap | GqlFormattedValue | optional | |
marketState | string | optional | |
mostRecentQuarter | GqlFormattedValue | optional | |
navPrice | GqlFormattedValue | optional | |
netIncomeToCommon | GqlFormattedValue | optional | |
netSharePurchaseActivity | any | optional | |
nextFiscalYearEnd | GqlFormattedValue | optional | |
numberOfAnalystOpinions | GqlFormattedValue | optional | |
open | GqlFormattedValue | optional | |
operatingCashflow | GqlFormattedValue | optional | |
operatingMargins | GqlFormattedValue | optional | |
overallRisk | integer | optional | |
payoutRatio | GqlFormattedValue | optional | |
phone | string | optional | |
postMarketChange | GqlFormattedValue | optional | |
postMarketChangePercent | GqlFormattedValue | optional | |
postMarketPrice | GqlFormattedValue | optional | |
postMarketTime | integer | optional | |
preMarketChange | GqlFormattedValue | optional | |
preMarketChangePercent | GqlFormattedValue | optional | |
preMarketPrice | GqlFormattedValue | optional | |
preMarketTime | integer | optional | |
previousClose | GqlFormattedValue | optional | |
priceHint | GqlFormattedValue | optional | |
priceToBook | GqlFormattedValue | optional | |
profitMargins | GqlFormattedValue | optional | |
quickRatio | GqlFormattedValue | optional | |
quoteType | string | optional | |
recommendationKey | string | optional | |
recommendationMean | GqlFormattedValue | optional | |
recommendationTrend | any | optional | |
regularMarketChange | GqlFormattedValue | optional | |
regularMarketChangePercent | GqlFormattedValue | optional | |
regularMarketDayHigh | GqlFormattedValue | optional | |
regularMarketDayLow | GqlFormattedValue | optional | |
regularMarketOpen | GqlFormattedValue | optional | |
regularMarketPreviousClose | GqlFormattedValue | optional | |
regularMarketPrice | GqlFormattedValue | optional | |
regularMarketTime | integer | optional | |
regularMarketVolume | GqlFormattedValue | optional | |
returnOnAssets | GqlFormattedValue | optional | |
returnOnEquity | GqlFormattedValue | optional | |
revenueGrowth | GqlFormattedValue | optional | |
revenuePerShare | GqlFormattedValue | optional | |
sandP52WeekChange | GqlFormattedValue | optional | |
secFilings | any | optional | |
sector | string | optional | |
sectorDisp | string | optional | |
sectorKey | string | optional | |
sectorTrend | any | optional | |
shareholderRightsRisk | integer | optional | |
sharesOutstanding | GqlFormattedValue | optional | |
sharesPercentSharesOut | GqlFormattedValue | optional | |
sharesShort | GqlFormattedValue | optional | |
sharesShortPriorMonth | GqlFormattedValue | optional | |
shortName | string | optional | |
shortPercentOfFloat | GqlFormattedValue | optional | |
shortRatio | GqlFormattedValue | optional | |
state | string | optional | |
symbol | string | optional | |
targetHighPrice | GqlFormattedValue | optional | |
targetLowPrice | GqlFormattedValue | optional | |
targetMeanPrice | GqlFormattedValue | optional | |
targetMedianPrice | GqlFormattedValue | optional | |
timeZoneFullName | string | optional | |
timeZoneShortName | string | optional | |
toCurrency | string | optional | |
topHoldings | any | optional | |
totalAssets | GqlFormattedValue | optional | |
totalDebt | GqlFormattedValue | optional | |
totalRevenue | GqlFormattedValue | optional | |
tradeable | boolean | optional | |
trailingAnnualDividendRate | GqlFormattedValue | optional | |
trailingAnnualDividendYield | GqlFormattedValue | optional | |
trailingEps | GqlFormattedValue | optional | |
trailingPe | GqlFormattedValue | optional | |
twoHundredDayAverage | GqlFormattedValue | optional | |
underlyingSymbol | string | optional | |
upgradeDowngradeHistory | any | optional | |
volume | GqlFormattedValue | optional | |
website | string | optional | |
week52Change | GqlFormattedValue | optional | |
yieldValue | GqlFormattedValue | optional | |
zip | string | optional |
GqlQuoteTypeDataobject · 13 fields
Quote type metadata for a symbol (exchange, timezone, identifiers).
| field | type | required | description |
|---|---|---|---|
exchange | string | optional | |
firstTradeDateEpochUtc | integer | optional | |
gmtOffSetMilliseconds | integer | optional | |
longName | string | optional | |
maxAge | integer | optional | |
messageBoardId | string | optional | |
quoteType | string | optional | |
shortName | string | optional | |
symbol | string | optional | |
timeZoneFullName | string | optional | |
timeZoneShortName | string | optional | |
underlyingSymbol | string | optional | |
uuid | string | optional |
GqlQuotesBatchobject · 2 fields
Result of the batch `quotes` root field: successfully fetched quotes plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
errors | GqlBatchError[] | required | |
quotes | Page_GqlQuote | required | Successfully fetched quotes. |
GqlRatingConsensusobject · 7 fields
Mirrors `finance_query::RatingConsensus`.
| field | type | required | description |
|---|---|---|---|
buy | integer | optional | |
consensus | string | optional | |
hold | integer | optional | |
sell | integer | optional | |
strongBuy | integer | optional | |
strongSell | integer | optional | |
symbol | string | optional |
GqlRecommendationobject · 3 fields
Similar-stock recommendations for one symbol, mirroring `finance_query::Recommendation`, which has no serde rename of its own (plain snake_case JSON keys, e.g. `provider_id`) — `alias` keeps deserialization accepting those keys while `rename_all` documents the camelCase names GraphQL actually puts on the wire.
| field | type | required | description |
|---|---|---|---|
providerId | string | optional | |
recommendations | GqlSimilarSymbol[] | required | |
symbol | string | required |
GqlRecommendationsBatchobject · 2 fields
Result of the batch `recommendationsBatch` root field: successfully fetched recommendations plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
errors | GqlBatchError[] | required | |
recommendations | Page_GqlRecommendation | required | Successfully fetched per-symbol recommendations. |
GqlResearchReportobject · 5 fields
A research report result from `search`.
| field | type | required | description |
|---|---|---|---|
author | string | optional | |
id | string | optional | |
provider | string | optional | |
reportDate | integer | optional | |
reportHeadline | string | optional |
GqlRiskFactorobject · 4 fields
Mirrors `finance_query::RiskFactor`.
| field | type | required | description |
|---|---|---|---|
category | string | optional | |
filingDate | string | optional | |
text | string | optional | |
title | string | optional |
GqlRiskSummaryobject · 17 fields
Risk/performance summary for a symbol.
| field | type | required | description |
|---|---|---|---|
beta | number | optional | |
calmar | number | optional | |
cvar95 | number | required | |
cvar99 | number | required | |
informationRatio | number | optional | |
kelly | number | required | |
maxDrawdown | number | required | |
maxDrawdownRecoveryPeriods | number | optional | |
omega | number | required | |
parametricCvar95 | number | required | |
parametricVar95 | number | required | |
sharpe | number | optional | |
sortino | number | optional | |
trackingError | number | optional | |
ulcerIndex | number | required | |
var95 | number | required | |
var99 | number | required |
GqlScreenerQuoteobject · 59 fields
A single quote result from a predefined or custom screener.
| field | type | required | description |
|---|---|---|---|
ask | GqlFormattedValue | optional | |
askSize | GqlFormattedValue | optional | |
averageAnalystRating | string | optional | |
averageDailyVolume10Day | GqlFormattedValue | optional | |
averageDailyVolume3Month | GqlFormattedValue | optional | |
bid | GqlFormattedValue | optional | |
bidSize | GqlFormattedValue | optional | |
bookValue | GqlFormattedValue | optional | |
currency | string | optional | |
displayName | string | optional | |
dividendDate | GqlFormattedValue | optional | |
dividendRate | GqlFormattedValue | optional | |
dividendYield | GqlFormattedValue | optional | |
earningsTimestamp | GqlFormattedValue | optional | |
earningsTimestampEnd | GqlFormattedValue | optional | |
earningsTimestampStart | GqlFormattedValue | optional | |
epsCurrentYear | GqlFormattedValue | optional | |
epsForward | GqlFormattedValue | optional | |
epsTrailingTwelveMonths | GqlFormattedValue | optional | |
exchange | string | required | |
fiftyDayAverage | GqlFormattedValue | optional | |
fiftyDayAverageChange | GqlFormattedValue | optional | |
fiftyDayAverageChangePercent | GqlFormattedValue | optional | |
fiftyTwoWeekChange | GqlFormattedValue | optional | |
fiftyTwoWeekChangePercent | GqlFormattedValue | optional | |
fiftyTwoWeekHigh | GqlFormattedValue | optional | |
fiftyTwoWeekLow | GqlFormattedValue | optional | |
forwardPE | GqlFormattedValue | optional | |
longName | string | optional | |
marketCap | GqlFormattedValue | optional | |
postMarketChange | GqlFormattedValue | optional | |
postMarketChangePercent | GqlFormattedValue | optional | |
postMarketPrice | GqlFormattedValue | optional | |
postMarketTime | GqlFormattedValue | optional | |
preMarketChange | GqlFormattedValue | optional | |
preMarketChangePercent | GqlFormattedValue | optional | |
preMarketPrice | GqlFormattedValue | optional | |
preMarketTime | GqlFormattedValue | optional | |
priceEpsCurrentYear | GqlFormattedValue | optional | |
priceToBook | GqlFormattedValue | optional | |
quoteType | string | required | |
regularMarketChange | GqlFormattedValue | required | |
regularMarketChangePercent | GqlFormattedValue | required | |
regularMarketDayHigh | GqlFormattedValue | optional | |
regularMarketDayLow | GqlFormattedValue | optional | |
regularMarketOpen | GqlFormattedValue | optional | |
regularMarketPreviousClose | GqlFormattedValue | optional | |
regularMarketPrice | GqlFormattedValue | required | |
regularMarketTime | GqlFormattedValue | optional | |
regularMarketVolume | GqlFormattedValue | optional | |
sharesOutstanding | GqlFormattedValue | optional | |
shortName | string | required | |
symbol | string | required | |
trailingAnnualDividendRate | GqlFormattedValue | optional | |
trailingAnnualDividendYield | GqlFormattedValue | optional | |
trailingPE | GqlFormattedValue | optional | |
twoHundredDayAverage | GqlFormattedValue | optional | |
twoHundredDayAverageChange | GqlFormattedValue | optional | |
twoHundredDayAverageChangePercent | GqlFormattedValue | optional |
GqlScreenerResultsobject · 6 fields
Results from a predefined or custom screener.
| field | type | required | description |
|---|---|---|---|
description | string | optional | |
lastUpdated | integer | optional | |
pageInfo | GqlPageInfo | optional | Present only for `customScreener` (predefined `screener` has no underlying offset support upstream, so no pagination metadata to report). |
quotes | GqlScreenerQuote[] | required | |
total | integer | optional | |
type | string | required |
GqlSearchNewsobject · 8 fields
A news article result from `search`.
| field | type | required | description |
|---|---|---|---|
link | string | optional | |
providerPublishTime | integer | optional | |
publisher | string | optional | |
relatedTickers | string[] | optional | |
thumbnail | any | optional | Opaque nested thumbnail object (resolutions/urls) — not curated further. |
title | string | optional | |
type | string | optional | |
uuid | string | optional |
GqlSearchQuoteobject · 15 fields
A quote/symbol result from `search`.
| field | type | required | description |
|---|---|---|---|
dispSecIndFlag | boolean | optional | |
exchDisp | string | optional | |
exchange | string | optional | |
industry | string | optional | |
industryDisp | string | optional | |
isYahooFinance | boolean | optional | |
logoUrl | string | optional | |
longName | string | optional | |
quoteType | string | optional | |
score | number | optional | |
sector | string | optional | |
sectorDisp | string | optional | |
shortName | string | optional | |
symbol | string | required | |
typeDisp | string | optional |
GqlSearchResultsobject · 5 fields
Combined search results: quotes, news, and research reports.
| field | type | required | description |
|---|---|---|---|
count | integer | optional | |
news | GqlSearchNews[] | required | |
quotes | Page_GqlSearchQuote | required | Quote/symbol results. |
researchReports | GqlResearchReport[] | required | |
totalTime | integer | optional |
GqlSectorCompanyobject · 9 fields
| field | type | required | description |
|---|---|---|---|
dayChangePercent | GqlFormattedValue | optional | |
lastPrice | GqlFormattedValue | optional | |
marketCap | GqlFormattedValue | optional | |
marketWeight | GqlFormattedValue | optional | |
name | string | optional | |
rating | string | optional | |
symbol | string | required | |
targetPrice | GqlFormattedValue | optional | |
ytdReturn | GqlFormattedValue | optional |
GqlSectorDataobject · 12 fields
| field | type | required | description |
|---|---|---|---|
benchmark | GqlSectorPerformance | optional | |
benchmarkName | string | optional | |
industries | GqlSectorIndustry[] | required | |
key | string | required | |
name | string | required | |
overview | GqlSectorOverview | optional | |
performance | GqlSectorPerformance | optional | |
researchReports | GqlSectorResearchReport[] | required | |
symbol | string | optional | |
topCompanies | GqlSectorCompany[] | required | |
topEtfs | GqlSectorETF[] | required | |
topMutualFunds | GqlSectorMutualFund[] | required |
GqlSectorETFobject · 6 fields
| field | type | required | description |
|---|---|---|---|
expenseRatio | GqlFormattedValue | optional | |
lastPrice | GqlFormattedValue | optional | |
name | string | optional | |
netAssets | GqlFormattedValue | optional | |
symbol | string | required | |
ytdReturn | GqlFormattedValue | optional |
GqlSectorIndustryobject · 6 fields
| field | type | required | description |
|---|---|---|---|
dayChangePercent | GqlFormattedValue | optional | |
key | string | optional | |
marketWeight | GqlFormattedValue | optional | |
name | string | required | |
symbol | string | optional | |
ytdReturn | GqlFormattedValue | optional |
GqlSectorMutualFundobject · 6 fields
| field | type | required | description |
|---|---|---|---|
expenseRatio | GqlFormattedValue | optional | |
lastPrice | GqlFormattedValue | optional | |
name | string | optional | |
netAssets | GqlFormattedValue | optional | |
symbol | string | required | |
ytdReturn | GqlFormattedValue | optional |
GqlSectorOverviewobject · 6 fields
| field | type | required | description |
|---|---|---|---|
companiesCount | integer | optional | |
description | string | optional | |
employeeCount | GqlFormattedValue | optional | |
industriesCount | integer | optional | |
marketCap | GqlFormattedValue | optional | |
marketWeight | GqlFormattedValue | optional |
GqlSectorPerformanceobject · 5 fields
| field | type | required | description |
|---|---|---|---|
dayChangePercent | GqlFormattedValue | optional | |
fiveYearChangePercent | GqlFormattedValue | optional | |
oneYearChangePercent | GqlFormattedValue | optional | |
threeYearChangePercent | GqlFormattedValue | optional | |
ytdChangePercent | GqlFormattedValue | optional |
GqlSectorPerformanceHistoryobject · 2 fields
Sector performance for one date.
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
sectors | GqlSectorPerformance[] | required |
GqlSectorResearchReportobject · 9 fields
| field | type | required | description |
|---|---|---|---|
headline | string | optional | |
id | string | required | |
investmentRating | string | optional | |
provider | string | optional | |
reportDate | string | optional | |
reportTitle | string | optional | |
reportType | string | optional | |
targetPrice | number | optional | |
targetPriceStatus | string | optional |
GqlSentenceobject · 4 fields
| field | type | required | description |
|---|---|---|---|
end | number | required | |
start | number | required | |
text | string | required | |
words | GqlWord[] | required |
GqlSentimentobject · 3 fields
Lexicon-based sentiment score for a news article's title.
| field | type | required | description |
|---|---|---|---|
confidence | number | required | |
label | string | required | |
score | number | required |
GqlShortVolumeobject · 4 fields
One day of FINRA short-sale volume.
| field | type | required | description |
|---|---|---|---|
date | string | optional | |
shortExemptVolume | number | optional | |
shortVolume | number | optional | |
totalVolume | number | optional |
GqlSimilarSymbolobject · 2 fields
A single recommended/similar symbol with its similarity score.
| field | type | required | description |
|---|---|---|---|
score | number | required | |
symbol | string | required |
GqlSparkobject · 6 fields
Lightweight sparkline data for a single symbol (close prices only).
| field | type | required | description |
|---|---|---|---|
closes | number[] | required | |
interval | string | optional | |
meta | GqlChartMeta | required | |
range | string | optional | |
symbol | string | required | |
timestamps | integer[] | required |
GqlSparkBatchobject · 2 fields
Result of the batch `spark` root field: successfully fetched sparklines plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
errors | GqlBatchError[] | required | |
sparks | GqlSpark[] | required |
GqlSpeakerDataobject · 3 fields
| field | type | required | description |
|---|---|---|---|
company | string | optional | |
name | string | required | |
role | string | optional |
GqlSpeakerMappingobject · 2 fields
| field | type | required | description |
|---|---|---|---|
speaker | integer | required | |
speakerData | GqlSpeakerData | required |
GqlSplitobject · 4 fields
A single stock split.
| field | type | required | description |
|---|---|---|---|
denominator | number | required | |
numerator | number | required | |
ratio | string | required | |
timestamp | integer | required |
GqlSplitsBatchobject · 2 fields
Result of the batch `splitsBatch` root field: successfully fetched split histories plus any per-symbol fetch errors.
| field | type | required | description |
|---|---|---|---|
errors | GqlBatchError[] | required | |
splits | GqlSymbolSplits[] | required |
GqlStochasticDataobject · 2 fields
Mirrors `finance_query::indicators::summary::StochasticData`, whose `k`/`d` fields serialize as `"%K"`/`"%D"` (a custom per-field rename, not plain camelCase) — must match exactly for deserialization to find them.
| field | type | required | description |
|---|---|---|---|
d | number | optional | |
k | number | optional |
GqlSuperTrendDataobject · 2 fields
| field | type | required | description |
|---|---|---|---|
trend | string | optional | |
value | number | optional |
GqlSymbolCapitalGainsobject · 2 fields
Wrapper for batch capital gains: `{symbol, capitalGains}`.
| field | type | required | description |
|---|---|---|---|
capitalGains | GqlCapitalGain[] | required | |
symbol | string | required |
GqlSymbolChartobject · 2 fields
Wraps a symbol name with its chart data, used by the batch `charts` root field.
| field | type | required | description |
|---|---|---|---|
chart | GqlChart | required | |
symbol | string | required |
GqlSymbolDetailsobject · 13 fields
Reference detail for one symbol, provider-routed (Capability::DISCOVERY).
| field | type | required | description |
|---|---|---|---|
assetType | string | optional | |
cik | string | optional | |
description | string | optional | |
employees | integer | optional | |
exchange | string | optional | |
homepageUrl | string | optional | |
listDate | string | optional | |
marketCap | number | optional | |
name | string | optional | |
sharesOutstanding | number | optional | |
sicCode | string | optional | |
sicDescription | string | optional | |
symbol | string | required |
GqlSymbolDividendsobject · 2 fields
Wrapper for batch dividends: `{symbol, dividends}`. `dividends` is a plain payment list here (mirrors `BatchDividendsResponse.dividends: HashMap<String, Vec<Dividend>>`) — batch dividends has no per-symbol analytics, unlike the single-symbol `GqlDividends`.
| field | type | required | description |
|---|---|---|---|
dividends | GqlDividend[] | required | |
symbol | string | required |
GqlSymbolFinancialsobject · 2 fields
Wrapper for batch financials: `{symbol, statement}` — `statement` is every line item in that symbol's statement, not a single one.
| field | type | required | description |
|---|---|---|---|
statement | GqlFinancialLineItem[] | required | |
symbol | string | required |
GqlSymbolIndicatorsobject · 2 fields
Wraps a symbol name with its indicators, used by the batch root field.
| field | type | required | description |
|---|---|---|---|
indicators | GqlIndicatorsSummary | required | |
symbol | string | required |
GqlSymbolMatchobject · 10 fields
Mirrors `finance_query::crypto::SymbolMatch` — the provider-neutral discovery shape, here populated from CoinGecko's coin universe.
| field | type | required | description |
|---|---|---|---|
active | boolean | optional | |
assetType | string | optional | |
currency | string | optional | |
exchange | string | optional | |
id | string | optional | |
image | string | optional | |
marketCapRank | integer | optional | |
name | string | optional | |
symbol | string | required | |
thumbnail | string | optional |
GqlSymbolOptionsobject · 2 fields
Wraps a symbol name with its options chain, used by the batch `optionsBatch` root field.
| field | type | required | description |
|---|---|---|---|
options | GqlOptions | required | |
symbol | string | required |
GqlSymbolSplitsobject · 2 fields
Wrapper for batch splits: `{symbol, splits}`.
| field | type | required | description |
|---|---|---|---|
splits | GqlSplit[] | required | |
symbol | string | required |
GqlTradeobject · 19 fields
One completed round trip.
| field | type | required | description |
|---|---|---|---|
commission | number | required | |
dividendIncome | number | required | |
entryPrice | number | required | |
entryQuantity | number | required | |
entrySignal | GqlTradeSignal | required | |
entryTimestamp | integer | required | |
exitPrice | number | required | |
exitSignal | GqlTradeSignal | required | |
exitTimestamp | integer | required | |
financingCost | number | required | |
isPartial | boolean | required | |
pnl | number | required | |
quantity | number | required | |
returnPct | number | required | |
scaleSequence | integer | required | |
side | string | required | |
tags | string[] | required | |
transactionTax | number | required | |
unreinvestedDividends | number | required |
GqlTradeSignalobject · 6 fields
The signal that opened or closed a trade.
| field | type | required | description |
|---|---|---|---|
direction | string | required | `SignalDirection` is `#[non_exhaustive]`, so a new library variant must not fail deserialization here. |
price | number | required | |
reason | string | optional | |
strength | number | required | |
tags | string[] | optional | |
timestamp | integer | required |
GqlTranscriptobject · 2 fields
| field | type | required | description |
|---|---|---|---|
transcriptContent | GqlTranscriptContent | required | |
transcriptMetadata | GqlTranscriptMetadata | required |
GqlTranscriptContentobject · 5 fields
| field | type | required | description |
|---|---|---|---|
companyId | integer | required | |
eventId | integer | required | |
speakerMapping | GqlSpeakerMapping[] | required | |
transcript | GqlTranscriptData | optional | |
version | string | optional |
GqlTranscriptDataobject · 3 fields
| field | type | required | description |
|---|---|---|---|
numberOfSpeakers | integer | required | |
paragraphs | Page_GqlParagraph | required | Per-paragraph breakdown (speaker, start/end timestamp, text). A full call's `text` blob can be tens of thousands of tokens — paginate through paragraphs instead when only part of the call is needed. |
text | string | required |
GqlTranscriptMetadataobject · 11 fields
| field | type | required | description |
|---|---|---|---|
date | integer | required | |
eventId | integer | required | |
eventType | string | required | |
fiscalPeriod | string | required | |
fiscalYear | integer | required | |
isLatest | boolean | required | |
s3Url | string | required | |
title | string | required | |
transcriptId | integer | required | |
transcriptType | string | required | |
updated | integer | required |
GqlTranscriptWithMetaobject · 6 fields
| field | type | required | description |
|---|---|---|---|
eventId | string | required | |
quarter | string | optional | |
title | string | required | |
transcript | GqlTranscript | required | |
url | string | required | |
year | integer | optional |
GqlTreasuryYieldobject · 14 fields
One day of US Treasury yield curve rates. Maturities with no published rate on a given date are `null`.
| field | type | required | description |
|---|---|---|---|
date | string | required | |
y1 | number | optional | |
y10 | number | optional | |
y1M | number | optional | |
y2 | number | optional | |
y20 | number | optional | |
y2M | number | optional | |
y3 | number | optional | |
y30 | number | optional | |
y3M | number | optional | |
y4M | number | optional | |
y5 | number | optional | |
y6M | number | optional | |
y7 | number | optional |
GqlTrendingCoinobject · 6 fields
Mirrors `finance_query::crypto::TrendingCoin` — plain snake_case JSON keys, same no-serde-rename rule as [`GqlCoinQuote`].
| field | type | required | description |
|---|---|---|---|
id | string | optional | |
marketCapRank | integer | optional | |
name | string | optional | |
priceBtc | number | optional | |
score | integer | optional | |
symbol | string | optional |
GqlTrendingQuoteobject · 4 fields
A trending ticker.
| field | type | required | description |
|---|---|---|---|
regularMarketChangePercent | GqlFormattedValue | optional | |
regularMarketPrice | GqlFormattedValue | optional | |
shortName | string | optional | |
symbol | string | optional |
GqlTvlPointobject · 2 fields
One point on a protocol's TVL history.
| field | type | required | description |
|---|---|---|---|
timestamp | integer | required | |
tvl | number | required |
GqlUnknownEventobject · 1 field
Fallback for `EventKind` variants added to the library after this schema was written — `EventKind` is `#[non_exhaustive]`, so this keeps the conversion total instead of panicking on a future variant.
| field | type | required | description |
|---|---|---|---|
raw | any | required |
GqlWordobject · 5 fields
| field | type | required | description |
|---|---|---|---|
confidence | number | required | |
end | number | required | |
punctuatedWord | string | required | |
start | number | required | |
word | string | required |
GqlZigZagPointobject · 3 fields
Mirrors `finance_query::indicators::ZigZagPoint`, which has no serde rename of its own (plain snake_case keys).
| field | type | required | description |
|---|---|---|---|
index | integer | optional | |
isHigh | boolean | optional | |
price | number | optional |
HealthResponseobject · 4 fields
Body of `GET /v2/health`.
| field | type | required | description |
|---|---|---|---|
notices | string[] | required | Data-provider attribution notices. |
status | string | required | Always "healthy" when the server can respond at all. |
timestamp | string | required | RFC 3339 timestamp of the response. |
version | string | required | Server crate version. |
HolderTypeenum
Holder type for `GET /v2/holders/{symbol}/{type}`.
one of: "major", "institutional", "mutualfund", "insider-transactions", "insider-purchases", "insider-roster"
HoldersQueryobject · 3 fields
Query parameters for `GET /v2/holders/{symbol}/{type}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max entries per page for holder types with a list (institutional, mutualfund, insider-transactions, insider-roster); omitted (with cursor also omitted) = every matching entry as a bare array, unchanged from pre-pagination behavior. No-op for major/insider-purchases (no list). |
HoldersResponseany
Body of `GET /v2/holders/{symbol}/{type}` — the shape depends on the `{type}` path param (major, institutional, mutualfund, insider-transactions, insider-purchases, insider-roster), so the schema is deliberately open.
any
HoursQueryobject · 2 fields
Query parameters for `GET /v2/hours`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
region | Region | optional | Region code (e.g., "US", "JP", "GB"). Defaults to US if not specified. |
IndexConstituentsQueryobject · 1 field
Query parameters for `GET /v2/index-constituents/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
IndicatorsQueryobject · 3 fields
Query parameters for `GET /v2/indicators/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
interval | Interval | optional | Candle interval (default: 1d) |
range | TimeRange | optional | Time range (default: 1mo) |
IndicesQueryobject · 3 fields
Query parameters for `GET /v2/indices`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
format | ValueFormat | optional | Value format: raw, pretty, or both (default: raw) |
region | indices_Region | optional | Region filter: americas, europe, asia-pacific, middle-east-africa, currencies |
Industryenum
Typed industry identifier for the industry endpoint and custom screener queries.
one of: "agricultural-inputs", "aluminum", "coal", "copper", "farm-products", "forest-products", "gold", "lumber-wood-production", "other-industrial-metals-mining", "other-precious-metals-mining", "silver", "steel", "thermal-coal", "uranium", "apparel-manufacturing", "apparel-retail", "auto-truck-dealerships", "auto-manufacturers", "auto-parts", "beverages-brewers", "beverages-non-alcoholic", "beverages-wineries-distilleries", "confectioners", "department-stores", "discount-stores", "electronic-gaming-multimedia", "food-distribution", "footwear-accessories", "furnishings-fixtures-appliances", "gambling", "grocery-stores", "home-improvement-retail", "household-personal-products", "internet-retail", "leisure", "lodging", "luxury-goods", "packaged-foods", "personal-services", "residential-construction", "resorts-casinos", "restaurants", "specialty-retail", "textile-manufacturing", "tobacco", "travel-services", "oil-gas-drilling", "oil-gas-ep", "oil-gas-equipment-services", "oil-gas-integrated", "oil-gas-midstream", "oil-gas-refining-marketing", "solar", "asset-management", "banks-diversified", "banks-regional", "capital-markets", "credit-services", "financial-data-stock-exchanges", "insurance-brokers", "insurance-diversified", "insurance-life", "insurance-property-casualty", "insurance-reinsurance", "insurance-specialty", "mortgage-finance", "shell-companies", "biotechnology", "diagnostics-research", "drug-manufacturers-general", "drug-manufacturers-specialty-generic", "health-information-services", "healthcare-plans", "medical-care-facilities", "medical-devices", "medical-distribution", "medical-instruments-supplies", "pharmaceutical-retailers", "aerospace-defense", "building-materials", "building-products-equipment", "business-equipment-supplies", "chemical-manufacturing", "chemicals", "conglomerates", "consulting-services", "electrical-equipment-parts", "engineering-construction", "farm-heavy-construction-machinery", "industrial-distribution", "infrastructure-operations", "integrated-freight-logistics", "manufacturing-diversified", "marine-ports-services", "marine-shipping", "metal-fabrication", "paper-paper-products", "pollution-treatment-controls", "railroads", "rental-leasing-services", "security-protection-services", "specialty-business-services", "specialty-chemicals", "specialty-industrial-machinery", "staffing-employment-services", "tools-accessories", "trucking", "waste-management", "real-estate-development", "real-estate-diversified", "real-estate-services", "reit-diversified", "reit-healthcare-facilities", "reit-hotel-motel", "reit-industrial", "reit-mortgage", "reit-office", "reit-residential", "reit-retail", "reit-specialty", "communication-equipment", "computer-hardware", "consumer-electronics", "data-analytics", "electronic-components", "electronics-computer-distribution", "hardware-software-distribution", "information-technology-services", "internet-content-information", "scientific-technical-instruments", "semiconductor-equipment-materials", "semiconductors", "software-application", "software-infrastructure", "broadcasting", "entertainment", "publishing", "telecom-services", "utilities-diversified", "utilities-independent-power-producers", "utilities-regulated-electric", "utilities-regulated-gas", "utilities-regulated-water", "utilities-renewable", "closed-end-fund-debt", "closed-end-fund-equity", "closed-end-fund-foreign", "exchange-traded-fund"
Intervalenum
Chart intervals
one of: "1m", "2m", "5m", "15m", "30m", "1h", "90m", "1d", "5d", "1wk", "1mo", "3mo"
LookupQueryobject · 7 fields
Query parameters for `GET /v2/lookup`.
| field | type | required | description |
|---|---|---|---|
count | integer | optional | Maximum number of results (default: 25) |
fields | string | optional | Comma-separated list of fields to include in response |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
logo | boolean | optional | Include logo URLs (requires additional API call, default: false) |
q | string | required | Lookup query string (required) |
region | Region | optional | Region code for lang/region settings (e.g., "US", "JP", "GB") |
type | LookupType | optional | Asset type filter: all, equity, mutualfund, etf, index, future, currency, cryptocurrency |
LookupTypeenum
Asset types available for lookup
one of: "all", "equity", "mutualfund", "etf", "index", "future", "currency", "cryptocurrency"
MarketCalendarKindParamenum
Calendar kind for `GET /v2/market-calendar`.
one of: "earnings", "ipo", "dividend", "split", "economic", "market-holiday", "market-status"
MarketCalendarQueryobject · 4 fields
Query parameters for `GET /v2/market-calendar`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
from | string | optional | Start date (YYYY-MM-DD); ignored by market-holiday/market-status |
kind | MarketCalendarKindParam | required | Which market-wide calendar to fetch (required) |
to | string | optional | End date (YYYY-MM-DD); ignored by market-holiday/market-status |
MarketNewsQueryobject · 4 fields
Query parameters for `GET /v2/crypto/news` and `GET /v2/forex/news`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Maximum number of articles to fetch (default: 20) |
pageCursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
pageLimit | integer | optional | Max articles per page; omitted (with pageCursor also omitted) = every fetched article (up to `limit`) as a bare array, unchanged from pre-pagination behavior |
MarketSummaryQueryobject · 4 fields
Query parameters for `GET /v2/market-summary`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
format | ValueFormat | optional | Value format: raw, pretty, or both (default: raw) |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
region | Region | optional | Region code for localization (e.g., "US", "JP", "GB") |
MetricsTextstring
Body of `GET /v2/metrics`: Prometheus text exposition format (served as `text/plain; version=0.0.4`, not JSON).
string
NewsQueryobject · 5 fields
Query parameters for `GET /v2/news` and `GET /v2/news/{symbol}`.
| field | type | required | description |
|---|---|---|---|
count | integer | optional | Maximum number of articles to return (default: 10) |
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
limit | integer | optional | Max articles per page; omitted (with cursor also omitted) = every fetched article (up to `count`) as a bare array, unchanged from pre-pagination behavior |
OptionsQueryobject · 4 fields
Query parameters for `GET /v2/options/{symbol}`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` (applied to both `calls` and `puts`) |
date | integer | optional | Optional expiration date (Unix timestamp) |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max contracts per side per page; omitted (with cursor also omitted) = every matching contract as a bare array, unchanged from pre-pagination behavior |
Page_GqlCandleobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlCandle[] | required | |
pageInfo | object | required |
Page_GqlCotObservationobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlCotObservation[] | required | |
pageInfo | object | required |
Page_GqlDividendobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlDividend[] | required | |
pageInfo | object | required |
Page_GqlEdgarFilingobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlEdgarFiling[] | required | |
pageInfo | object | required |
Page_GqlEquityPointobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlEquityPoint[] | required | |
pageInfo | object | required |
Page_GqlFactDataPointobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlFactDataPoint[] | required | |
pageInfo | object | required |
Page_GqlMacroObservationobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlMacroObservation[] | required | |
pageInfo | object | required |
Page_GqlOptionContractobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlOptionContract[] | required | |
pageInfo | object | required |
Page_GqlParagraphobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlParagraph[] | required | |
pageInfo | object | required |
Page_GqlQuoteobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlQuote[] | required | |
pageInfo | object | required |
Page_GqlRecommendationobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlRecommendation[] | required | |
pageInfo | object | required |
Page_GqlSearchQuoteobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlSearchQuote[] | required | |
pageInfo | object | required |
Page_GqlSymbolChartobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlSymbolChart[] | required | |
pageInfo | object | required |
Page_GqlSymbolDividendsobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlSymbolDividends[] | required | |
pageInfo | object | required |
Page_GqlSymbolIndicatorsobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlSymbolIndicators[] | required | |
pageInfo | object | required |
Page_GqlSymbolOptionsobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlSymbolOptions[] | required | |
pageInfo | object | required |
Page_GqlTradeobject · 3 fields
| field | type | required | description |
|---|---|---|---|
edges | object[] | required | |
nodes | GqlTrade[] | required | |
pageInfo | object | required |
PingResponseobject · 1 field
Body of `GET /v2/ping`.
| field | type | required | description |
|---|---|---|---|
message | string | required | Always "pong". |
PressReleasesQueryobject · 2 fields
Query parameters for `GET /v2/press-releases/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Maximum number of releases to return (default: 10) |
Quarterenum
Fiscal quarter for `GET /v2/transcripts/{symbol}`.
one of: "Q1", "Q2", "Q3", "Q4"
QuoteQueryobject · 4 fields
Query parameters for `GET /v2/quote/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
format | ValueFormat | optional | Value format: raw, pretty, or both (default: raw) |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
logo | boolean | optional | Whether to include company logo URL (default: false) |
QuoteTypeenum
Quote type for custom screener queries.
one of: "EQUITY", "MUTUALFUND"
QuoteTypeQueryobject · 1 field
Query parameters for `GET /v2/quote-type/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
QuotesQueryobject · 7 fields
Query parameters for `GET /v2/quotes`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
format | ValueFormat | optional | Value format: raw, pretty, or both (default: raw) |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
limit | integer | optional | Max symbols per page; omitted (with cursor also omitted) = every requested symbol's quote as a bare array, unchanged from pre-pagination behavior |
logo | boolean | optional | Whether to include company logo URLs (default: false) |
symbols | string | required | Comma-separated symbols (required) |
RangeQueryobject · 2 fields
Query parameters for range-scoped event endpoints (`GET /v2/splits/{symbol}`, `GET /v2/capital-gains/{symbol}`).
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
range | TimeRange | optional | Time range (default: max) |
RateLimitErrorobject · 3 fields
Rate limit error body, returned with HTTP 429 and a `Retry-After` header.
| field | type | required | description |
|---|---|---|---|
error | string | required | Always "Rate limit exceeded". |
message | string | required | Human-readable message including the retry delay. |
retryAfterSeconds | integer | required | Seconds until the next request would be admitted. |
RecommendationsQueryobject · 2 fields
Query parameters for `GET /v2/recommendations/{symbol}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Maximum number of similar symbols to return |
Regionenum
Supported regions for Yahoo Finance regional APIs
one of: "AR", "AU", "BR", "CA", "CN", "DK", "FI", "FR", "DE", "GR", "HK", "IN", "IL", "IT", "JP", "KR", "MY", "MX", "NZ", "NO", "PT", "QA", "RU", "SG", "ES", "SE", "TW", "TH", "TR", "GB", "US", "VN"
RiskFactorsQueryobject · 1 field
Query parameters for `GET /v2/filings/{symbol}/risk-factors`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
RiskQueryobject · 4 fields
Query parameters for `GET /v2/risk/{symbol}`.
| field | type | required | description |
|---|---|---|---|
benchmark | string | optional | Optional benchmark symbol for beta calculation (e.g., "SPY") |
fields | string | optional | Comma-separated list of fields to include in response |
interval | Interval | optional | Candle interval (default: 1d) |
range | TimeRange | optional | Time range (default: 1mo) |
Screenerenum
Predefined Yahoo Finance screener selector
one of: "aggressive-small-caps", "day-gainers", "day-losers", "growth-technology-stocks", "most-actives", "most-shorted-stocks", "small-cap-gainers", "undervalued-growth-stocks", "undervalued-large-caps", "conservative-foreign-funds", "high-yield-bond", "portfolio-anchors", "solid-large-growth-funds", "solid-midcap-growth-funds", "top-mutual-funds"
ScreenersQueryobject · 3 fields
Query parameters for `GET /v2/screeners/{screener}`.
| field | type | required | description |
|---|---|---|---|
count | integer | optional | Number of results (default: 25, max: 250) |
fields | string | optional | Comma-separated list of fields to include in response |
format | ValueFormat | optional | Value format: raw, pretty, or both (default: raw) |
SearchQueryobject · 12 fields
Query parameters for `GET /v2/search`.
| field | type | required | description |
|---|---|---|---|
cultural | boolean | optional | Enable cultural assets/NFT indices (default: false) |
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
fuzzy | boolean | optional | Enable fuzzy matching for typos (default: false) |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
limit | integer | optional | Max quotes per page; omitted (with cursor also omitted) = every fetched quote (up to `quotes`) as a bare array, unchanged from pre-pagination behavior |
logo | boolean | optional | Enable logo URLs in results (default: true) |
news | integer | optional | Maximum number of news results (default: 0 = disabled) |
q | string | required | Search query string (required) |
quotes | integer | optional | Maximum number of quote results (default: 6) |
region | Region | optional | Region code for lang/region settings (e.g., "US", "JP", "GB") |
research | boolean | optional | Enable research reports (default: false) |
Sectorenum
Market sector types available on Yahoo Finance
one of: "technology", "financial-services", "consumer-cyclical", "communication-services", "healthcare", "industrials", "consumer-defensive", "energy", "basic-materials", "real-estate", "utilities"
SectorPeQueryobject · 1 field
Query parameters for `GET /v2/sector-pe`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
SectorPerformanceQueryobject · 1 field
Query parameters for `GET /v2/sector-performance`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
SectorQueryobject · 3 fields
Query parameters for `GET /v2/sectors/{sector}` and `GET /v2/industries/{industry}`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
format | ValueFormat | optional | Value format: raw, pretty, or both (default: raw) |
lang | string | optional | Target language for translated text fields (BCP 47, e.g. "ja", "zh-Hant"); falls back to the Accept-Language header |
SortTypeenum
Sort direction for screener results.
one of: "ASC", "DESC"
SparkQueryobject · 4 fields
Query parameters for `GET /v2/spark`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
interval | Interval | optional | Candle interval (default: 1d) |
range | TimeRange | optional | Time range (default: 1mo) |
symbols | string | required | Comma-separated symbols (required) |
StatementTypeenum
Statement types for financial data
one of: "income", "balance", "cashflow"
TimeRangeenum
Time ranges for chart data
one of: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"
TreasuryYieldsQueryobject · 4 fields
Query parameters for `GET /v2/fred/treasury-yields`.
| field | type | required | description |
|---|---|---|---|
cursor | string | optional | Opaque continuation cursor from a previous response's `pageInfo.endCursor` |
fields | string | optional | Comma-separated list of fields to include in response |
limit | integer | optional | Max rows per page; omitted (with cursor also omitted) = every matching row as a bare array, unchanged from pre-pagination behavior |
year | integer | optional | Calendar year (default: current year) |
TrendingQueryobject · 2 fields
Query parameters for `GET /v2/trending`.
| field | type | required | description |
|---|---|---|---|
fields | string | optional | Comma-separated list of fields to include in response |
region | Region | optional | Region code for localization (e.g., "US", "JP", "GB") |
ValueFormatenum
Value format for API responses
one of: "raw", "pretty", "both"
indices_Regionenum
Region categories for world indices
one of: "americas", "europe", "asia-pacific", "middle-east-africa", "currencies"
