Very difficult to find without spending an arm and a leg. Options volume exploded over the years, but OPRA doesn't care to grow charging institutional rates to everyone that wants to build options ecosystems. If it's for non-commercial use, you might be able to tap into a broker API like TD to get historical data.
If you have an account with them, it's easy to test at https://developer.tdameritrade.com/price-history/apis/get/marketdata/{symbol}/pricehistory
Yes, this indeed could be! Symbol means ticker with stocks and options symbol with options. I knew that API call, but was (wrongly) thinking it's for historical stock data only, also was rather looking for an API function of its own for historical whole chain data Ok, historical options data for a single strike is ok too, ie. better than having nothing. Thx! BUT: I just tried this out, though the API call returns a success code (200), it somehow does not return the requested data, rather returns only the following for the past 2 days minute data: Code: { "candles": [], "symbol": "AMD_051923P100", "empty": true } Will experiment further... If you or anybody else has the working API params let me know. Tried also with daily data, ie. EOD, but still not getting any data Historical stock data works fine, but not historical options data. Is it not possible for options? Or am I maybe doing something wrong? Or is there maybe a bug in this API func?
I unfortunately couldn't get it working I think there must be a bug in this API function. I just opened a ticket asking the TD options support why the said API function does not work for requesting historic options data.
Got bad news from TD support: This is very bad! B/c without such historic options data one cannot backtest options strategies, nor verify historic options data (old trades etc.)...
Ahh that's too bad. You can check tradier or alpaca. They offer API trading and they must offer historical data for traders to execute algo trades.