πŸ“– Emojipedix

Static Emoji API

All data is served as static JSON files from our CDN. No authentication, no rate limits, no server β€” just fetch() and go.

Base URL https://www.emojipedix.com/api/v1
GET /api/v1/emoji/{slug}.json

Full enriched data for a single emoji

Example request

fetch('https://www.emojipedix.com/api/v1/api/v1/emoji/fire.json')

Example response

{
  "slug": "fire",
  "emoji": "πŸ”₯",
  "name": "fire",
  "codepoints": ["U+1F525"],
  "hexcode": "1F525",
  "keywords": ["fire", "flame", "hot", "lit", "tool"],
  "shortcodes": {
    "github": ["fire"],
    "slack": ["fire"],
    "discord": ["fire"],
    "cldr": ["fire"]
  },
  "category": "travel-places",
  "subcategory": "sky-weather",
  "version": 0.6,
  "skinToneSupport": false,
  "variantCount": 0,
  "names": {
    "en": "fire",
    "de": "Feuer",
    "ja": "η‚Ž",
    "ko": "뢈",
    "zh": "火焰",
    "fr": "feu",
    "es": "fuego",
    "...": "28 locales total"
  },
  "clarity": {
    "tier": "often-misread",
    "reasons": ["Has a well-known double meaning..."],
    "doubleMeaning": {
      "official": "A flame of fire",
      "slang": "\"This is amazing/lit/hot\"",
      "note": "The universal \"this is great\" stamp"
    }
  },
  "related": ["firecracker", "fire-engine", ...],
  "topics": [{ "slug": "fire-hot", "name": "Fire & Hot" }],
  "url": "https://www.emojipedix.com/fire"
}
GET /api/v1/emojis.json

Lightweight index of all 1,914 emoji

Example request

fetch('https://www.emojipedix.com/api/v1/api/v1/emojis.json')

Example response

[
  {
    "slug": "grinning-face",
    "emoji": "πŸ˜€",
    "name": "grinning face",
    "category": "smileys-emotion",
    "version": 1
  },
  {
    "slug": "peach",
    "emoji": "πŸ‘",
    "name": "peach",
    "category": "food-drink",
    "version": 0.6,
    "clarity": "often-misread"
  },
  ...
]
GET /api/v1/categories.json

All categories with their subcategories

Example request

fetch('https://www.emojipedix.com/api/v1/api/v1/categories.json')

Example response

[
  {
    "slug": "smileys-emotion",
    "name": "Smileys & Emotion",
    "emoji": "πŸ˜€",
    "count": 171,
    "subcategories": [
      { "slug": "face-smiling", "name": "Smiling", "count": 14 },
      { "slug": "face-affection", "name": "Affection", "count": 9 },
      ...
    ]
  },
  ...
]
GET /api/v1/clarity.json

All emoji with clarity scores (double meanings, nuance)

Example request

fetch('https://www.emojipedix.com/api/v1/api/v1/clarity.json')

Example response

[
  {
    "slug": "peach",
    "emoji": "πŸ‘",
    "name": "peach",
    "tier": "often-misread",
    "reasons": ["Has a well-known double meaning..."],
    "doubleMeaning": {
      "official": "A fuzzy pink peach fruit",
      "slang": "Widely used to represent a butt/booty",
      "note": "One of the most well-known double meanings"
    }
  },
  ...
]
GET /api/v1/search.json

Pre-built search index for client-side fuzzy search

Example request

fetch('https://www.emojipedix.com/api/v1/api/v1/search.json')

Example response

[
  {
    "slug": "fire",
    "emoji": "πŸ”₯",
    "label": "fire",
    "tags": "fire flame hot lit tool",
    "shortcodes": "fire"
  },
  ...
]

Notes

CORS

All endpoints return proper CORS headers. You can fetch from any origin.

Caching

Responses are immutable-cached on the CDN. Data updates when new emoji versions are released (typically once a year).

Versioning

The API is versioned at /v1/. Breaking changes will use a new version path.

License

Emoji data is sourced from emojibase (MIT) and Unicode CLDR (CC-BY-4.0). Clarity scores and enrichments are our original work. Please attribute Emojipedix when using the enriched data.

Want the picker widget too?

Drop in an emoji picker for your website with one line of HTML.

See the Widget