Get all custom emoji


Get all the custom emoji in the user's organization.

Usage examples

#!/usr/bin/env python3

import zulip

# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")

result = client.get_realm_emoji()

More examples and documentation can be found here.

const zulipInit = require("zulip-js");

// Pass the path to your zuliprc file here.
const config = { zuliprc: "zuliprc" };

(async () => {
    const client = await zulipInit(config);

    console.log(await client.emojis.retrieve());

curl -sSX GET -G \


This endpoint does not accept any parameters.


Return values

  • emoji: object

    An object that contains emoji objects, each identified with their emoji ID as the key.

    • {emoji_id}: object

      Object containing details about the emoji with the specified ID. It has the following properties:

      • id: string

        The ID for this emoji, same as the object's key.

      • name: string

        The user-friendly name for this emoji. Users in the organization can use this emoji by writing this name between colons (:name :).

      • source_url: string

        The path relative to the organization's URL where the emoji's image can be found.

      • still_url: string | null

        Only non-null when the emoji's image is animated.

        The path relative to the organization's URL where a still (not animated) version of the emoji can be found. (This is currently always the first frame of the animation).

        This is useful for clients to display the emoji in contexts where continuously animating it would be a bad user experience (E.g. because it would be distracting).

        Changes: New in Zulip 5.0 (added as optional field in feature level 97 and then made mandatory, but nullable, in feature level 113).

      • deactivated: boolean

        Whether the emoji has been deactivated or not.

      • author_id: integer | null

        The user ID of the user who uploaded the custom emoji. Will be null if the uploader is unknown.

        Changes: New in Zulip 3.0 (feature level 7). Previously was accessible via an author object with an id field.

Example response(s)

Changes: As of Zulip 7.0 (feature level 167), if any parameters sent in the request are not supported by this endpoint, a successful JSON response will include an ignored_parameters_unsupported array.

A typical successful JSON response may look like:

    "emoji": {
        "1": {
            "author_id": 5,
            "deactivated": false,
            "id": "1",
            "name": "green_tick",
            "source_url": "/user_avatars/1/emoji/images/1.png"
    "msg": "",
    "result": "success"