Skip Navigation
Show nav
Heroku Dev Center Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
Heroku Dev Center Dev Center
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log in or Sign up
View categories

Categories

  • Heroku Architecture
    • Compute (Dynos)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
    • Buildpacks
  • Developer Tools
    • AI Tools
    • Command Line
    • Heroku VS Code Extension
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery & Integration (Heroku Flow)
    • Continuous Integration
  • Language Support
    • Node.js
      • Working with Node.js
      • Troubleshooting Node.js Apps
      • Node.js Behavior in Heroku
    • Ruby
      • Rails Support
        • Working with Rails
      • Working with Bundler
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Background Jobs in Python
      • Python Behavior in Heroku
      • Working with Django
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Working with Maven
      • Working with Spring Boot
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
      • Heroku Postgres Advanced (Limited GA)
      • Migrating to Heroku Postgres
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • Other Data Stores
  • AI
    • Inference Essentials
    • Inference API
    • Inference Quick Start Guides
    • AI Models
    • Tool Use
    • AI Integrations
    • Vector Database
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
      • Single Sign-on (SSO)
    • Private Spaces
      • Infrastructure Networking
    • Compliance
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Teams
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
    • Heroku AppLink
      • Heroku AppLink Reference
      • Getting Started with Heroku AppLink
      • Working with Heroku AppLink
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Other Salesforce Integrations
  • Databases & Data Management
  • Apache Kafka on Heroku
  • Provisioning Apache Kafka on Heroku

Provisioning Apache Kafka on Heroku

Table of Contents [expand]

  • Provisioning the Add-On
  • Sharing Kafka Between Apps
  • Viewing Cluster Information
  • Removing the Add-on

Last updated June 30, 2026

Provisioning the Add-On

Heroku manages Apache Kafka on Heroku as other add-ons on the platform. You can provision a Kafka cluster for a Heroku app via the CLI:

$ heroku addons:create heroku-kafka:standard-0 -a example-app
Creating heroku-kafka:standard-0 on ⬢ example-app... ~$2.083/hour (max $1500/month)
The cluster should be available in 5-15 minutes.
Run `heroku kafka:wait` to wait until the cluster is ready.
You can read more about managing Kafka at https://devcenter.heroku.com/articles/kafka-on-heroku#managing-kafka
kafka-animated-39618 is being created in the background. The app will restart when complete...
Run heroku addons:info kafka-animated-39618 to check creation progress.
Run heroku addons:docs heroku-kafka to view documentation.

New clusters can take some time to become available. You can track the progress by typing heroku kafka:wait.

 

We don’t recommend using Zookeeper beyond its role in supporting Kafka, as other uses can degrade the operational stability of your services. In Private Spaces not on the Common Runtime, enable access to the Zookeeper that’s associated with Kafka at add-on creation time. Enable Zookeeper access with the --enable-zookeeper option of the add-on creation command: heroku addons:create heroku-kafka -- --enable-zookeeper. You can also enable or disable Zookeeper access after creation with the heroku kafka:zookeeper enable and heroku kafka:zookeeper disable commands.

You can’t access Zookeeper in Shield Spaces.

After you provision a Kafka add-on, the cluster’s connection string config vars are available as new config vars in your app. See Connecting to a Kafka cluster for how to connect to your cluster.

Kafka is available in the Common Runtime, Private Spaces, and Shield Spaces. Provisioning Kafka for an app in a Private or Shield Space creates a Kafka cluster in an isolated data resource network attached to that Space.

Sharing Kafka Between Apps

Kafka works well when shared across many different code bases and projects within the same group. Structure your Kafka usage as a set of independent producers and consumers, set up as either multiple apps, or as process types of one or more apps.

$ heroku addons:attach my-originating-app::KAFKA -a other-app
Attaching ⛁ kafka-animated-39618 as KAFKA to ⬢ other-app... done
Setting KAFKA config vars and restarting ⬢ other-app... done, v1185

Viewing Cluster Information

Use the heroku kafka:info command to view the current state of your cluster. This command provides information on the resource’s name, creation date, plan, version, and activity metadata.

$ heroku kafka:info -a example-app
=== KAFKA_URL

Plan:       heroku-kafka:standard-0
Status:     available
Version:    3.7.1
Created:    2026-06-01 16:28:54 +0000
Topics:     84 topics, see heroku kafka:topics
Partitions: [··········] 417 / 12000 partition replicas (partitions × replication factor)
Messages:   5 message/s
Traffic:    32 byte/s in / 166 byte/s out
Data Size:  [··········] 68.38 MB / 150.00 GB (0.04%)
Add-on:     kafka-animated-39618

Removing the Add-on

Use the heroku addons:destroy command to delete your Apache Kafka on Heroku add-on, specifying the add-on name to delete:

This action destroys all associated data and you can’t undo it.

$ heroku addons:destroy kafka-animated-39618 -a example-app
 ›   Warning: Destructive Action
 ›   This command will affect the app ⬢ example-app

✔ To proceed, type example-app or re-run this command with --confirm example-app example-app
Destroying kafka-animated-39618 on ⬢ example-app... done

Feedback

Log in to submit feedback.

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2026 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices