Skip to main content
GET
/
v1
/
custom_emojis
TypeScript SDK
import { Client } from "@notionhq/client"
import { collectPaginatedAPI } from "@notionhq/client"

const notion = new Client()

// Single page
const response = await notion.customEmojis.list()

// All pages with pagination helper
const allEmojis = await collectPaginatedAPI(
  notion.customEmojis.list,
  {}
)
{
  "object": "<string>",
  "type": "<string>",
  "results": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "url": "<string>"
    }
  ],
  "has_more": true,
  "next_cursor": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
See Pagination for details about how to use a cursor to iterate through the list. Use the name query parameter to filter by exact name match, which is useful for resolving a custom emoji name to its ID.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Notion-Version
enum<string>
required

The API version to use for this request. The latest version is 2026-03-11.

Available options:
2026-03-11

Query Parameters

start_cursor
string

If supplied, this endpoint will return a page of results starting after the cursor provided. If not supplied, this endpoint will return the first page of results.

page_size
integer

The number of items from the full list desired in the response. Maximum: 100

Required range: 1 <= x <= 100
name
string

If supplied, filters custom emojis by exact name match. Useful for resolving a custom emoji name to its ID.

Response

object
string
required

Always list

Allowed value: "list"
type
string
required

Always custom_emoji

Allowed value: "custom_emoji"
results
object[]
required

The list of custom emojis.

Maximum array length: 100
has_more
boolean
required

Whether there are more results available.

next_cursor
string<uuid> | null
required

The cursor to use for the next page of results, or null if there are no more results.