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


List of all Web Enabled Devices and Associated Browsers

Published on Thursday, June 18, 2015

List of all Web Enabled Devices and Associated Browsers

Use the 51Degrees .NET API to return meta data about device combinations

Many 51Degrees customers are using the consistent and high quality meta data within 51Degrees to drive related reporting solutions and user interfaces. This blog post contains a short C# code snippet for returning related unique combinations of meta data values. It's intended to show how easy such queries are to produce in .NET with 51Degrees and provide example code for those wishing to access device meta data.


The following code uses a 51Degrees Premium or Enterprise data file to produce a CSV file containing unique combinations of Hardware Vendor, Hardware Model and Browser Name. Other properties available within the data file can also be used. See Property Dictionary for a full list.

Initially the 51Degrees data set is loaded and the properties for vendor, model and browser are retrieved to improve the performance of the subsequent Linq statement. A Linq Select and Distinct state are used with an anonymous class to provide a de-duplicated list from all the Signatures (User-Agents with the irrelevant characters removed - see How Pattern Detection Works) in the data set. The unique list is written to a CSV file.

Source Code Snippet

using (var dataSet = MemoryFactory.Create(deviceDataFile.FullName))
	using (var writer = File.CreateText(Path.Combine(
		DATA_PATH, "Combinations.txt")))
		// Get the properties for speedier look up.
		var vendor = dataSet.Properties["HardwareVendor"];
		var model = dataSet.Properties["HardwareModel"];
		var browser = dataSet.Properties["BrowserName"];

		// Get the grouping needed by vendor, model and name.
		var uniqueCombinations = dataSet.Signatures.Select(s => new
					Vendor = s[vendor].ToString(),
					Model = s[model].ToString(),
					Name = s[browser].ToString()

		// Write the aggregated data to the output file path.
		foreach (var i in uniqueCombinations)
			writer.WriteLine(String.Join(",", i.Vendor, i.Model, i.Name));

The full Visual Studio 2013 can be downloaded from this blog post.

Download Source Code


A few records from the resulting CSV output are shown below.

AudiovoxSMT5600Internet Explorer Mobile

The example could easily be modified to return different fields, sort the output, or made more efficient by adding indexes to the resulting data sets. The key objective is to show just how easily meta data can be returned from the 51Degrees APIs.

Premium Licence Key

The HardwareVendor and HardwareModel fields are available in the 51Degrees Premium and Enterprise data sets. To access these fields with this demonstration a licence key or an evaluation version of 51Degrees will be required. Compare device data sets to find out more.

Start Free Trial Compare Data Options

Comments (0)

Author: Products Team

Categories: Development

Tags: C# , .NET

Documents to download

James Rosewell

Products Team

Other posts by Products Team
Contact author



.NET 2013 2014 4G 51Degrees 5G A.C.Roma A7 ABI Acer Adtech Affiliate Marketing Afilias Alcatel Amazon AMP Analysis Analytics Android Android 5.0 Lollipop Android Kitkat Android Lollipop Android Media Stick Apache API Apple Apple TV Archos Asha Asian Market ASP.NET Asus Australia Big Data Black Friday Blackberry Blink Browser C C# Case Study CeBIT CES Chrome Cloud CMS combinations Comparison Competition CoolPad COTW Cron CSS3 Data Data Blog Data File Data Model Daydream Denver Design Desire Eye Desktop Detection Developers Device Device Data Device Detection Device Intelligence Device Popularity Device property Device Types Device Use DeviceAtlas Display dmexco DoCoMo Doogee DotNetNuke Download Drupal Email EReader E-Reader Ericsson Evaluation Event Examples EXPLAY Rio Facebook feature Firefox Firefox OS Fly Foundation Framework France Galaxy S3 Galaxy S5 Galaxy Tab A Galaxy Tab A 8.0 Galaxy Tab A 9.7 Germany git repositories Global Google Google Daydream GSMA HAProxy Hardware Hisense HTC HTC ONE MAX HTC OS HTML5 HTTP HTTP Headers Huawei HUAWEI. UPDATE HUDL Huwaei IBC Icemobile Prime 4.0 IE IFA IIS Image Optimiser Image Optimizer India Infographic Ingeniux Internet usage iOS iOS 7 iOS 8 ipad iPhone iPhone 6 IsEmailBrowser IsWebApp Italy Japan Java Javascript Jolla Kentico Keynote Kindle Kindle Fire Kindle Fire HD Leagoo Lenovo LG Location Log File Analysis LTE Lumia m.dot macOS Map Memory Meta Data Mi 4S Micromax Microsoft Miia Style Mobile Mobile Analysis Mobile Analytics Mobile Devices Mobile Marketing Mixer Module Motorola MVC4 MWC MWC 2017 MWC16 MyPhone Native Native Apps NET New Release News News Letter Nexus Nexus 6 Nexus 9 NFC NGINX Nokia Nokia 3310 Non-Mobile NVIDIA Omate On7 OnePlus 5 Opera Opera Mini Operating System Optimisation OS OSX 10.10 OTA Panasonic Patent PC Pebble Performance phablet phone PHP Poland Presentation Press Release Price Band PRIV programmatic PS4 Publishers Python QMobile QR Codes Redirection Research Reseller Responsive Images Responsive web design RESS Review reviews RIM Ringmark RTB RWD Safari Samsung Scala ScientiaMobile Screen Screen resolution Screen Size SEO Server Server-side optimisation Set Box Set Top Box Sharepoint Shark 1 SHIFT phones Sitecore Sitecore version 9 SLUSH Smart TV Smartphone Smartphones Smartwatches Snapdragon Sony Sony Xperia Spain Swedish Beers Symbian Tablet Tablets Tesco Testing Tips Top 5 TOTW Tutorial TV UDS UK Umbraco Update updates US User Agent UserAgent User-Agent Vendors Version 3 Video VoLTE VR Wearable Web Web Apps Web content management WebKit WebMatrix White Paper Widgets Widnows WiFi Wiko Wileyfox Windows Windows Phone WURFL Xbox XBox One Xiaomi Xperia Xperia z Yosemite Z10 ZenFon 2 ZOPO ZTE