---
title: Strikes
sidebar_position: 2
---

Get a list of current or historical options strikes for an underlying symbol. If no optional parameters are used, the endpoint returns the strikes for every expiration in the chain.

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

## Endpoint
```
https://api.marketdata.app/options/strikes/{underlyingSymbol}/
```
#### Method
```
GET
```
## Request Example

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

**GET** [https://api.marketdata.app/v1/options/strikes/AAPL/?date=2023-01-03&expiration=2023-01-20](https://api.marketdata.app/v1/options/strikes/AAPL/?date=2023-01-03&expiration=2023-01-20)

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

```js title="app.js"
fetch(
  "https://api.marketdata.app/v1/options/strikes/AAPL/?date=2023-01-03&expiration=2023-01-20"
)
  .then((res) => {
    console.log(res);
  })
  .catch((err) => {
    console.log(err);
  });
```

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

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

client = MarketDataClient()
strikes = client.options.strikes("AAPL", date="2023-01-03", expiration="2023-01-20")
print(strikes)
```

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

```go title="optionStrikes.go"

import (
  "fmt"

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

func ExampleOptionsStrikesRequest() {
	expirations, err := OptionsStrikes().UnderlyingSymbol("AAPL").Date("2023-01-03").Expiration("2023-01-20").Get()
	if err != nil {
		fmt.Print(err)
		return
	}

	for _, expiration := range expirations {
		fmt.Println(expiration)
	}
}

```
</TabItem>
</Tabs>

## Response Example

```json
{
  "s": "ok",
  "updated": 1663704000,
  "2023-01-20": [
    30.0, 35.0, 40.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0,
    95.0, 100.0, 105.0, 110.0, 115.0, 120.0, 125.0, 130.0, 135.0, 140.0, 145.0,
    150.0, 155.0, 160.0, 165.0, 170.0, 175.0, 180.0, 185.0, 190.0, 195.0, 200.0,
    205.0, 210.0, 215.0, 220.0, 225.0, 230.0, 235.0, 240.0, 245.0, 250.0, 260.0,
    270.0, 280.0, 290.0, 300.0
  ]
}
```

## Request Parameters

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

- **underlyingSymbol** `string`

  The underlying ticker symbol for the options chain you wish to lookup.

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

- **expiration** `date`

  Limit the lookup of strikes to options that expire on a specific expiration date. Accepted date inputs: `ISO 8601`, `unix`, `spreadsheet`.

- **date** `date`

  - Use to lookup a historical list of strikes from a specific previous trading day.
  - If date is omitted the expiration dates will be from the current trading day during market hours or from the last trading day when the market is closed.
  - 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 strike
  data for the underlying/expirations requested.

- **dates** `array[number]`

  The expiration dates requested for the underlying with the option strikes for each expiration.

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

  The date and time of this list of options strikes was updated in Unix time. For historical strikes, this number should match the `date` parameter.

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

- **s** `string`

  Status will be `no_data` if no data is found for the request.

- **nextTime** `number` optional

  Unix time of the next quote if there is no data in the requested period, but there is data in a subsequent period.

- **prevTime** `number` optional

  Unix time of the previous quote if there is no data in the requested period, but there is data in a previous period.

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

- **s** `string`

  Status will be `error` if the request produces an error response.

- **errmsg** `string`
  An error message.

</TabItem>
</Tabs>

## Usage Information

### Data Availability

This endpoint provides options strikes data. This endpoint does not require any exchange entitlements and is available to all users.

| User Type | Exchange Entitlement | Data Type |
|-----------|---------------------|------------|
| All Users | Not Required | Options Data |

### Pricing

The cost of using the strikes API endpoint is 1 credit per API call.

| Data Type     | Cost Basis                | Credits Required per Unit |
|--------------------|---------------------------|---------------------------|
| Strikes Data    | Per API call         | 1 credit                  |
