Interoperability has been one of the key challenges in the IoT domain. Modern IoT solutions are typically vertical, contradicting the multidimensional nature of our everyday lives. In order to address today’s cross-sectorial needs, IoT platforms need to be able to interact and collaborate with each other, leading to cross-platform applications and services. The symbIoTe project proposes a flexible and secure middleware to materialize interoperability, providing technological offerings that include: 1) an IoT Portal for IoT resources (sensors, actuators) with registration and search capabilities using semantic web technologies, 2) an abstraction layer for unified and secure access to those resources across distributed IoT platforms and smart spaces, 3) high-level, domain-specific APIs for rapid cross-platform application development, 4) formation of IoT platform federations, to facilitate secure collaboration and exchange of resources in a decentralized manner, 5) dynamic and self-configurable smart spaces through the seamless blending of mobile devices with surrounding environments, and 6) a secure interworking protocol between the IoT platforms, gateways and smart devices. The gains from the use of the middleware are numerous: i) IoT platform operators can choose to open IoT resources to 3rd party systems and create new revenue streams, ii) IoT application developers can easily access IoT resources from multiple platforms and create innovative cross-domain applications, iii) IoT solutions providers can easily form partnerships to enrich their offerings, expand their customer base and create new services, iv) end users have a unified way to interact with smart environments, avoiding the complexity of switching devices and applications. The project has demonstrated the use of the middleware through a number of trials, involving many IoT platforms. The project has also validated the business aspects for the adoption of the middleware, tailored to each use case considered.