<a id="client-api-overview"></a>

# Kafka Client APIs

Confluent Cloud provides comprehensive client libraries for producing and consuming
messages from Kafka clusters. These client libraries offer idiomatic APIs for
your preferred programming language, with full support for modern Kafka features
including authentication, compression, transactional messaging, and guaranteed
message delivery.

The following client APIs are available:

**.NET Client**
: Full-featured Kafka client for .NET applications. Supports all .NET Framework
  and .NET Core versions with high-performance message handling, automatic
  reconnection, and comprehensive metrics reporting. Ideal for C# and F#
  applications. For more information, see the [.NET Client API documentation](https://docs.confluent.io/platform/current/clients/api-docs/confluent-kafka-dotnet.html).

**C++ Client**
: High-performance Kafka client library librdkafka for C and C++ applications.
  Provides low-level control with minimal overhead, making it suitable for
  latency-sensitive applications and embedded systems. For more information,
  see the [C++ Client API documentation](https://docs.confluent.io/platform/current/clients/api-docs/librdkafka.html).

**Go Client**
: Native Go Client library for Kafka with goroutine-safe design. Offers clean
  Go idioms for producing and consuming messages, with support for context-based
  cancellation and structured configuration. For more information, see the
  [Go Client API documentation](https://docs.confluent.io/platform/current/clients/api-docs/confluent-kafka-go.html).

**Java Client**
: Official Kafka client for Java applications. The most feature-complete client
  with support for all Kafka protocols, administrator operations, and advanced
  features like custom partitioners, interceptors, and stream processing
  integrations. For more information, see the [Java Client API documentation](https://docs.confluent.io/platform/current/clients/javadocs/javadoc/index.html).

**JavaScript Client**
: Modern JavaScript and TypeScript client for Node.js applications. Provides
  Promise-based and async/await patterns for intuitive message handling in
  server-side JavaScript applications. For more information, see the
  [JavaScript Client API documentation](https://docs.confluent.io/platform/current/clients/confluent-kafka-javascript/docs/index.html).

**Python Client**
: Production-ready Kafka client for Python applications. Supports both
  synchronous and asynchronous message handling with Python APIs and
  comprehensive error handling. For more information, see the
  [Python Client API documentation](https://docs.confluent.io/platform/current/clients/api-docs/confluent-kafka-python.html).

Each client library includes comprehensive documentation with API references,
configuration guides, code examples, and best practices for production
deployments. All clients support authentication with Confluent Cloud using API keys,
OAuth, and SASL mechanisms.
