Contract
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"description": "Stock ticker symbol (e.g. 'AAPL')."
},
"exchange": {
"type": "string",
"description": "Stock exchange (e.g. 'NYSE', 'NASDAQ')."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Delta": {
"type": "string",
"description": "Signed decimal string, e.g. '-0.001739' or '0.998276'."
},
"Trades": {
"type": "string",
"description": "Comma-formatted count of trades, e.g. '1,915'."
},
"Volume": {
"type": "string",
"description": "Comma-formatted string, e.g. '2,041'."
},
"Expires": {
"type": "string",
"description": "Contract expiration date, e.g. '9/9/2026' (M/D/YYYY). A promotional blurb row (see the array-level description) carries ad copy here instead of a date."
},
"Put/Call": {
"type": "string",
"description": "'Put' or 'Call'."
},
"Volume Ask": {
"type": "string",
"description": "Comma-formatted string; '-' observed when there is no ask-side volume."
},
"Volume Bid": {
"type": "string",
"description": "Comma-formatted string; '-' observed when there is no bid-side volume."
},
"Close Price": {
"type": "string",
"description": "Dollar-formatted string, e.g. '$0.009' or '$50.368'."
},
"Strike Price": {
"type": "string",
"description": "Dollar-formatted string, e.g. '$270.00', not a number."
},
"Open Interest": {
"type": "string",
"description": "Total open interest followed by the day's change in parentheses, e.g. '44(+0)' or '113(+107)'. A number-shaped string, not a numeric type."
},
"Implied Volatility": {
"type": "string",
"description": "Percent followed by the day's change in parentheses, e.g. '50.31%(-2.18%)'."
}
},
"additionalProperties": false
},
"description": "Contract rows on a real successful lookup (AAPL: 66 rows, one nearest listed expiration, mixing puts and calls across strike prices). A small number of rows in the raw response are promotional/newsletter blurbs scraped from the page rather than contract data -- they carry ad copy in the Expires field and no other properties; such rows shape to an object with only (or none of) the fields below populated. On an unrecognized ticker, this endpoint has been observed returning an unrelated fallback stock listing instead of an error or an empty result (see usage.md) -- none of that listing's fields are mapped to this shape, so those entries appear here as empty objects rather than contract data."
}
},
"additionalProperties": false
},
"status": {
"type": "string",
"description": "'success' on both real calls observed, including the unrecognized-ticker case."
}
},
"description": "The options-chain record, as returned at routing.responseResultPath ($.output).",
"additionalProperties": false
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.01365 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 15, 2026
