Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/nordicsemi/bluetooth-numbers-database/llms.txt

Use this file to discover all available pages before exploring further.

The Bluetooth Numbers Database is an open, community-maintained repository of Bluetooth Specification-assigned numbers maintained by Nordic Semiconductor. Instead of scraping the Bluetooth SIG website or duplicating lookup tables across projects, you get a single, versioned, schema-validated source of truth — consumable as an npm package or raw JSON files directly from GitHub.

Introduction

Learn what the database contains, why it exists, and how it fits into your Bluetooth development workflow.

Quickstart

Install the npm package and start querying Company IDs, Service UUIDs, and more in minutes.

Database Reference

Browse the five data collections: Company IDs, Services, Characteristics, Descriptors, and GAP Appearances.

API Reference

Full documentation of the npm package exports and the raw JSON file endpoints.

What’s Inside

The database covers every major category of Bluetooth Assigned Numbers:

Company IDs

3,900+ Bluetooth SIG-assigned company identifiers used in manufacturer-specific advertising data.

Service UUIDs

16-bit and 128-bit GATT Service UUIDs from the SIG specification and proprietary sources.

Characteristic UUIDs

GATT Characteristic UUIDs covering hundreds of standardized data types.

Descriptor UUIDs

GATT Descriptor UUIDs that annotate and configure characteristic behavior.

GAP Appearances

Appearance categories and sub-categories for device classification in advertising payloads.

Contributing

Add your own 128-bit UUIDs and proprietary identifiers to the shared database.

Get Started in Seconds

1

Install the package

npm install bluetooth-numbers-database
2

Import the data you need

const { companies, services, characteristics } = require('bluetooth-numbers-database');
3

Look up a value

const company = companies.find(c => c.code === 89);
console.log(company.name); // "Nordic Semiconductor ASA"

const heartRate = services.find(s => s.uuid === '180D');
console.log(heartRate.name); // "Heart Rate"
The database is validated against JSON Schemas on every commit. You can rely on the structure being consistent across every entry.

Build docs developers (and LLMs) love