Pulsar APIs
Pulsar is a messaging and streaming platform that scales across organizations of all sizes.
As the core building blocks of Pulsar, Pulsar APIs allow you to:
- build applications with Pulsar using client APIs
- administer Pulsar clusters using admin APIs
Pulsar client APIs
Pulsar client APIs encapsulate and optimize Pulsar's client-broker communication protocols and add additional features using Pulsar primitives.
With Pulsar client APIs, you can:
- create and configure producers, consumers, and readers
- produce and consume messages
- perform authentication and authorization tasks
Pulsar exposes client APIs with language bindings. For more details about Pulsar clients, including language-specific client libraries, feature matrix, third-party clients, see Pulsar client - Overview.
Pulsar admin APIs
See Pulsar admin API - Get started.
Comparison
Here is a simple comparison between Pulsar client APIs and Pulsar admin APIs.
| Category | Pulsar client APIs | Pulsar admin APIs |
|---|---|---|
| Audiences | Developers | DevOps |
| Goals | Build applications with Pulsar | Administer Pulsar clusters |
| Use cases | Pulsar client APIs help you create applications that rely on real-time data. For example, you can build a financial application to handle fraud alerts or an eCommerce application that creates recommendations based on user activities. | Pulsar administration APIs let you administer the entire Pulsar instance, including clusters, tenants, namespaces, and topics, from a single endpoint. For example, you can configure security and compliance, or get information about brokers, check for any issues, and then troubleshoot solutions. |
| Key features | - Process data with producers, consumers, readers, and TableView - Secure data with authentication and authorization - Protect data with transactions and schema - Stabilize data with cluster-level auto failover | - Configure authentication and authorization - Set data retention and resource isolation policies - Facilitate workflow of application development - Troubleshoot Pulsar |
| Interfaces | - Java client - C++ client - Python client - Go client - Node.js client - C# client - WebSocket API - REST, for producing messages Each page links the API reference of its client; see also the client libraries overview and the feature matrix. | - pulsar-admin CLI, Java and Go admin libraries - REST API, with OpenAPI specifications for generating clients in other languages |