Error 162 is a historical-data service message with several possible causes. The text can describe missing permission, pacing, or unavailable data. Preserve the whole message and check the request parameters.
Educational software guidance. Trading involves risk. Read the financial and information disclaimers.
Step by step
- 1 Save the full app message first. To check a recorded TWS API log, open Help → Troubleshooting → Diagnostics → API Logs. Select its date and choose View Logs. If the list is empty, enable API logging before the next event.
- 2 Copy the full 162 message, contract, date range, and bar size.
- 3 Check whether the reason mentions permission, request rate, or missing data.
- 4 For permission issues, check the exact exchange and user data access. For rate issues, slow the requesting app.
- 5 For missing data, compare a smaller available range and the contract’s expiry.
- 6 Repeat only the corrected request and record the result.
A practical example
You ask for a year of small chart bars and get 162. Do not stop at the number. One full message may say you sent requests too fast. Another may say that the date range has no data. Try to answer three plain questions: Which contract did I ask for? Which dates did I ask for? What does the rest of the message say? Keep those answers with the bar size and the time of the request. That gives support a small case to check. It also helps you avoid changing a feed subscription when the real issue is an old expiry or a burst of requests.
Screen reference




Mistake to avoid
Common questions
Can expired options have missing history?
Historical availability has product-specific limits. Check the requested contract and period.
Does 162 mean live quotes are down?
Not necessarily. It refers to the historical request.