---
title: Quotes tg h
sidebar_position: 4
tags:
  - "API: High Usage"
---

Get a current or historical end of day quote for a single options contract.

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

## Endpoint
```
https://api.marketdata.app/v1/options/quotes/{optionSymbol}/
```
#### Method
```
GET
```
## Request Example

<Tabs>
<TabItem value="HTTP" label="HTTP" default>

**GET** [https://api.marketdata.app/v1/options/quotes/AAPL271217C00250000/](https://api.marketdata.app/v1/options/quotes/AAPL271217C00250000/)

</TabItem>
<TabItem value="NodeJS" label="NodeJS">

```js title="app.js"
fetch("https://api.marketdata.app/v1/options/quotes/AAPL271217C00250000/")
  .then((res) => {
    console.log(res);
  })
  .catch((err) => {
    console.log(err);
  });
```

</TabItem>
<TabItem value="Python" label="Python">

```python title="app.py"
from marketdata import MarketDataClient

client = MarketDataClient()
quotes = client.options.quotes("AAPL271217C00250000")
print(quotes)
```

</TabItem>
<TabItem value="Go" label="Go">

```go title="optionQuotes.go"

import (
  "fmt"

  api "github.com/MarketDataApp/sdk-go"
)

func ExampleOptionQuoteRequest() {
	quotes, err := OptionQuote().OptionSymbol("AAPL271217C00250000").Get()
	if err != nil {
		fmt.Print(err)
		return
	}

	for _, quote := range quotes {
		fmt.Println(quote)
	}
}
```
</TabItem>
<TabItem value="PHP" label="PHP">

```php title="optionQuotes.php"
use MarketDataApp\Client;

$client = new Client();
$quotes = $client->options->quotes("AAPL271217C00250000");

// Display formatted quotes with Greeks
echo $quotes;
```
</TabItem>
</Tabs>

## Response Example

```json
{
  "s": "ok",
  "optionSymbol": ["AAPL271217C00250000"],
  "ask": [5.25],
  "askSize": [57],
  "bid": [5.15],
  "bidSize": [994],
  "mid": [5.2],
  "last": [5.25],
  "volume": [977],
  "openInterest": [61289],
  "underlyingPrice": [136.12],
  "inTheMoney": [false],
  "updated": [1665673292],
  "iv": [0.3468],
  "delta": [0.347],
  "gamma": [0.015],
  "theta": [-0.05],
  "vega": [0.264],
  "intrinsicValue": [13.88],
  "extrinsicValue": [8.68]
}
```

## Request Parameters

<Tabs>
<TabItem value="required" label="Required" default>

- **optionSymbol** `string`

  The option symbol (as defined by the OCC) for the option you wish to lookup. Use the current OCC option symbol format, even for historic options that quoted before the format change in 2010.

</TabItem>
<TabItem value="optional" label="Optional">

- **date** `date`

  Use to lookup a historical end of day quote from a specific trading day. If no date is specified the quote will be the most current price available during market hours. When the market is closed the quote will be from the last trading day. Accepted date inputs: `ISO 8601`, `unix`, `spreadsheet`.

- **from** `date`

  Use to lookup a series of end of day quotes. From is the oldest (leftmost) date to return (inclusive). If from/to is not specified the quote will be the most current price available during market hours. When the market is closed the quote will be from the last trading day. Accepted date inputs: `ISO 8601`, `unix`, `spreadsheet`.

- **to** `date`

  Use to lookup a series of end of day quotes. From is the newest (rightmost) date to return (exclusive). If from/to is not specified the quote will be the most current price available during market hours. When the market is closed the quote will be from the last trading day. Accepted date inputs: `ISO 8601`, `unix`, `spreadsheet`.

</TabItem>
</Tabs>

## Response Attributes

<Tabs>
<TabItem value="Success" label="Success" default>

- **s** `string`

  Status will always be `ok` when there is data for the quote requested.

- **optionSymbol** `array[string]`

  The option symbol according to OCC symbology.

- **ask** `array[number]`

  The ask price.

- **askSize** `array[number]`

  The number of contracts offered at the ask price.

- **bid** `array[number]`

  The bid price.

- **bidSize** `array[number]`

  The number of contracts offered at the bid price.

- **mid** `array[number]`

  The midpoint price between the ask and the bid, also known as the mark price.

- **last** `array[number]`

  The last price negotiated for this option contract at the time of this quote.

- **volume** `array[number]`

  The number of contracts negotiated during the trading day at the time of this quote.

- **openInterest** `array[number]`

  The total number of contracts that have not yet been settled at the time of this quote.

- **underlyingPrice** `array[number]`

  The last price of the underlying security at the time of this quote.

- **inTheMoney** `array[booleans]`

  Specifies whether the option contract was in the money true or false at the time of this quote.

- **intrinsicValue** `array[number]`

  The instrinisc value of the option.

- **extrnisicValue** `array[number]`

  The extrinsic value of the option.

- **updated** `array[number]`

  The date and time of this quote snapshot in Unix time.

- **iv** `array[number]`

  The [implied volatility](https://www.investopedia.com/terms/i/iv.asp) of the option.

- **delta** `array[number]`

  The [delta](https://www.investopedia.com/terms/d/delta.asp) of the option.

- **gamma** `array[number]`

  The [gamma](https://www.investopedia.com/terms/g/gamma.asp) of the option.

- **theta** `array[number]`

  The [theta](https://www.investopedia.com/terms/t/theta.asp) of the option.

- **vega** `array[number]`

  The [vega](https://www.investopedia.com/terms/v/vega.asp) of the option.

</TabItem>
<TabItem value="NoData" label="No Data">

Returned when the request is valid, but **no quote data exists** for the requested symbol or time period.  
This response corresponds to an **HTTP 404 Not Found** status.

- **s** `string`  
  Will be `no_data`.

- **errmsg** `string`  
  A descriptive message explaining why no data is available.  
  For example:  
  - `"No option found. No option was found for this strike and expiration."`  
  This occurs when even though the option symbol format is valid, no real, tradable contract exists for the specified strike and expiration.

A `no_data` response may occur when:
- The market is closed (weekends or holidays)
- The symbol or option contract had no trading quotes on the requested date
- The contract had not begun trading yet
- No option exists for the requested strike and expiration

Even when the option symbol format is valid, the absence of a real, tradable contract or any quote data results in a `404` / `no_data` response.

</TabItem>

<TabItem value="Error" label="Error">

Returned when the request itself is invalid or cannot be processed.

- **s** `string`  
  Will be `error`.

- **errmsg** `string`  
  A human-readable description of the error.

These cases correspond to **HTTP 400 Bad Request**, such as:
- Invalid or malformed option symbol format
- Parameters that cannot be parsed
- Unsupported or invalid values

Use the HTTP status code—not just the `s` field—to distinguish between invalid input (`400`) and valid requests that simply have no data (`404` via `no_data`).

</TabItem>


</Tabs>

## Usage Information

### Data Availability

The type of option quote data you receive depends on your user type and OPRA entitlement. This may include real-time data, 15-minute delayed data, or historical data, depending on the plan or access level. To get real-time options data, users need to sign the OPRA agreement. [Learn more about entitlements](/account/entitlements).

| User Type | OPRA Entitlement | Data Type |
|-----------|------------------|-----------|
| Non-Professional | ✅ | Real-time |
| Non-Professional | ❌ | 15-min delayed |
| Professional | Any | Historical (1 day old) |
| Unknown | Any | Historical (1 day old) |


### Pricing

The cost of using the option quote API endpoint depends on the type of data you choose and your usage pattern. Here's a breakdown of the pricing:

| Data Type     | Cost Basis                | Credits Required per Unit |
|--------------------|---------------------------|---------------------------|
| Real-Time Data     | Per option symbol         | 1 credit                  |
| 15m Delayed Data     | Per option symbol         | 1 credit                  |
| Historical Data    | Per 1000 quotes   | 1 credit                  |