ETF Quote (by Symbol)
omnial/get-etf-quote
Given an ETF ticker symbol (e.g. QQQ), returns its latest quote: last sale price, net change, percentage change, trading volume, bid/ask, and whether the market is open or closed, plus basic listing details like exchange and asset class. A symbol that isn't a recognized ETF returns an empty result rather than an error.
Price
Up to $0.0137 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.
Data source
Data from Nasdaq.
Use it
Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.
Connect once and your AI can find and run this tool, and any other it needs.
For developers: the calls your assistant makes
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/get-etf-quote" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/get-etf-quote" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/get-etf-quote", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/get-etf-quote", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0137 |
- Updated
- Oct 27, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"description": "ETF symbol (e.g. QQQ)."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"quote": {
"type": "object",
"properties": {
"isHeld": {
"type": "boolean"
},
"symbol": {
"type": "string",
"description": "e.g. 'QQQ'."
},
"exchange": {
"type": "string",
"description": "e.g. 'NASDAQ-GM'."
},
"keyStats": {
"type": [
"object",
"null"
],
"description": "Observed as `null` on the one real call captured -- shape when populated is unconfirmed."
},
"stockType": {
"type": [
"string",
"null"
],
"description": "Observed as `null` on the one real call captured -- shape when populated is unconfirmed."
},
"assetClass": {
"type": "string",
"description": "e.g. 'ETF'."
},
"companyName": {
"type": "string",
"description": "The fund/issuer's public trading name, e.g. 'Invesco QQQ Trust, Series 1'."
},
"isNasdaq100": {
"type": "boolean",
"description": "Observed `false` even for QQQ, which tracks the Nasdaq-100 index, on the one real call captured -- do not assume this reflects index membership."
},
"primaryData": {
"type": "object",
"properties": {
"volume": {
"type": "string",
"description": "Comma-separated numeric string, e.g. '28,342,148', not a number."
},
"askSize": {
"type": "string",
"description": "Numeric string, or 'N/A' as with askPrice."
},
"bidSize": {
"type": "string",
"description": "Numeric string, or 'N/A' as with bidPrice."
},
"askPrice": {
"type": "string",
"description": "Formatted price string, or the literal 'N/A' when no live ask exists (e.g. market closed)."
},
"bidPrice": {
"type": "string",
"description": "Formatted price string, or the literal 'N/A' when no live bid exists (e.g. market closed)."
},
"currency": {
"type": [
"string",
"null"
],
"description": "Observed as `null` on the one real call captured -- shape when populated is unconfirmed."
},
"netChange": {
"type": "string",
"description": "Formatted string, e.g. '-0.60'."
},
"isRealTime": {
"type": "boolean"
},
"lastSalePrice": {
"type": "string",
"description": "Formatted currency string, e.g. '$718.36', not a number."
},
"deltaIndicator": {
"type": "string",
"description": "e.g. 'down', 'up'."
},
"percentageChange": {
"type": "string",
"description": "Formatted string, e.g. '-0.08%'."
},
"lastTradeTimestamp": {
"type": "string",
"description": "Despite the name, a DATE only, e.g. 'Sep 8, 2026' -- no time of day was observed on the one real call captured."
}
},
"additionalProperties": true
},
"marketStatus": {
"type": "string",
"description": "e.g. 'Closed', 'Open'."
},
"notifications": {
"type": "array",
"items": {},
"description": "Observed as an empty array on the one real call captured -- item shape is unconfirmed."
},
"secondaryData": {
"type": [
"object",
"null"
],
"description": "Observed as `null` (likely pre/post-market data, unpopulated during a closed market on the one real call captured) -- shape when populated is unconfirmed."
},
"isNasdaqListed": {
"type": "boolean",
"description": "Observed `false` even for a Nasdaq-exchange-listed fund (QQQ, exchange 'NASDAQ-GM') on the one real call captured -- do not assume this tracks the `exchange` field."
}
},
"additionalProperties": true
}
},
"additionalProperties": true
},
"status": {
"type": "string",
"description": "'success' on the real found-symbol call observed."
}
},
"description": "The ETF quote record. Returns `{}` when the requested symbol is not a recognized ETF -- no field here is guaranteed present.",
"additionalProperties": true
}