Skip to content

Bulk Trade At Time

StandardPro

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.
Returns the last trade reported by OPRA at
a specified millisecond of the day. Trade condition
mappings can be found here. Extended trade conditions are
not reported by OPRA for options, so they can be ignored.
The ivlparameter represents the milliseconds since
00:00:00.000 ET that the trade should be provided for.

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_at_time/option/trade?root=SPY&exp=20240119&start_date=20240116&end_date=20240116&ivl=44100000

Parameters

Query Parameters

rootRequired  -

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

Type: string
expRequired  -

The expiration date of the option contract formatted as YYYYMMDD.

Type: integer
start_dateRequired  -

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

Type: integer
end_dateRequired  -

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

Type: integer
strike  -

The strike price in 1/10th of a cent. A $170.00 strike price would be 170000.

Type: integer
right  -

The right of the option. 'C' for call; 'P' for put.

Type: string (Default: C)
EnumC, P
ivl  -

The number of milliseconds since 00:00:00.000 ET. Example: 09:30:00 ET = 34200000 & 16:00:00 ET = 57600000.

Type: integer (Default: 0)
rth  -

If this value is set to false and the request is for aggregated / intervalized data, the response will contain intervals from 00:00:000 ET to 23:59:999 ET. If the ivl is 0 or is unspecified, then rth will be forced to false. This means that all data for the day, even if it was outside regular trading hours would be returned. The default behavior is to only return data during regular trading hours (09:30:00.000 ET to 16:00.000 ET).

Type: boolean (Default: true)
use_csv  -

Output is in comma-separated values if true, legacy JSON if false.

Type: boolean (Default: false)
pretty_time  -

If this value is set to true, ms_of_day and date will take the format of 09:30:00.000 and 2020-01-01; if set to false, ms_of_day will return the timestamp in milliseconds since midnight EST.

Type: boolean (Default: false)

Responses

OK

Sample Code

py