• About Us
  • Blog
  • Basket
  • Account
  • Sign In

Node.js API

What's Covered

This tutorial illustrates the basic use of the 51Degrees API. It will show you how to create a provider, how to create a dataset and how to obtain a value for the IsMobile property.

Code and Explanation

Getting started example of using 51Degrees device detection. The example shows how to:
  1. Set the configuration using a json object

    var config = {"dataFile" : "../data/51Degrees-LiteV3.2.dat",
                  "properties" : "IsMobile",
                  "cacheSize" : 10000,
                  "poolSize" : 4

  2. Instantiate the 51Degrees device detection provider with this connfiguration

    var provider = new fiftyonedegrees.provider(config);

  3. Produce a match for a single HTTP User-Agent header

    var match = provider.getMatch(userAgent);

  4. Extract the value of the IsMobile property


Full Source File
// Include 51Degrees.
var fiftyonedegrees = require("fiftyonedegreescore");

// Set the config.
var config = {"dataFile" : require("fiftyonedegreeslitepattern"),
              "properties" : "IsMobile",
              "cacheSize" : 10000,
              "poolSize" : 4,
              "stronglyTyped": false

// User-Agent string of an iPhone mobile device.
var mobileUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) 'Version/7.0 Mobile/11D167 Safari/9537.53";

// User-Agent string of Firefox Web browser version 41 on desktop.
var desktopUserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";

// User-Agent string of a MediaHub device.
var mediaHubUserAgent = "Mozilla/5.0 (Linux; Android 4.4.2; X7 Quad Core Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/ Safari/537.36";

console.log("Starting Getting Started Example.");

Initialises the device detection provider with settings from the config.
By default this will use the packaged Lite data file. For more info see:
<a href="https://51degrees.com/compare-data-options">compare data options
var provider = new fiftyonedegrees.provider(config);

// Carries out a match with a mobile User-Agent.
console.log("\nMobile User-Agent: " + mobileUserAgent);
var match = provider.getMatch(mobileUserAgent);
console.log("   IsMobile: " + match.IsMobile);

// Carries out a match with a desktop User-Agent.
console.log("\nDesktop User-Agent: " + desktopUserAgent);
var match = provider.getMatch(desktopUserAgent);
console.log("   IsMobile: " + match.IsMobile);

// Carries out a match with a MediaHub User-Agent.
console.log("\nMediaHub User-Agent: " + mediaHubUserAgent);
var match = provider.getMatch(mediaHubUserAgent);
console.log("   IsMobile: " + match.IsMobile);

Full Source File


In this tutorial you have seen how to use the detector to retrieve the IsMobile property for a pre-defined User-Agent string. The example can easily be modified to retrieve the value of any other property. Premium and Enterprise data files provide considerably more properties such as IsCrawler, PriceBand, HardwareVendor and ScreenInchesWidth. For a full list of properties and the data file versions they exist in please see the Property Dictionary.