Get the power of in-app messaging & calling – without building it yourself

Save hours of development work in adding voice, video calling & messaging to your mobile & web apps by using our robust SDK & APIs. We have written the code for you, so you don’t have to.

cometchat pro

Build exactly what you imagine

With our detailed documentation and hundreds of simplified libraries, you imagine it & we will help you build it.

Take control of your chat experience

Control your chat UI with your code. Code in the language you know and leave the rest to us.

private String appID = "APP_ID";

CometChat.init(this, appID, new CometChat.CallbackListener() {
  public void onSuccess(String successMessage) {
    Log.d(TAG, "Initialization completed successfully");
  public void onError(CometChatException e) {
    Log.d(TAG, "Initialization failed with exception: " + e.getMessage());

Create an App

Sign up with CometChat & login to your dashboard to create an app.

Get our Sample app from GitHub

Download our sample app from GitHub to start exploring.

Add your API key

Leave the infrastructure and scalability to us.

Start Chatting

And just like that, your chat is up and running.

Your tech stack. Your language. CometChat Pro offers seamless integrations for 92+ frameworks, languages & SDKs.

Don’t build it yourself, do it with CometChat Pro & save months of efforts in building chat from scratch.

Easily customize different elements of your chat app by writing your own code or choosing one from our many pre built rules and extensions.

Your use case + your tech stack + your custom needs = a seamless chat application adjusted for the dynamic future.

Deploy your ideas with a few lines of code

Our well-documented SDKs will help you add CometChat Pro easily to your existing app, and will give you time to focus on what you do best – build great apps.

var GUID = "GUID";
var password = "";
var groupType = CometChat.GROUP_TYPE.PUBLIC;

CometChat.joinGroup(GUID, groupType, password).then(
 group => {
  console.log("Group joined successfully:", group);
 error => {
  console.log("Group joining failed with exception:", error);

private String GUID = "GUID";
private String groupType = CometChatConstants.GROUP_TYPE_PUBLIC;
private String password = "";

CometChat.joinGroup(GUID, groupType, password, new CometChat.CallbackListener() {
  public void onSuccess(String successMessage) {
    Log.d(TAG, "Group joined successfully");
  public void onError(CometChatException e) {
    Log.d(TAG, "Group joining failed with exception: " + e.getMessage());

let guid = "SUPERGROUP1";
let password = ""; // mandatory in case of protected group

CometChat.joinGroup(GUID: guid, groupType: .public, password: nil, onSuccess: { (Group) in

  // Success
  print("Group joined successfully: " + Group!.stringValue())

}) { (error) in

  // Failure
  print("Group joining failed with exception:" + error!.ErrorDescription);

var listenerID = "UNIQUE_LISTENER_ID";

 new CometChat.MessageListener({
  onTextMessageReceived: textMessage => {
   console.log("Text message successfully", textMessage);
   // Handle text message
  onMediaMessageReceived: mediaMessage => {
   console.log("Media message received successfully",  mediaMessage);
   // Handle media message

private String listenerID = "UNIQUE_LISTENER_ID";

CometChat.addMessageListener(listenerID, new CometChat.MessageListener() {
  public void onTextMessageReceived(TextMessage textMessage) {
    Log.d(TAG, "Text message received successfully: " + textMessage.toString());
  public void onMediaMessageReceived(MediaMessage mediaMessage) {
    Log.d(TAG, "Media message received successfully: " + mediaMessage.toString());

extension ViewController: CometChatMessageDelegate {

  func onTextMessageReceived(textMessage: TextMessage ? , error : CometChatException ? ) {

    // received a new messsage of type text
    let receivedMessage = (textMessage as ? TextMessage);
    print("Message received successfully: " + receivedMessage!.stringValue())


  func onMediaMessageReceived(mediaMessage: MediaMessage ? , error : CometChatException ? ) {

    // received a new message of type media
    let receivedMessage = (mediaMessage as ? MediaMessage);
    print("Message received successfully: " + receivedMessage!.stringValue())


var receiverID = "UID";
var messageText = "Hello world!";
var messageType = CometChat.MESSAGE_TYPE.TEXT;
var receiverType = CometChat.RECEIVER_TYPE.USER;

var textMessage = new CometChat.TextMessage(receiverID, messageText, messageType, receiverType);

  message => {
    console.log("Message sent successfully:", message);
    // Text Message Sent Successfully
  error => {
    console.log("Message sending failed with error:", error);

private String receiverID = "UID";
private String messageText = "Hello world!";
private String messageType = CometChatConstants.MESSAGE_TYPE_TEXT;
private String receiverType = CometChatConstants.RECEIVER_TYPE_USER;

TextMessage textMessage = new TextMessage(receiverID, messageText, messageType, receiverType);

CometChat.sendMessage(textMessage, new CometChat.CallbackListener() {
  public void onSuccess(TextMessage textMessage) {
    Log.d(TAG, "Message sent successfully: " + textMessage.toString());
  public void onError(CometChatException e) {
    Log.d(TAG, "Message sending failed with exception: " + e.getMessage());

let receiverID = "SUPERHERO2"
let text = "Hello"

let textMessage = TextMessage(receiverUid: receiverID, text: text, messageType: .text, receiverType: .user)

CometChat.sendTextMessage(message: textMessage, onSuccess: { (message) in

  // success
  let sentMessage = (message as ? TextMessage);
  print("Message sent successfully: " + sentMessage!.stringValue())

}) { (error) in

  // error
  print("Message sending failed with exception:  " + error!.ErrorDescription);

var limit = 30;
var usersRequest = new CometChat.UsersRequestBuilder().setLimit(limit).build();

  userList => {
    /* userList will be the list of User class. */
    console.log("User list received:", userList);
    /* retrived list can be used to display contact list. */
  error => {
    console.log("User list fetching failed with error:", error);

private UsersRequest usersRequest = null;
private int limit = 30;

usersRequest = new UsersRequest.UsersRequestBuilder().setLimit(limit).build();

usersRequest.fetchNext(new CometChat.CallbackListener>() {
  public void onSuccess(List  list) {
    Log.d(TAG, "User list received: " + list.size());
  public void onError(CometChatException e) {
    Log.d(TAG, "User list fetching failed with exception: " + e.getMessage());

let limit = 20;

let usersRequest = UsersRequest.UsersRequestBuilder(limit: limit).build();

usersRequest.fetchNext(onSuccess: { (users) in

  // Received user list success
  for user in users {

    // user
     print("User : " + user.stringValue())

}) { (error) in

  // Error
  print("User list fetching failed with exception: " + error.ErrorDescription);


Easiest way to add & customize chat in your app

Built & battle tested

CometChat Pro deploys over 50K+ automated tests across multiple platforms to ensure our chat works across every browser & updates.

Don’t build it from scratch

Our SDKs help save time by focussing on code that matters without having to reinvent the wheel. Quickstarts, developer documentation & open source sample code to get you up & running quickly.

Scale with confidence

We help you build a chat app that can be scaled from a startup to an enterprise within minutes without having to outsource your dev team. Our SDKs support every use case right out of the box with minimum latency, unparalleled uptime & flexibility.

Control your UI

CometChat Pro SDKs helps you make & manage your chat UI exactly the way you need. Start from our chat layout & build on top of it. Personalise chat experience for your users by customizing chat bubbles, calling profiles and so much more.

Rich In-App Messaging Features

CometChat Pro has all the features you’ll need to get your chat to production & scale. We have done the hard work for you so you don’t have to.

Instant Messaging

Create your own UI for chat applications with simple authentication mechanism. CometChat Pro gives you the platform to experiment and innovate messaging interfaces that best suit your vision and user’s convenience.

With CometChat Pro you can expedite the development of reliable and high performing chat apps by adding in-app messaging functionality including private & group chats. It gives you the ability to easily customize different elements of your chat app.

cometchat pro text messaging

Voice Calling & Conference

Initiate WebRTC enabled voice calling and conference experiences for your users with high-speed and flexibility, using your preferred programming language. Our powerful SDKs and APIs give you complete control not only on the features but also on the UI.

It also enables you to provide impeccable audio quality service with minimal or no latency to your users and connect up to 10 participants in a conference call at any given time.

cometchat pro voice call

Voice & Video Calling & Conference

Innovate, streamline and scale with WebRTC enabled voice and video calling capabilities by using our intuitive APIs and SDKs to enable lucidity and efficiency. CometChat Pro provides you the resources to build a high-quality video calling and conferencing experience for your apps and websites with minimal to no latency.

With our developer-friendly documentation and thoroughgoing tech stack, you can build your own simple to complex UI.

cometchat pro video call

Send and Receive Media Files

Implement cloud-based file syncing and sharing features to elevate the functionality of your apps and website. With CometChat Pro you can send and receive structured data like GIFs, photos, videos, audio clips without the hassle of handling the storage and infrastructure.

cometchat pro file sharing

Custom Payload

Send custom payloads in your messages and improve your in-app chat functionality. With Custom payloads you can send calendar invites, share event details, share location information, attach text captions to images/videos to recipients in private or group chats and a lot more as per the requirement of your use-case and user convenience.

cometchat pro custom payload

Why CometChat Pro?

  • Customized chat experience

    Control how your chat looks with your own code. Change elements as per your liking and requirements.

  • Deployment in all developer preferred tech stack

    Build a seamless chat application with your preferred tech stack & our robust chat infrastructure.

  • Sample UIs or Develop your own

    Use our ready UIs or choose to build your own. Experience complete flexibility & control.

  • All essential compliance & security encryptions

    Advanced encryption & security standards. We handle your data protection so that you can focus on your business.

Unparalleled Reliability

Our dedicated engineering team & cloud operations ensure that your chat is always running while maintaining 99.99% uptime.

Flexible Infrastructure

Start with 2 users & scale upto 2 million. CometChat Pro offers guaranteed SLA so you don’t have to worry no matter how large your user base gets.

Support by Developers to Developers

Start building right away with our quickstarts & support services. When things go wrong, we’ll have our developers back you up by fixing your problems in no time.

Enterprise grade security & compliance

CometChat Pro comes with data protection, encryption & compliances to keep your users safe & your business protected.

Cross platform SDKs

With our native iOS, Android, Xamarin, React, web SDKs & REST APIs, we offer deep integration with your prefered language & stack

Zero downtime

No scheduled downtime. We deploy old and new code in parallel to test for errors and update with code fixes in service.

Pricing as flexible as our platform

We have taken into account multiple variables like your business use cases, monthly active users, and data storage to create a plan customized to your requirements.



10,000 monthly active users


Contact Us

Customized Plans

Compliance & Security Certif​icates



Coming Soon

ISO 27001

Coming Soon


Coming Soon