Basically, I want to use python to query my IB order history and do some analyze afterwards. But I could not find any existing API for me to query these data, does anyone have experience to do this?
TWS API doesn't have this functionality. You can't retreive order history, but you can get open orders using  recOpenOrders request and  capture executions in  realtime by listening to execDetails event - just write them to a file and analyse  aftewards.
Interactive brokers: How to retrieve transaction history records?