--- title: Listen to MQTT description: You can reach the listener using an instance of a Client.TopicSubscriber object that is returned from the Client.subscriber() function. image: /img/logo/iota_mark_light.png keywords: - how to - message - message queuing telemetry - queues - asynchronous events listener - list topics - nodejs - java - nodejs - python - wasm - rust --- import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import KeyConceptOutputs from '../_admonitions/_explanation_outputs.md'; import Javamqtt from "../libraries/java/examples/_10_mqtt.mdx"; import Nodejsmqtt from "../libraries/nodejs/examples/_10_mqtt.mdx"; import Pythonmqtt from "../libraries/python/examples/_10_mqtt.mdx"; import Rustmqtt from "../libraries/rust/examples/_10_mqtt.mdx"; // import Wasmmqtt from "../libraries/wasm/examples/_10_mqtt.mdx"; IOTA node(s) provide a [Message Queuing Telemetry Transport](https://en.wikipedia.org/wiki/MQTT) (MQTT) layer, if enabled, which is a lightweight publish-subscribe network protocol that provides information about events that are being triggered by the IOTA network. The `iota.rs` client library supports asynchronous event listeners that can be listened to, and continuously receive MQTT events based on a `topic`, which can be: * milestones/latest * milestones/confirmed * messages * messages/referenced * messages/indexation/{index} * messages/{messageId}/metadata * transactions/{transactionId}/included-message * outputs/{outputId} * addresses/{address}/outputs * addresses/ed25519/{address}/outputs