{"id":13464753,"url":"https://github.com/tulios/kafkajs","last_synced_at":"2025-05-11T05:46:00.190Z","repository":{"id":37396743,"uuid":"98979720","full_name":"tulios/kafkajs","owner":"tulios","description":"A modern Apache Kafka client for node.js","archived":false,"fork":false,"pushed_at":"2024-08-02T21:32:46.000Z","size":11894,"stargazers_count":3868,"open_issues_count":383,"forks_count":558,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-05-11T05:45:49.653Z","etag":null,"topics":["kafka","kafka-client","nodejs","npm-package"],"latest_commit_sha":null,"homepage":"https://kafka.js.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tulios.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["Nevon","tulios"]}},"created_at":"2017-08-01T08:44:12.000Z","updated_at":"2025-05-10T17:33:14.000Z","dependencies_parsed_at":"2024-02-10T00:16:59.976Z","dependency_job_id":"1d312190-d07c-43ea-8ed9-ae5b79bde22b","html_url":"https://github.com/tulios/kafkajs","commit_stats":{"total_commits":2120,"total_committers":144,"mean_commits":"14.722222222222221","dds":0.6584905660377358,"last_synced_commit":"55b0b416308b9e597a5a6b97b0a6fd6b846255dc"},"previous_names":[],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulios%2Fkafkajs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulios%2Fkafkajs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulios%2Fkafkajs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulios%2Fkafkajs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tulios","download_url":"https://codeload.github.com/tulios/kafkajs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253523720,"owners_count":21921818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kafka","kafka-client","nodejs","npm-package"],"created_at":"2024-07-31T14:00:49.753Z","updated_at":"2025-05-11T05:46:00.173Z","avatar_url":"https://github.com/tulios.png","language":"JavaScript","funding_links":["https://github.com/sponsors/Nevon","https://github.com/sponsors/tulios"],"categories":["JavaScript","Repository","Libraries","\u003ca name=\"JavaScript\"\u003e\u003c/a\u003eJavaScript","Clients"],"sub_categories":["Job Queues","Node.js","Node.js / TypeScript"],"readme":"[![npm version](https://img.shields.io/npm/v/kafkajs?color=%2344cc11\u0026label=stable)](https://www.npmjs.com/package/kafkajs) [![npm pre-release version](https://img.shields.io/npm/v/kafkajs/beta?label=pre-release)](https://www.npmjs.com/package/kafkajs) [![Build Status](https://dev.azure.com/tulios/kafkajs/_apis/build/status/tulios.kafkajs?branchName=master)](https://dev.azure.com/tulios/kafkajs/_build/latest?definitionId=2\u0026branchName=master) [![Slack Channel](https://join.slack.com/t/kafkajs/shared_invite/zt-1ezd5395v-SOpTqYoYfRCyPKOkUggK0Abadge.svg)](https://join.slack.com/t/kafkajs/shared_invite/zt-1ezd5395v-SOpTqYoYfRCyPKOkUggK0A)\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://kafka.js.org\"\u003e\n      \u003cimg src=\"https://raw.githubusercontent.com/tulios/kafkajs/master/logo/v2/kafkajs_circle.svg\" alt=\"Logo\" width=\"125\" height=\"125\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eKafkaJS\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A modern Apache Kafka® client for Node.js\n    \u003cbr /\u003e\n    \u003ca href=\"https://kafka.js.org/\"\u003e\u003cstrong\u003eGet Started »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://kafka.js.org/docs/getting-started\" target=\"_blank\"\u003eRead the Docs\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/tulios/kafkajs/issues/new?assignees=\u0026labels=\u0026template=bug_report.md\u0026title=\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/tulios/kafkajs/issues/new?assignees=\u0026labels=\u0026template=feature_request.md\u0026title=\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [About the project](#about)\n  - [Features](#features)\n  - [Getting Started](#getting-started)\n    - [Usage](#usage)\n- [Contributing](#contributing)\n  - [Help Wanted](#help-wanted)\n  - [Contact](#contact)\n- [License](#license)\n  - [Acknowledgements](#acknowledgements)\n\n## \u003ca name=\"about\"\u003e\u003c/a\u003e About the Project\n\nKafkaJS is a modern [Apache Kafka](https://kafka.apache.org/) client for Node.js. It is compatible with Kafka 0.10+ and offers native support for 0.11 features.\n\n\u003csmall\u003eKAFKA is a registered trademark of The Apache Software Foundation and has been licensed for use by KafkaJS. KafkaJS has no affiliation with and is not endorsed by The Apache Software Foundation.\u003c/small\u003e\n\n### \u003ca name=\"features\"\u003e\u003c/a\u003e Features\n\n* Producer\n* Consumer groups with pause, resume, and seek\n* Transactional support for producers and consumers\n* Message headers\n* GZIP compression\n  * Snappy, LZ4 and ZSTD compression through pluggable codecs\n* Plain, SSL and SASL_SSL implementations\n* Support for SCRAM-SHA-256 and SCRAM-SHA-512\n* Support for AWS IAM authentication\n* Admin client\n\n### \u003ca name=\"getting-started\"\u003e\u003c/a\u003e Getting Started\n\n```sh\nnpm install kafkajs\n# yarn add kafkajs\n```\n\n#### \u003ca name=\"usage\"\u003e\u003c/a\u003e Usage\n```javascript\nconst { Kafka } = require('kafkajs')\n\nconst kafka = new Kafka({\n  clientId: 'my-app',\n  brokers: ['kafka1:9092', 'kafka2:9092']\n})\n\nconst producer = kafka.producer()\nconst consumer = kafka.consumer({ groupId: 'test-group' })\n\nconst run = async () =\u003e {\n  // Producing\n  await producer.connect()\n  await producer.send({\n    topic: 'test-topic',\n    messages: [\n      { value: 'Hello KafkaJS user!' },\n    ],\n  })\n\n  // Consuming\n  await consumer.connect()\n  await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })\n\n  await consumer.run({\n    eachMessage: async ({ topic, partition, message }) =\u003e {\n      console.log({\n        partition,\n        offset: message.offset,\n        value: message.value.toString(),\n      })\n    },\n  })\n}\n\nrun().catch(console.error)\n```\n\nLearn more about using [KafkaJS on the official site!](https://kafka.js.org)\n\n- [Getting Started](https://kafka.js.org/docs/getting-started)\n- [A Brief Intro to Kafka](https://kafka.js.org/docs/introduction)\n- [Configuring KafkaJS](https://kafka.js.org/docs/configuration)\n- [Example Producer](https://kafka.js.org/docs/producer-example)\n- [Example Consumer](https://kafka.js.org/docs/consumer-example)\n\n\u003e _Read something on the website that didn't work with the latest stable version?_  \n[Check the pre-release versions](https://kafka.js.org/docs/pre-releases) - the website is updated on every merge to master.\n\n## \u003ca name=\"contributing\"\u003e\u003c/a\u003e Contributing\n\nKafkaJS is an open-source project where development takes place in the open on GitHub. Although the project is maintained by a small group of dedicated volunteers, we are grateful to the community for bug fixes, feature development and other contributions.\n\nSee [Developing KafkaJS](https://kafka.js.org/docs/contribution-guide) for information on how to run and develop KafkaJS.\n\n### \u003ca name=\"help-wanted\"\u003e\u003c/a\u003e Help wanted 🤝\n\nWe welcome contributions to KafkaJS, but we also want to see a thriving third-party ecosystem. If you would like to create an open-source project that builds on top of KafkaJS, [please get in touch](https://join.slack.com/t/kafkajs/shared_invite/zt-1ezd5395v-SOpTqYoYfRCyPKOkUggK0A) and we'd be happy to provide feedback and support.\n\nHere are some projects that we would like to build, but haven't yet been able to prioritize:\n\n* [Dead Letter Queue](https://eng.uber.com/reliable-reprocessing/) - Automatically reprocess messages\n* ✅ [Schema Registry](https://www.confluent.io/confluent-schema-registry/) - **[Now available!](https://www.npmjs.com/package/@kafkajs/confluent-schema-registry)** thanks to [@erikengervall](https://github.com/erikengervall)\n* [Metrics](https://prometheus.io/) - Integrate with the [instrumentation events](https://kafka.js.org/docs/instrumentation-events) to expose commonly used metrics\n\n### \u003ca name=\"contact\"\u003e\u003c/a\u003e Contact 💬\n\n[Join our Slack community](https://join.slack.com/t/kafkajs/shared_invite/zt-1ezd5395v-SOpTqYoYfRCyPKOkUggK0A)\n\n## \u003ca name=\"license\"\u003e\u003c/a\u003e License\n\nSee [LICENSE](https://github.com/tulios/kafkajs/blob/master/LICENSE) for more details.\n\n### \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e Acknowledgements\n\n* Thanks to [Sebastian Norde](https://github.com/sebastiannorde) for the V1 logo ❤️\n* Thanks to [Tracy (Tan Yun)](https://medium.com/@tanyuntracy) for the V2 logo ❤️\n\n\u003csmall\u003eApache Kafka and Kafka are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. KafkaJS has no affiliation with the Apache Software Foundation.\u003c/small\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftulios%2Fkafkajs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftulios%2Fkafkajs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftulios%2Fkafkajs/lists"}