you can request tick by tick data, both historical and streaming (not options currently, though), subject to your data limits. https://interactivebrokers.github.i...Client.html#a3ab310450f1261accd706f69766b2263 which returns: https://interactivebrokers.github.i...rapper.html#a9e0cca7f0daa4fa2ef1074e5d1f254df https://interactivebrokers.github.i...rapper.html#ae689ed19e43c6bdbcb04b4cd29582496 and/or https://interactivebrokers.github.i...rapper.html#a41674990126f443507366a01662ebb6d
You would be helped by studying the API's help pages which are here: https://interactivebrokers.github.io/tws-api/index.html You will see that there are multiple ways to get market prices. There is reqHistoricalData() to get price bars, reqMktData() which gives a sort-of aggregated value, and reqTickByTickData() for tick data. The online help pages can clarify what would be suitable for your use-case.