node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »


Microsoft Azure IoT service SDK for Node.js

The Azure IoT Service SDK for Node.js helps you build applications that interact with your devices and manage their identities in your IoT hub.

npm version


You need to install the Node.js JavaScript runtime environment to run the Azure IoT JavaScript client SDK on your platform. To check if Node.js supports your platform (OS), verify that an install package is available on the Node.js download page.

npm is a command-line package manager that is installed with Node.js is installed, and will be used to install Azure IoT node.js client side SDK.


npm install -g azure-iothub@latest to get the latest (pre-release) version.

npm install -g azure-iothub to get the latest (release) version.


  • Create/remove/update/list device identities in your IoT hub
  • Send messages to your devices and get feedback when they're delivered
  • Work with the Azurte IoT Hub Device Twins
  • Invoke Cloud to Device Direct Methods on a device

How to use the Azure IoT service SDK for Node.js

Once you have installed the package as indicated above, you can start using the features of the Service SDK in your code. Below is a code snippet showing how to add a new device in the Azuyre IoT Hub device registry:

Note that for this sample to work, you will need to setup your IoT hub and retreive credentials for the service app. In the code, replace '[IoT Connection String]' with an access policy's credentials for your IoT Hub.

var iothub = require('azure-iothub');
var connectionString = '[IoT Connection String]';
var registry = iothub.Registry.fromConnectionString(connectionString);
// Create a new device
var device = {
deviceId: 'sample-device-' +
registry.create(device, function(err, deviceInfo, res) {
    if (err) console.log(op + ' error: ' + err.toString());
    if (res) console.log(op + ' status: ' + res.statusCode + ' ' + res.statusMessage);
    if (deviceInfo) console.log(op + ' device info: ' + JSON.stringify(deviceInfo));

Check out the samples for details on the various features of the Service SDK

Read more

Directory structure

Service SDK subfolders:


Development requirements documentation


Code for the library


Set of simple samples showing how to use the features of the Service SDK


Test files