Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getAvailability() method of Bluetooth interface of Web Bluetooth API interface exposes the Bluetooth capabilities of the current device. For a returns a Boolean which is true if the device has a Bluetooth adapter and false otherwise (unless user configured User Agent not to expose a real value).

Note: User might not allow use of Web Bluetooth API, even if getAvailability() returned true (navigator.bluetooth.requestDevice() might not resolve with a BluetoothDevice). Also, user can configure User Agent to return a fixed value instead of a real one.


var readerPromise = Bluetooth.getAvailability();



Return value

A Promise that resolves with Boolean.


This method doesn't throw any exceptions.


The following snippet prints out a message in the console specifying whether or not Bluetooth is supported:

navigator.bluetooth.getAvailability().then(available => {
  if (available)
      console.log("This device supports Bluetooth!");
      console.log("Doh! Bluetooth is not supported");


Web Bluetooth
# dom-bluetooth-getavailability

Browser compatibility

BCD tables only load in the browser