← Docs

Emoji API

By character, shortcode, name, or search.

Look up an emoji by character, shortcode, or exact name. One stable record for editors, reactions, and anything that needs to normalize emoji input.

Lookup

GET
api.parseapi.com/emoji/{emoji}
Character, shortcode, or exact name
Explore
Parameters 3
emojistring · path · required

Character, shortcode, or name

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

deepboolean · query · optional

Unicode detail, keywords and skin-tone variants. Included on every plan, with no additional charge.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.emoji("rocket");
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "emoji": "🚀",
  "name": "rocket",
  "shortcodes": [
    ":rocket:",
    "rocket"
  ],
  "category": "Travel & Places"
}

Response fields

emoji
Emoji character
name
Official name
shortcodes
Shortcodes with and without colons
category
Category

Keyword and prefix search for pickers and typeahead. ?limit= caps results, default 20, max 50.

GET
api.parseapi.com/emoji?q={query}
Prefix and keyword search. ?limit= (default 20, max 50)
Explore
Parameters 4
qstring · query · required

An emoji name or keyword.

limitinteger · query · optional

Maximum number of results.

Default: 20

Range: 1 to 50

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

deepboolean · query · optional

Unicode detail, keywords and skin-tone variants. Included on every plan, with no additional charge.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.emoji.search("fire", { limit: 20 });
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "q": "fire",
  "emojis": [
    {
      "emoji": "🔥",
      "name": "fire",
      "shortcodes": [
        ":fire:",
        "fire"
      ],
      "category": "Travel & Places"
    },
    {
      "emoji": "🚒",
      "name": "fire engine",
      "shortcodes": [
        ":fire_engine:"
      ],
      "category": "Travel & Places"
    },
    // ... 18 more
  ]
}

Response fields

q
Search query
emojis
Matching emoji records (same shape as lookup)

Deep

?deep=true Unicode detail, keywords and skin-tone variants. Included on every plan, with no additional charge.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.emoji("rocket", { deep: true });
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "emoji": "🚀",
  "name": "rocket",
  "shortcodes": [
    ":rocket:",
    "rocket"
  ],
  "category": "Travel & Places",
  "deep": {
    "codepoints": [
      "U+1F680"
    ],
    "hex": "1F680",
    "status": "fully-qualified",
    "version": "0.6",
    "keywords": [
      "rocket",
      "space"
    ],
    "skins": []
  }
}

Deep fields

deep.codepoints
Unicode codepoints (U+…)
deep.hex
Hex form
deep.status
Qualification status
deep.version
Dataset version
deep.keywords
Related keywords
deep.skins
Skin-tone variants (when available)

Display language

Pass lang with a language tag such as fr, pt-BR, or zh-Hant. Emoji name and requested deep.keywords. Search also matches translated names and keywords. Each choice covers 3,506–3,781 of the 3,944 current emoji names; characters and shortcodes stay unchanged.

Omitting lang preserves the original response. Codes, IDs, numeric facts and native-name fields stay unchanged. Missing translations keep their existing source value; unknown values stay null. A preserved name_local may equal the translated name.

Send a chosen browser preference explicitly, for example { lang: navigator.language } in your JavaScript SDK options. The API does not read Accept-Language automatically. Unsupported regions fall back to their supported base language; unsupported languages or scripts use English. Empty, invalid or repeated tags return 400.

Content-Language identifies languages used in translated display fields and known English fallbacks. This option follows the current API contract. Requests selecting frozen 1.0.0 retain that contract. Select API 2.0.0 to use display language.

41 display language choices
Language tagLanguage
enAmerican English
zh-Hans简体中文
frfrançais (France)
deDeutsch
ititaliano
ja日本語
ko한국어
esespañol de España
arالعربية
bgбългарски
cacatalà
hrhrvatski
csčeština
dadansk
nlNederlands
fisuomi
elΕλληνικά
heעברית
hiहिन्दी
humagyar
idIndonesia
kkқазақ тілі
msMelayu
nbnorsk bokmål
plpolski
ptportuguês (Brasil)
roromână
ruрусский
skslovenčina
svsvenska
thไทย
trTürkçe
ukукраїнська
viTiếng Việt
zh-Hant繁體中文
en-AUAustralian English
en-GBBritish English
fr-CAfrançais canadien
es-419español latinoamericano
pt-PTportuguês europeu
zh-Hant-HK繁體中文(中國香港特別行政區)

Questions? Email