Webinar
EMQX Fleets: Managing Millions of Devices as One Fleet | Register Now →
Now in Private Beta on EMQX Cloud

Run Millions of Devices
As One Fleet

Register, organize, command. EMQX Fleets gives you the entire device management stack as one managed service on EMQX Cloud. Skip the AWS IoT Core stitching, ship in days.

Read the Docs

Millions

Devices per Fleet

<100 ms

Twin Update Latency

99.95%

Service SLA

MQTT 5.0

Native Wire Protocol

One

Unified EMQX Cloud Console

The Challenge

Device Management Shouldn't Be This Hard

Teams either stitch together brokers, databases, and bespoke APIs, or get locked into a hyperscaler's IoT stack. Both paths leak time, money, and operational risk.

Fragmented Stack

Brokers, shadows, registries, and time-series stores all live in different services with different bills and SLAs.

Hyperscaler Lock-In

Platforms like AWS IoT Core and Azure IoT Hub trap your devices in proprietary topics and pricing models.

Slow Time-to-Production

Rolling your own registry, shadow, and command pipeline burns 6–12 months before a single device ships.

Opaque Fleet State

Without unified registry and query layers, operators can't answer "which devices are offline in building A?"

The Solution

Meet EMQX Fleets

Fleets sits on top of EMQX Broker and EMQX Tables to give you registry, shadow, query, jobs, and diagnostics, delivered as a single managed service on EMQX Cloud.

Stitch It Together

Multiple vendors, multiple bills, lots of glue code.

Devices

Self-host Broker

Custom Registry

Twin DB

Jobs Runner

Time-Series Silo

3+ Vendors
Custom APIs
High Maintenance
Core Capabilities

Everything You Need to Manage a Connected Fleet

Five managed primitives, one console, one API.

Unified Device Registry

Define device blueprints with Thing Types, register Things, and roll them up into Thing Groups, from one console or REST API.

Real-Time Device Shadow

A digital twin per device captures reported state, accepts desired state, and converges bi-directionally over MQTT, with built-in versioning.

Powerful Device Query

Search and segment your entire fleet by type, group, tag, status, or property value. Instant results across millions of devices.

Jobs & Command Control

Push configuration or trigger commands across thousands of devices, with delivery tracking, timeouts, retries, and per-execution status.

Product Tour

See Fleets in Action

A walk-through of the console. Built for operators, designed for engineers.

1

Deployment Overview

A Single Pane of Glass for Every Fleet.Thing types, registered things, online counts, deployment health, and region, refreshed in real time.

  • Live counts and per-region health
  • Deployment status, broker, and Tables linkage
  • One-click drill-down to Things, Shadows, and Jobs

Deployment: Fleet-Prod-NA

Thing Types

12

Things

248,103

Online

241,872

Deployment Info
PropertyValue
StatusRunning
Cloud PlatformAWS / Azure / Google Cloud
Regionus-east-1
2

Thing Types & Things

Model Devices Once. Register Thousands.Define a Thing Type with versioned JSON; every Thing inherits its properties, events, and commands and reports state automatically.

  • JSON Thing Types with semantic versioning
  • Auto-bind to schema on register
  • Tag, group, and decommission via REST API

Things

Thing Typehome-climate-hub@1.0.0
Schema Bound
ThingTypeStatus
Main Floor Climate Hubhome-climate-hub@1.0.0Online
Loading Dock Sensor 04door-sensor@2.1.0Online
Robot Arm · Bay 12robot-arm-r6@1.4.0Online
3

Shadow Sync

Reported, Desired, Delta. Converging in Real Time.The shadow gives operators a view of what every device reports and what the cloud wants, side by side, with version vectors and auto-acknowledgement.

  • Monotonic version numbers
  • Delta published via EMQX rules
  • Time-series shadow history out of the box

Device Twin: dev-001

Reported

{
"mode": "standard",
"version": 42
}

Desired

{
"mode": "eco",
"version": 43
}
4

Device Query

SQL-Like Queries Across Millions of Devices.Filter by tag, group, status, type, or property value, and stream results into dashboards, alerts, or downstream pipelines.

  • AND/OR/NOT semantics with range operators
  • Indexed by tag, group, and shadow property
  • Save and share filters with your team

Device Query

1status:offline AND group:"Building-A"
2 AND tag:battery-watch
Group: Building-A ×+ Add Filter
Query Results · 2
NameMQTT Client IDStatusTags
lock-frontdoormqtt-lock-frontdoorOfflinebuilding-a · battery-watch
thermostat-labmqtt-thermostat-labOfflinebuilding-a · floor-3
5

Commands & Jobs

Fleet-Wide Jobs and One-Shot Commands.Schedule jobs over thousands of devices or fire request-response commands, with retries, timeouts, and complete per-execution audit.

  • AWS IoT Jobs-style execution semantics
  • Per-thing status and reason codes
  • Resumable rollouts and canary phases

Job: firmware-rollout-3.2.1

Rollout Progress8%

Succeeded

3,084

In Progress

812

Failed

19

12:04:18 SUCCEEDED dev-3814 firmware 3.2.1 applied
12:04:19 RUNNING dev-3815 Downloading (62%)
12:04:19 SUCCEEDED dev-3816 firmware 3.2.1 applied
12:04:20 RETRY dev-3817 Timeout, Attempt 2/3
12:04:21 SUCCEEDED dev-3818 firmware 3.2.1 applied
12:04:21 RUNNING dev-3819 installing…
Features

A Complete Device Management Toolkit

Every primitive you'd build yourself, designed, scaled, and supported by EMQ.

Thing Types & Versioning

Reusable, versioned capability templates let device behavior evolve safely over time.

Things & Lifecycle

Register, tag, group, and decommission devices via REST API or console; connection state tracked by EMQX.

Groups & Namespaces

Organize by location, project, or tenant; hierarchical namespaces give a tree view with rolled-up counts.

Desired State & Commands

Push configuration or trigger commands over MQTT with delivery tracking, timeouts, and retries.

Events, Alarms & Audit

Devices publish severity-tagged events; operators acknowledge and resolve from one console.

Time-Series History

Query historical readings with avg/min/max/last aggregations and time bucketing, no separate pipeline.

Built for Both Sides

For Builders and for Owners

Fleets ships with the API primitives engineers expect and the operating model business owners need.

Engineering

For Builders

  • Pure MQTT 5.0, no proprietary device SDKs
  • REST API + OpenAPI 3.1 spec from day one
  • AWS IoT-compatible topic conventions ($emqx/things/...)
  • Device shadow with version vectors and delta semantics
  • Built on the EMQX broker engine, battle-tested at scale
Business

For Owners

  • One managed service · one console · one bill
  • 99.95% service SLA, region-pinned deployments
  • Ship to production in weeks, not quarters
  • No hyperscaler IoT lock-in; portable MQTT clients
  • Predictable per-fleet pricing on EMQX Cloud
Use Cases

Powering Connected Fleets Across Industries

Connected Vehicles

Per-VIN twins, OTA-ready desired state, and group-level rollouts for millions of vehicles, OBUs, and dashcams.

Industrial IoT

Model PLCs, sensors, and machines as Thing Types; group by factory and line for predictive maintenance.

Smart Home

Always-on shadows for thermostats, hubs, and sensors; sync setpoints from apps and roll out firmware fleet-wide.

Agentic IoT (with EMQX Agents)

Expose Fleets as the control plane for AI agents, let LLM-driven workflows query state, send commands, and react to events safely.

Quick Start

From Device to Production in Three Steps

1

Define

Describe a device type with a versioned JSON Thing Type with properties, events, commands, and security.

Define
// home-climate-hub@1.0.0
{
"thingType": "home-climate-hub",
"version": "1.0.0",
"properties": {
"temp": "float",
"mode": "enum"
},
"events": ["over_temperature"],
"commands": ["set_mode"]
}
2

Register

Provision Things via REST API or console; devices connect with MQTT 5.0 and auto-bind to their type.

Register
# Provision a thing
$ curl -X POST https://api.emqx.cloud/v1/things \
-H "Authorization: Bearer …" \
-d { "name":"main-hub-001",
"thingType":"home-climate-hub@1.0.0",
"tags":{ "building":"A" } }
3

Operate

Query the fleet, sync shadows, dispatch jobs, and stream history, all from the EMQX Cloud console.

Operate
# Query offline things in Building-A
GET /v1/things?q=status:offline AND group:Building-A

# Update desired state
PATCH /v1/things/main-hub-001/shadow/desired
{ "mode": "eco" }
Platform

Part of the EMQX Cloud Platform

Fleets is one of four managed services on EMQX Cloud. Together they form a complete IoT backend.

EMQX Brokers

Managed MQTT 5.0 messaging at any scale.

EMQX Tables

Time-series database integrated with the broker.

EMQX Fleets

Device management for connected fleets.

EMQX Agents

AI control plane for agentic IoT.

Why EMQX

The Proven Engine Behind 250M+ Connected Devices

Open standards, no lock-in, global edge presence, and enterprise-grade security.

Open Standards

Pure MQTT 5.0 and REST APIs. No proprietary device SDKs required.

No Lock-in

Migrate workloads in or out. Your topics, your data.

Global Edge

Multi-cloud, multi-region deployments on AWS, GCP, and Azure.

Enterprise Security

SOC 2 Type II, mTLS, RBAC, and Defender anomaly detection.

FAQs

Everything you need to know about EMQX Fleets.

Join the EMQX Fleets Private Beta

New fleets onboard weekly with hands-on support from the engineering team. Tell us about your use case and we'll be in touch within five business days.

Read the Docs
Full access to Fleets, Brokers, and Tables during the Private Beta.
Direct line to the engineers building the product.
Migration templates from AWS IoT Core and Azure IoT Hub.