Smart City Internet of Things will become a fundamental infrastructure to support massive machine-type communications between the widely deployed sensors serving big cities. Since there exists many location constraints for the existing terrestrial Internet of Things, the non-terrestrial Internet of Things sheds light on breaking these limits. Therefore, this article conducts a comprehensive survey on non-terrestrial Internet of Things technologies for Smart City, which is an important complement to terrestrial Internet of Things. We first present the application scenarios of Internet of Things and point out where the existing terrestrial Internet of Things cannot work perfectly. Two non-terrestrial Internet of Things technical proposals are then introduced, namely satellite Internet of Things and unmanned aerial vehicle Internet of Things. However, the focuses of these non-terrestrial Internet of Things are distinct, that is, the major problems of satellite and unmanned aerial vehicle Internet of Things are the high dynamic nature of channel and high maneuverability of unmanned aerial vehicles, respectively. The key technologies for satellite and unmanned aerial vehicle Internet of Things are then reviewed separately. Both physical and non-physical layer technologies are surveyed for satellite Internet of Things, and the route planning is mainly investigated for the unmanned aerial vehicle Internet of Things. Finally, we draw a conclusion and give some potential research directions of non-terrestrial Internet of Things.