Skip to main content

You are viewing Agora Docs forBetaproducts and features. Switch to Docs

Android
iOS
Web
Windows
Unity
Flutter
React Native

Pricing plan details

This page lists the details of the pricing plans for Chat.

User

DescriptionFreeStarterProEnterprise
Maximum number of contacts for a user1002501,000Custom (10,000 by default)
Total number of registered usersunlimitedunlimitedunlimitedunlimited
Maximum number of monthly active users50050,000100,000Customizable (requires a minimum monthly commitment of 100,000 MAU)
Peak concurrent connection*5010% of MAU10% of MAUCustomizable (10% of MAU by default)

Message

DescriptionFreeStarterProEnterprise
Message cloud storage (provides message storage services, supports historical messages, roaming messages, and offline messages)7 days90 days180 daysCustomizable (180 days by default)
All message types (including: text, emoticons, voice, video, image, location, transparent transmission, customized messages, etc.)
Custom message (flexibly customize message content and functions according to business needs)
Command message (as a control command)
Offline messages (support One-to-one chat/group chat offline messages, offline messages can be pulled after going online)

Group

DescriptionFreeStarterProEnterprise
Total number of groups10010,00050,000Customizable (100,000 by default)
Number of group members1002501,000Customizable (5,000 by default)
Number of groups that users can join1001,0002,000Customizable (10,000 by default)

Chat room

DescriptionFreeStarterProEnterprise
Number of chat rooms10010,00050,000Customizable (100,000 by default)
Number of chat room members1002,00010,000Customizable (20,000 by default)
Number of chat rooms that users can join1001,0002,000Customizable (10,000 by default)
Real-time interactive chat room broadcast messages
Global muting in real-time interactive chat rooms
Real-time interactive chat room user allowed list
Real-time interactive chat room history message storage

Features

DescriptionFreeStarterProEnterprise
Message and event callback (provides full message routing and forwarding, support messages, and multiple event types)XX
User status callback (synchronizes the user's offline status through callback)XX
Callback before sending (used to connect to third-party message review services)XX
Multi-terminal and multi-device online (supporting different devices online at the same time, simultaneous message reception)
Message read receipts (supports single chat receipts. Group chat receipts are only supported above the Pro version)
Message withdrawal (supports client/REST message withdrawal)
Message Do Not Disturb (no push messages will be received during the set Do Not Disturb time)
Server session list (WEB side pulls historical sessions)
IM UI Samples (provides IM UI components)
Full platform offline push (support Apple(MVP), Google(MVP), Huawei, Xiaomi, OPPO, VIVO, Meizu, custom ringtones and extensions)
Chat group file sharing
Generating thumbnails for image messages
Retrieving offline messages
Chat group and chat room notifications
Reactions
Message threading
Presence
TranslationXX

Content moderation

DescriptionFreeStarterProEnterprise
Reporting messagesXX
Banning users
Muting users
Real-time moderationXX
Global mute in chat groups and chat rooms
User ID filterXX
Text message moderationXX
Image message moderationXX

Analytics

DescriptionFreeStarterProEnterprise
Usage inspection
Quality inspection (BETA)

Security

DescriptionFreeStarterProEnterprise
TLS/SSL encryption
File encryption
Personal data deletion API
IP allowed list

Compliance

DescriptionFreeStarterProEnterprise
ISO27001
GDPR
HIPPA
SOC 2

RESTful APIs

DescriptionFreeStarterProEnterprise
RESTful API call frequencyUp to 10 calls/secondIndividual API calls: up to 100 calls/secondIndividual API calls: up to 100 calls/secondIndividual API calls: up to 100 calls/second

RESTful API call detailed pricing

Submit a support ticket if you want to lift the limits and pay for overage charge.

CategoryRest API DescriptionAPI calls included in the package/application (times/second)Allows "pay for overage"API Call Overage ChargeHttp MethodEndpoint
User ManagementGet user token100Y$0/monthGET/{org_name}/{app_name}/token
User ManagementRegister user100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users
User ManagementRegister users in bulk100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users
User ManagementCheck whether the user token is invalid100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/token/users/{uid}/invalid
User ManagementGet user information100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{username}
User ManagementGet user information in bulk100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users
User ManagementDelete user100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/users/{username}
User ManagementDelete users in bulk30Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/users
User ManagementChange user password100Y$50/month/additional 50 QPSPUT/{org_name}/{app_name}/users/{username}/password
User ManagementGet user online status100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{username}/status
User ManagementGet user online status in bulk50Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/batch/status
User ManagementGet offline message count100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{owner_username}/offline_msg_count
User ManagementGet status of offline messages100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{username}/offline_msg_status/{msg_id}
User ManagementBan user100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{username}/deactivate
User ManagementUnban user100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{username}/activate
User ManagementForce user offline100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{username}/disconnect
User AttributesSet user attributes100Y$50/month/additional 50 QPSPUT/{org_name}/{app_name}/metadata/user/{username}
User AttributesGet user attributes100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/metadata/user/{username}
User AttributesGet user attributes in bulk100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/metadata/user/get
User AttributesDelete user attribute100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/metadata/user/{username}
User AttributesGet the total size of user attributes100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/metadata/user/capacity
User MuteMute user in the app100Y$50/month/additional 50 QPSPOST/{orgName}/{appName}/mutes
User MuteQuery the app global mute of a single user ID100Y$50/month/additional 50 QPSGET/{orgName}/{appName}/mutes/username
User MuteQuery all app globally users under the app100Y$50/month/additional 50 QPSGET/{orgName}/{appName}/mutes
User online & offline statusSet user online status50Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{uid}/presence/{resource}/{status}
User online & offline statusSubscript online status in bulk50Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{uid}/presence/{expiry}
User online & offline statusGet online status in bulk50Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{uid}/presence
User online & offline statusUnsubscribe online status50Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/users/{uid}/presence
User online & offline statusQuery subscription list50Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{uid}/presence/sublist?pageNum=1&pageSize=100
User relationship managementAdd friend100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{owner_username}/contacts/users/{friend_username}
User relationship managementRemove friend100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/users/{owner_username}/contacts/users/{friend_username}
User relationship managementAccept friend adding request100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{uid}/contacts/accept/users/{friendUsername}
User relationship managementDecline friend adding request100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/users/{uid}/contacts/decline/users/{friendUsername}
User relationship managementQuery user friend list100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{uid}/rosters
User relationship managementGet contact100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{owner_username}/contacts/users
User relationship managementGet blocked user list50N/GET/{org_name}/{app_name}/users/{owner_username}/blocks/users
User relationship managementBlock user50N/POST/{org_name}/{app_name}/users/{owner_username}/blocks/users
User relationship managementRemove user of block user50N/DELETE/{org_name}/{app_name}/users/{owner_username}/blocks/users/{blocked_username}
MessageSend a single chat message6,000 messages per minuteY$50/month/additional 6,000 messages/minutePOST/{org_name}/{app_name}/messages/users
MessageSend a group chat message20 messages per secondY$200/month/ additional 20 messages/secondPOST/{org_name}/{app_name}/messages/chatgroups
MessageSend chat room message100 messages per secondY$200/month/ additional 100 messages/secondPOST/{org_name}/{app_name}/messages/chatrooms
MessageGet message history file10 times per minuteY$50/month/additional 10 times/minuteGET/{org_name}/{app_name}/chatmessages/${time}
MessageSend a message100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/messages
MessageUpload files100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatfiles
MessageDownload files100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatfiles/{uuid}
MessageDownload thumbnail100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatfiles/{file_uuid}
MessageMessage recall100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/messages/recall
MessageDelete conversation100Y$50/month/additional 50 QPSDELETE/{orgName}/{appName}/users/{userName}/user_channel
Message PushSet push message display name100N/PUT/{org_name}/{app_name}/users/{username}
Message PushSet push message display method100N/PUT/{org_name}/{app_name}/users/{username}
Message PushSet do not disturb100N/PUT/{org_name}/{app_name}/users/{username}
Message PushSet do not disturb100N/PUT/{org_name}/{app_name}/users/{username}
Message PushSend push notifications by users1200 times per minuteY$100/month/additional 1200 times per minutePOST/{org_name}/{app_name}/push/single
Message PushSend push notifications to all users under the app5 times per minute & 100 times per dayN/POST/{org_name}/{app_name}/push/task
Message PushSend push notifications by labels1200 times per minuteY$100/month/additional 1200 times per minutePOST/{org}/{app}/push/list/label
Message PushCreate a push label100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/push/label
Message PushDelete a push label100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/push/label/{labelname}
Message PushAdd users to a push label100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/push/label/{labelname}/user
Message PushRemove users from a push label100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/push/label/{labelname}/user
Group ManagementGet all groups in the app100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups
Group ManagementGet groups a user added50Y$50/month/additional 50 QPSGET/{app_name}/users/{username}/joined_chatgroups
Group ManagementGet group details100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_ids}
Group ManagementCreate a group100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups
Group ManagementEdit group information100Y$50/month/additional 50 QPSPUT/{org_name}/{app_name}/chatgroups/{group_id}
Group ManagementDelete a group100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}
Group ManagementGet group announcement100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_id}/announcement
Group ManagementUpdate group announcement100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/announcement
Group ManagementGet group file100Y$50/month/additional 50 QPSGET- Without pagination: /{org_name}/{app_name}/chatgroups/{group_id}/share_files- With pagination: /{org_name}/{app_name}/chatgroups/{group_id}/share_files?pagenum=1&pagesize=10
Group ManagementUpload group file100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/share_files
Group ManagementDownload group file100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_id}/share_files/{file_id}
Group ManagementDelete group file100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/share_files/{file_id}
Group Member ManagementGet group members100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_id}/users
Group Member Managementadd group member100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/users/{username}
Group Member Managementadd group member in bulk100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{chatgroupid}/users
Group Member ManagementRemove group member100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/users/{username}
Group Member ManagementRemove group member in bulk100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/users/{usernames}
Group Member ManagementList group administrators100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_id}/admin
Group Member ManagementAdd group administrator100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/admin
Group Member ManagementRemove group administrator100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/admin/{oldadmin}
Group Member ManagementTransfer ownership of group100Y$50/month/additional 50 QPSPUT/{org_name}/{app_name}/chatgroups/{groupid}
Group Member ManagementList group block users100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users
Group Member ManagementAdd a group member to block list100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{username}
Group Member ManagementRemove group members from group block list100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{username}
Group Member ManagementList group allowed list100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_id}/white/users
Group Member ManagementAdd group member into group allowed list100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/white/users/{username}
Group Member ManagementAdd group members to block list in bulk100N/POST/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users
Group Member ManagementRemove group members from group block list in bulk100N/DELETE/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{usernames}
Group Member ManagementAdd group member into group allowed list in bulk100N/POST/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users
Group Member ManagementRemove user from group allowed list100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/white/users/{username}
Group Member ManagementList muted users in group100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{group_id}/mute}
Group Member ManagementMute a member in group100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/mute
Group Member ManagementMute all members in group (except users in whitelist)100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{group_id}/ban
Group Member ManagementUnmute a member in group100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/mute/{member1}(,{member2},…)
Group Member ManagementUnmute all members in group100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{group_id}/ban
Group Member ManagementGet group role100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatgroups/{groupId}/roles
Group Member ManagementApply to join group100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{groupId}/apply
Group Member ManagementAgree to join the group100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{groupId}/apply_verify
Group Member ManagementLeave group100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatgroups/{groupId}/quit
Group Member ManagementInvite to group100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{groupId}/invite
Group Member ManagementAgree to invite to group100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatgroups/{groupId}/invite_verify
Chatroom ManagementList chatrooms50Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms
Chatroom ManagementGet user added chatrooms50Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/users/{username}/joined_chatrooms
Chatroom ManagementGet chatroom information100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroom_id}
Chatroom ManagementCreate a chatroom50Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms
Chatroom ManagementUpdate chatroom information100Y$50/month/additional 50 QPSPUT/{org_name}/{app_name}/chatrooms/{chatroom_id}
Chatroom ManagementDelete a chatroom100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}
Chatroom ManagementGet chatroom announcement100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/announcement
Chatroom ManagementUpdate chatroom announcement100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/announcement
Chatroom Member ManagementList chatroom members100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/users
Chatroom Member ManagementAdd member to chatroom100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroomid}/users/{username}
Chatroom Member ManagementAdd member to chatoom in bulk100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroomid}/users
Chatroom Member ManagementDelete member from chatroom100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroomid}/users/{username}
Chatroom Member ManagementDelete member from chatroom in bulk100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroomid}/users/{usernames}
Chatroom Member ManagementList chatroom administrators100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/admin
Chatroom Member ManagementAdd chatroom administrator100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/admin
Chatroom Member ManagementDelete chatroom administrator100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/admin/{oldadmin}
Chatroom Member ManagementList chatroom members blocked100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users
Chatroom Member ManagementAdd chatroom member in to block list100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users/{username}
Chatroom Member ManagementRemove user from chartoom block list100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users/{username}
Chatroom Member ManagementList chatroom members in allowed list100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users
Chatroom Member ManagementAdd user in to chatroom allowed list100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users/{username}
Chatroom Member ManagementRemove chatroom member from allowed list100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users/{username}
Chatroom Member ManagementList blocked users in chatroom block list100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/mute
Chatroom Member ManagementMute chatroom member100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/mute
Chatroom Member ManagementMute all members in chatroom100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/ban
Chatroom Member ManagementUnmute a member in chatroom100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/mute/{member1}(,{member2},…)
Chatroom Member ManagementUnmute all members in chatroom100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/ban
Chatroom Member ManagementList super administrators in chatroom100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/super_admin
Chatroom Member ManagementAdd super administrator in chatroom100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/super_admin
Chatroom Member ManagementRemove super administrator in chatroom100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/super_admin/{superAdmin}
Chatroom Member ManagementGet chat room roles100Y$50/month/additional 50 QPSGET/{org_name}/{app_name}/chatrooms/{chatroomId}/roles
Chatroom Member ManagementJoin chat room100Y$50/month/additional 50 QPSPOST/{org_name}/{app_name}/chatrooms/{chatroomId}/apply
Chatroom Member ManagementExit the chat room100Y$50/month/additional 50 QPSDELETE/{org_name}/{app_name}/chatrooms/{chatroomId}/quit
Chatroom Member ManagementAdd chatroom member in to block list in bulk100N/POST/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users
Chatroom Member ManagementRemove user from chatroom block list in bulk100N/DELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users/{usernames}
Chatroom Member ManagementAdd user in to chatroom allowed list in bulk100N/POST/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users

SDK support

DescriptionFreeStarterProEnterprise
Android
iOS
Web
Windows
Unity
Flutter
Reactive Native

* Peak Concurrent Connections (PCC) measure the maximum number of TCP long-lived connections made concurrently, to Agora Chat servers, across any given calendar month. This number is typically different from your DAU/MAU. If an end user (with one UID or UUID) logs into Agora Chat, via x number of devices, they are counted as 1 MAU but x PCC.

PCC overage fee: We measure the aggregated number of PCCs and MAUs across all your projects at the end of each billing cycle, which ends at every calendar month and charge an overage fee, if applicable. You can find the overage fee schedule by visiting Agora Console. Paid packages of Agora Chat by default allow for a PCC smaller or equal to 10% of your total MAU. Exceeding the 10% of MAU won’t impact your end users or disrupt services, as we meter the PCC only at the end of each calendar month. Agora Chat Starter/Pro/Enterprise package subscribers are entitled to at least 500, 1K, and 1K PCC respectively, for free in each month. For example, if a Starter package subscriber has 1K MAU and 500 PCC in a month, there won’t be any PCC overage fee billed.

vundefined