With the rapid developing of Internet of Things (IoT) technologies, various kinds of IoT devices are connected over the Internet. Consequently, how to meet the requirements of executing IoT applications is becoming a critical issue. Offloading the IoT applications to the public cloud is an efficient approach to enhance the computing capabilities of these IoT devices. However, as there is a long distance from the IoT devices to the remote public cloud, transmission delay will be caused. Mobile edge computing (MEC) provides an effective solution to this issue since IoT devices are near to the servers of the MEC systems. Pricing and load balancing are two important factors for cloud service provision. Pricing is of paramount importance for cloud service provision, and load balancing is fully considered when cloud users select an edge cloud service provider (ESP) as it has a direct relation with the quality of cloud service. In multi-cloud systems, a cloud service broker (CSB) reserves cloud resources from multiple CSPs to provision cloud services to users. While existing work has put a lot of attention on IoT applications offloading to the MEC, many of them only considered one edge cloud scenario, ignoring the multi-MEC scenario. In this article, we investigate service pricing and selection for IoT applications offloading in a multi-MEC system with multiple ESPs. Specifically, we take load balancing into account. The studied problem is formulated as a Stackelberg game, where CSB first sets service price and load balancing strategies for the cloud services trying to get its maximized revenue. Then, IoT users make their decisions on which ESP they select service. By applying the backward induction approach, the optimal solutions are derived. The proposed scheme is verified through simulation results.