Azure IoT Hub SDKs

There are two categories of software development kits (SDKs) for working with IoT Hub:

  • IoT Hub Service SDKs enable you to build backend applications to manage your IoT hub, and optionally send messages, schedule jobs, invoke direct methods, or send desired property updates to your IoT devices or modules.

  • IoT Hub Device SDKs enable you to build apps that run on your IoT devices using device client or module client. These apps send telemetry to your IoT hub, and optionally receive messages, job, method, or twin updates from your IoT hub. You can use these SDKs to build device apps that use Azure IoT Plug and Play conventions and models to advertise their capabilities to IoT Plug and Play-enabled applications. You can also use module client to author modules for Azure IoT Edge runtime.

In addition, we also provide a set of SDKs for working with the Device Provisioning Service.

  • Provisioning Device SDKs enable you to build apps that run on your IoT devices to communicate with the Device Provisioning Service.

  • Provisioning Service SDKs enable you to build backend applications to manage your enrollments in the Device Provisioning Service.

Learn about the benefits of developing using Azure IoT SDKs.

Azure IoT Hub Service SDKs

The Azure IoT service SDKs contain code to facilitate building applications that interact directly with IoT Hub to manage devices and security.

Platform Package Code Repository Samples Reference
.NET NuGet GitHub Samples Reference
Java Maven GitHub Samples Reference
Node npm GitHub Samples Reference
Python pip GitHub Samples Reference
Node.js npm GitHub Samples Reference

Azure IoT Hub service SDK for iOS:

Microsoft Azure Provisioning SDKs

The Microsoft Azure Provisioning SDKs enable you to provision devices to your IoT Hub using the Device Provisioning Service.

Platform Package Source code Reference
.NET Device SDK, Service SDK GitHub Reference
C apt-get, MBED, Arduino IDE or iOS GitHub Reference
Java Maven GitHub Reference
Node.js Device SDKService SDK  GitHub Reference
Python Device SDK, Service SDK GitHub Device Reference, Service Reference

Azure IoT Hub Device SDKs

The Microsoft Azure IoT device SDKs contain code that facilitates building applications that connect to and are managed by Azure IoT Hub services.

Learn more about the IoT Hub Device SDKS in the IoT Device Development Documentation.

SDK and hardware compatibility

For more information about choosing a device SDK, see Overview of Azure IoT Device SDKs.

For more information about SDK compatibility with specific hardware devices, see the Azure Certified for IoT device catalog or individual repository.


Some of the features mentioned in this article, like cloud-to-device messaging, device twins, and device management, are only available in the standard tier of IoT Hub. For more information about the basic and standard IoT Hub tiers, see How to choose the right IoT Hub tier.

Next steps

Relevant docs related to development using the Azure IoT SDKs:

Other reference topics in this IoT Hub developer guide include: