Skip to content

Bulk EOD

ValueStandardPro

REQUIRED

The Theta Terminal must be running to access data.

Behavior

Returns the data for all contracts that share the same provided root and expiration.
Since OPRA does not provide a national EOD
report for options, Thetadata generates a national EOD report at 17:15 ET each day.
ms_of_day represents the time of day the report was generated and
ms_of_day2 represents the time of the last trade. The quote in the response
represents the last NBBO reported by OPRA at the time of report generation.
You can read more about EOD & OHLC data here.
Set exp to 0 if you want
to retrieve data for every option that shares the same root. (note: Any exp=0 must be requested day by day)

Sample URL & Code

Paste the URL below into your browser while the Theta Terminal is running.
You can use the "request sample" box to the right of this box obtain sample
code in any programming language.

http://127.0.0.1:25510/v2/bulk_hist/option/eod?root=AAPL&exp=20231103&start_date=20231102&end_date=20231102

The quote fields (bid / ask info) may not be available prior to 2023-12-01. We will expose further history for the EOD quote in the near future.

Parameters

Query Parameters

expRequired  -

The expiration date of the option contract formatted as YYYYMMDD.

Type: integer (Default: 20231103)
start_dateRequired  -

The start date (inclusive) of the request formatted as YYYYMMDD.

Type: integer (Default: 20230915)
end_dateRequired  -

The end date (inclusive) of the request formatted as YYYYMMDD.

Type: integer (Default: 20230915)
use_csvRequired  -

Uses CSV if true, legacy JSON if false.

Type: boolean (Default: false)
rootRequired  -

The symbol of the security. Option underlyings for indices might have special tickers.

Type: string (Default: SPX)
annual_div  -

The annualized expected dividend amount to be used in Greeks calculations.

Type: number
rate  -

The interest rate type to be used in a Greeks calculation. Omitting this parameter will default to SOFR or 0 if no rate exists for the date in question.

Type: string
EnumSOFR, TREASURY_M1, TREASURY_M3, TREASURY_M6, TREASURY_Y1, TREASURY_Y2, TREASURY_Y3, TREASURY_Y5, TREASURY_Y7, TREASURY_Y10, TREASURY_Y20, TREASURY_Y30
rate_value  -

The annualized interest rate value to be used in a Greeks calculation. A 3.42% interest rate would be represented as .0342. This will override the rate parameter if it is specified.

Type: number

Responses

OK
JSON
{
"header": {
"id": 0,
"latency_ms": 0,
"error_type": "string",
"error_msg": "string",
"next_page": null,
"format": [
"ms_of_day",
"ms_of_day2",
"open",
"high",
"low",
"close",
"volume",
"count",
"bid_size",
"bid_exchange",
"bid",
"bid_condition",
"ask_size",
"ask_exchange",
"ask",
"ask_condition",
"date"
]
},
"response": [
{
"ticks": [
[
62573163,
55073367,
126.35,
127.6,
126.2,
127.6,
14,
10,
6,
47,
126.6,
50,
1,
7,
129.65,
50,
20231102
],
[
63174002,
55073367,
126.35,
127.6,
126.2,
127.6,
14,
10,
6,
47,
126.6,
50,
1,
7,
129.65,
50,
20231102
]
],
"contract": {
"root": "AAPL",
"expiration": 20240119,
"strike": 50000,
"right": "C"
}
},
{
"ticks": [
[
62573163,
0,
0,
0,
0,
0,
0,
0,
0,
22,
0,
50,
1,
7,
0.01,
50,
20231102
],
[
63174002,
0,
0,
0,
0,
0,
0,
0,
0,
22,
0,
50,
1,
7,
0.01,
50,
20231102
]
],
"contract": {
"root": "AAPL",
"expiration": 20240119,
"strike": 50000,
"right": "P"
}
}
]
}

Sample Code

py