NATS uses cookies to ensure you get the best experience on our website. Continuing to use this site assumes compliance with our Privacy Policy.

Here you will find the NATS Server (for simple, fast publish-subscribe) , NATS Streaming Server (for data streaming and persistence), and officially supported clients. Our documentation provides detailed instructions on how to get started.

Also available are a wide variety of community contributed clients, connectors, and utilities. We are always happy to receive contributions to review - send us a PR, or contact us at to share what you have built with us!

Connectors and Utilities

Name Description Developer Support
Apache Flink Allows Apache Flink to send/receive a stream of string based messages to/from NATS. Matthew Ring Community
Apache Spark Provides an Apache Spark (a fast and general engine for large-scale data processing) integration with NATS. Laurent Magnin Community
AWS NATS This repository contains tools and templates to help using NATS in the Amazon Web Services platform. Danko Miocevic Community
Elastic Beats Track NATS metrics and logs with dedicated modules of Metribeat and Filebeat agents. Stamatis Katsaounis, Michael Katsoulis, Chris Markou Community
CoreOS Clustering NATS clustering made easy with CoreOS, etcd2 and Docker. Paulo Pires Community connector for NATS Deepstream message connector for NATS nxtedition Community
Dokku-NATS NATS plugin for Dokku, a PaaS Platform Jose Diaz-Gonzalez Community
Elasticsearch Allows you to take data from nats subjects/groups and pump these into Elasticsearch. Netlify Community
Fluent Bit The NATS output connector allows to flush your Fluent Bit records into a NATS Server endpoint Fluent Bit Community
Fluentd Event Collector NATS plugin for fluentd Event Collector Cloud Foundry Community Community
A Gatling to NATS Connector The NATS Gatling library provides a Gatling (an open-source load testing framework based on Scala, Akka and Netty) to NATS messaging system (a highly performant cloud native messaging system) Connector. Laurent Magnin Community
Hemera A Node.js microservices toolkit for NATS. Dustin Deus Community
Kubernetes NATS cluster on top of Kubernetes made easy. Paulo Pires Community
Logrus NATS hook for Logrus - helpers assume you are using a TLS connection. Ryan Neal Community
Logrus-NATS A Logrus hook for sending data to NATS. Erik Howard Community
NATS Connector Framework A pluggable Java based framework to bridge the NATS messaging system and other technologies. NATS Team Synadia
NATS Redis PubSub The NATS Redis publish subscribe connector is provided to facilitate the bridging of NATS and Redis Publish/Subscribe. NATS Team Synadia
NATS Elk Utility for forwarding NATS monitoring data to ELK Stack Vladimir Sundupey Community
NATS Kafka Bridge This project implements a multi-connector bridge between NATS or NATS streaming and Kafka topics. NATS Team Synadia
NATS-Mon A realtime web based NATS monitor Raül Pérez Community
NATS MQ Series Bridge This project implements a simple, but generic, bridge between NATS or NATS streaming and MQ Series queues and topics. NATS Team Synadia
NATS Kubernetes Operator This operator manages NATS clusters atop Kubernetes, automating their creation and administration. NATS Team Synadia
NATS Replicator This project implements a multi-connector bridge, copier, replicator between NATS and NATS streaming endpoints. NATS Team Synadia
NATS-RPC Generator RPC layer on top of NATS standardizing on Protocol Buffers. Department of Biomedical and Health Informatics Community
NATS Sniffer A simple sniffer for NATS, the cloud native messaging system. Paulo Pires Community
NATS Spring Support A Spring Cloud Stream Binder for NATS. NATS Team Synadia
NATS Stream Replicator This project replicates streams between NATS streaming clusters. Ideal for mirroring streams across data centers. R.I. Pienaar Community
NATS Streaming Server on Kubernetes This project contains a Docker image and a Helm chart to run NATS Streaming Server in the Kubernetes cluster. The NATS Streaming Server can run in fault tolerance mode. Canh Ngo Community
NATSBoard Dashboard for monitoring NATS. It provides real-time information from NATS server. Fatih Cetinkaya Community
nRPC is like gRPC, but over NATS nRPC is an RPC framework like gRPC, but for NATS. It can generate a Go or Python client and server from the same .proto file that you'd use to generate gRPC clients and servers. The server is generated as a NATS MsgHandler. nats-rpc team Community
Nvisible Inc Go ARI Proxy An implementation of the [go-ari-library] used to connect to the Asterisk REST Interface for delivery of Events and Commands across a message bus. Leif Madsen Community
OpenFaaS NATS Streaming Connector This is a queue-worker to enable asynchronous processing of function requests. Alex Ellis Community
NATS Prometheus Exporter The official NATS exporter for Prometheus, written in Go. It supports monitoring multiple NATS servers, is highly resilient to network outages, and can be embedded into go applications via an API. Metrics are exposed through a HTTP(S) interface for Prometheus to collect them. NATS Team Synadia
Prometheus NATS exporter for Prometheus, written in Go. It extracts several metrics and provides them via the standard HTTP interface for Prometheus to collect them. Lovoo Community
Rancher NATS This is an extended version of the official Docker image for nats. It adds support to set up a cluster easily onrancher. Community
Resgate A Realtime + REST API Gateway for NATS to create web APIs with live data. It supports access control, caching, scaling, queries, and more. Samuel Jirénius Community
REST to NATS Proxy This library provides a translation of HTTP requests to NATS. Client side is partly inspired by Gin to process requests Radomír Sohlich Community
RPC over NATS Provides an RPC and pub/sub framework with first-class support for NATS. Workiva Community Connector This connector enables multiple instances to broadcast and emit events to and from each other through NATS. Edgar Ribeiro Community
TCP/Websocket Gateway with NATS An embeddable TCP and Websocket gateway/bridge with NATS, written in golang. Bin Zhao Community
Telegraf The NATS consumer plugin reads from specified NATS subjects and adds messages to InfluxDB. The plugin expects messages in the Telegraf Input Data Formats. A Queue Group is used when subscribing to subjects so multiple instances of telegraf can read from a NATS cluster in parallel. Cameron Sparr Community
Websocket Gateway A websocket gateway for NATS, usable as a backend for elm-nats and websocket-nats. Community
websocket-nats An in-browser websocket client for NATS, a lightweight, high-performance cloud native messaging system. Josh Glendenning Community

Please contact us to add your external client to the download list.