Developer Documentation
Integrate EmojiFYI data into your applications. Access 3,953 Unicode emojis with encoding info, keywords, categories, collections, and platform images through our JSON APIs, data feeds, and machine-readable endpoints.
API Endpoints
All API endpoints return JSON with Content-Type: application/json. No authentication is required. Base URL:
https://emojifyi.com/api/
| Endpoint | Descripción | Cache |
|---|---|---|
GET /api/emoji/{slug}/ |
Full emoji detail with encoding, keywords, shortcodes | none |
GET /api/emoji/{slug}/similar/ |
Related emojis by subcategory and shared keywords | none |
GET /api/search/?q= |
Search emojis by name, keywords, character, or codepoint | none |
GET /api/autocomplete/?q= |
Fast autocomplete suggestions (max 8 results) | none |
GET /api/v2/search/?q= |
Unified search across emojis, stories, glossary, and tools | none |
GET /api/category/{slug}/ |
List all emojis in a category | none |
GET /api/categories/ |
List all 10 emoji categories with counts | 1h |
GET /api/collections/ |
List all curated emoji collections | 1h |
GET /api/collection/{slug}/ |
Collection detail with all emojis | none |
GET /api/types/ |
Emoji types (basic, ZWJ, flag, keycap, skin tone) with counts | 1h |
GET /api/versions/ |
All emoji versions (Emoji 0.6 to 16.0) with release dates | 1h |
GET /api/years/ |
Emoji timeline by year with highlights | 1h |
GET /api/random/ |
Random emoji — great for bots, widgets, or emoji of the day | none |
GET /api/emoji-image/{slug}/ |
List available image formats and sizes for an emoji | none |
GET /api/emoji-image/{slug}/{platform}.{fmt} |
Download emoji image (PNG, WebP, SVG at 32-256px) | 1y |
GET /api/openapi.json |
OpenAPI 3.0 specification (CORS enabled) | none |
Emoji Detail
/api/emoji/{slug}/
curl https://emojifyi.com/api/emoji/grinning-face/
Show response
{
"character": "\ud83d\ude00",
"cldr_name": "grinning face",
"slug": "grinning-face",
"codepoint": "U+1F600",
"category": "smileys-emotion",
"subcategory": "face-smiling",
"emoji_version": "1.0",
"unicode_version": "6.1",
"emoji_type": "basic",
"keywords": ["face", "grin", "grinning face"],
"shortcodes": [":grinning:"],
"encoding": {
"utf8": "F0 9F 98 80",
"utf16": "D83D DE00",
"codepoints": ["U+1F600"]
},
"has_skin_tones": false,
"is_zwj": false,
"url": "https://emojifyi.com/emoji/grinning-face/"
}
Search API
/api/search/?q={query}
Search by name, keywords, character, or codepoint (e.g. U+1F600). Returns up to 50 results.
curl "https://emojifyi.com/api/search/?q=heart"
Show response
{
"query": "heart",
"results": [
{
"character": "\u2764\ufe0f",
"cldr_name": "red heart",
"slug": "red-heart",
"codepoint": "U+2764 U+FE0F",
"category": "smileys-emotion"
},
{
"character": "\ud83e\ude77",
"cldr_name": "pink heart",
"slug": "pink-heart",
"codepoint": "U+1FA77",
"category": "smileys-emotion"
}
]
}
Unified Search (v2)
/api/v2/search/?q={query}&limit={n}
Search across emojis, stories, glossary terms, and tools in a single request. Min 2 characters.
curl "https://emojifyi.com/api/v2/search/?q=unicode&limit=20"
Show response
{
"emojis": [
{"character": "\u00a9\ufe0f", "cldr_name": "copyright", "slug": "copyright", "codepoint": "U+00A9 U+FE0F", "category": "symbols"}
],
"stories": [
{"title": "What Is Unicode?", "slug": "what-is-unicode", "meta_description": "...", "category": "technical"}
],
"glossary": [
{"term": "Unicode", "slug": "unicode", "definition": "A universal character encoding standard...", "abbreviation": "", "category": "standards"}
],
"tools": [
{"name": "Unicode Lookup", "slug": "unicode-lookup", "description": "Look up any codepoint...", "icon": "\ud83d\udd0d"}
]
}
Category List
/api/category/{slug}/
curl https://emojifyi.com/api/category/smileys-emotion/
Show response
{
"category": "Smileys & Emotion",
"slug": "smileys-emotion",
"icon": "\ud83d\ude00",
"emojis": [
{"character": "\ud83d\ude00", "cldr_name": "grinning face", "slug": "grinning-face"},
{"character": "\ud83d\ude03", "cldr_name": "grinning face with big eyes", "slug": "grinning-face-with-big-eyes"}
]
}
Similar Emojis
/api/emoji/{slug}/similar/
Find related emojis by subcategory and keyword overlap. Returns up to 20 results with shared keywords.
curl https://emojifyi.com/api/emoji/grinning-face/similar/
Show response
{
"emoji": {"character": "\ud83d\ude00", "cldr_name": "grinning face", "slug": "grinning-face"},
"similar": [
{"character": "\ud83d\ude03", "cldr_name": "grinning face with big eyes", "slug": "grinning-face-with-big-eyes", "shared_keywords": ["face", "grin"]},
{"character": "\ud83d\ude04", "cldr_name": "grinning face with smiling eyes", "slug": "grinning-face-with-smiling-eyes", "shared_keywords": ["face", "grin"]}
]
}
Emoji Image API
/api/emoji-image/{slug}/{platform}.{fmt}?w={size}
Download pre-generated emoji images. Platforms: noto,
twemoji,
openmoji.
Formats: png,
webp,
svg.
Sizes: 32, 64, 72 (default), 128, 256px.
# PNG at 128px (Google Noto)
curl "https://emojifyi.com/api/emoji-image/grinning-face/noto.png?w=128" -o grinning.png
# SVG (Twemoji)
curl "https://emojifyi.com/api/emoji-image/grinning-face/twemoji.svg" -o grinning.svg
# WebP at 256px with download header
curl "https://emojifyi.com/api/emoji-image/red-heart/openmoji.webp?w=256&download=1" -O
# List available formats for an emoji
curl "https://emojifyi.com/api/emoji-image/grinning-face/"
Random Emoji
/api/random/
curl https://emojifyi.com/api/random/
Show response
{
"character": "\ud83c\udf55",
"cldr_name": "pizza",
"slug": "pizza",
"codepoint": "U+1F355",
"url": "https://emojifyi.com/emoji/pizza/"
}
Ejemplos de código
Python
import requests
# Search for heart emojis
resp = requests.get("https://emojifyi.com/api/search/", params={"q": "heart"})
data = resp.json()
for emoji in data["results"]:
print(f"{emoji['character']} {emoji['cldr_name']}")
# Get specific emoji details
resp = requests.get("https://emojifyi.com/api/emoji/red-heart/")
emoji = resp.json()
print(f"UTF-8: {emoji['encoding']['utf8']}")
print(f"Keywords: {', '.join(emoji['keywords'])}")
JavaScript
// Search emojis
const resp = await fetch("https://emojifyi.com/api/search/?q=fire");
const { results } = await resp.json();
results.forEach(e => console.log(`${e.character} ${e.cldr_name}`));
// Unified search (v2) — emojis, stories, glossary, tools
const v2 = await fetch("https://emojifyi.com/api/v2/search/?q=unicode&limit=20");
const data = await v2.json();
console.log(`Found: ${data.emojis.length} emojis, ${data.stories.length} stories`);
// Random emoji
const random = await fetch("https://emojifyi.com/api/random/");
const emoji = await random.json();
console.log(`Random: ${emoji.character} (${emoji.cldr_name})`);
cURL
# Search
curl -s "https://emojifyi.com/api/search/?q=cat" | python3 -m json.tool
# Emoji detail
curl -s https://emojifyi.com/api/emoji/cat-face/ | python3 -m json.tool
# List all categories with counts
curl -s https://emojifyi.com/api/categories/ | python3 -m json.tool
# Curated collections
curl -s https://emojifyi.com/api/collections/ | python3 -m json.tool
# Download emoji image (Noto, 128px PNG)
curl "https://emojifyi.com/api/emoji-image/cat-face/noto.png?w=128" -o cat.png
# Random emoji
curl -s https://emojifyi.com/api/random/ | python3 -m json.tool
Packages & SDKs
Python Package
Pure Python emoji engine with all 3,953 emojis bundled. Zero dependencies. Available on PyPI.
Install
pip install emojifyi # Core engine (zero deps) pip install "emojifyi[cli]" # + CLI pip install "emojifyi[mcp]" # + MCP server pip install "emojifyi[all]" # Everything
Ejemplo
from emojifyi import get_emoji, search_emoji, encode_emoji
emoji = get_emoji("red-heart") # Metadata + keywords
results = search_emoji("fire") # Search 3,953 emojis
enc = encode_emoji("\u2764\ufe0f") # UTF-8, HTML, CSS, JS, Java
npm Package
Emoji toolkit for JavaScript and TypeScript. 3,781 emojis bundled, zero dependencies. Available on npm.
Install
npm install emojifyi
Ejemplo
import { getEmoji, searchEmoji, encodeEmoji } from "emojifyi";
const emoji = getEmoji("grinning-face"); // Full metadata
const results = searchEmoji("fire"); // Search by keyword
const enc = encodeEmoji("\ud83d\ude00"); // All 8 encodings
Command-Line Interface
Emoji tools in your terminal. Rich tables and formatted output.
Install & Use
pip install "emojifyi[cli]" emojifyi lookup "\ud83d\ude00" # Emoji info + encodings emojifyi search "fire" # Search emojis by keyword emojifyi encode "\u2764\ufe0f" # All encoding formats
MCP Server
Add emoji tools to AI assistants via Model Context Protocol.
Install
pip install "emojifyi[mcp]"
claude_desktop_config.json
{
"mcpServers": {
"emojifyi": {
"command": "python",
"args": ["-m", "emojifyi.mcp_server"]
}
}
}
Data Feeds
Subscribe to our story feeds to receive updates when new emoji guides and articles are published. We provide both RSS 2.0 and Atom 1.0 formats.
Standard RSS feed. Compatible with all feed readers.
Atom feed with richer metadata and update timestamps.
Subscribe via command line
# RSS
curl "https://emojifyi.com/stories/feed/rss/"
# Atom
curl "https://emojifyi.com/stories/feed/atom/"
HTML auto-discovery
Feed readers automatically discover our feeds via <link> tags in every page:
<link rel="alternate" type="application/rss+xml"
title="EmojiFYI Stories (RSS)" href="/stories/feed/rss/">
<link rel="alternate" type="application/atom+xml"
title="EmojiFYI Stories (Atom)" href="/stories/feed/atom/">
AI / LLM Integration
EmojiFYI provides machine-readable content summaries following the llms.txt standard. These endpoints help AI models understand and reference our content.
A concise summary of EmojiFYI's content structure and key pages. Designed for AI models to quickly understand what the site offers and how it is organized.
# EmojiFYI.com
> Comprehensive emoji reference — 3,953 Unicode emojis with
encoding, keywords, categories, and platform images in 15 languages.
## Browse
- [Emojis](https://emojifyi.com/) — 3,953 emoji entries
- [Categories](https://emojifyi.com/category/) — 10 categories
...
Extended version with complete URL patterns, i18n language codes, and page-level structure. Use this for deeper indexing and cross-referencing of EmojiFYI content.
Append .md to any content page URL to get a machine-readable Markdown version:
# Emoji detail in Markdown
curl https://emojifyi.com/emoji/grinning-face.md
# Stories index
curl https://emojifyi.com/stories.md
# Glossary index
curl https://emojifyi.com/glossary.md
AI Crawler Policy: Our robots.txt explicitly allows GPTBot, ClaudeBot, and Google-Extended crawlers.
SEO & Standards
Standard endpoints for search engines, crawlers, and security researchers.
| Endpoint | Standard | Descripción |
|---|---|---|
| /sitemap.xml | Sitemaps 0.9 | Sitemap index with per-section sitemaps covering all content types |
| /robots.txt | REP | Crawler directives with explicit AI bot permissions |
| /.well-known/security.txt | RFC 9116 | Security vulnerability reporting contact |
Structured Data
Every page includes JSON-LD structured data for rich search results:
- WebSite — with SearchAction for sitelinks search box
- CollectionPage — category and index pages with item counts
- Article — story pages with author, dates, and word count
- DefinedTerm — glossary terms with definitions
- WebApplication — interactive tools with free pricing
- BreadcrumbList — navigation breadcrumbs on all pages
Internationalization
All content pages include hreflang alternate links for 15 languages: English (default), Korean, Japanese, Chinese (Simplified), Spanish, French, German, Portuguese, Russian, Arabic, Hindi, Thai, Vietnamese, Indonesian, and Turkish.
OpenAPI Specification
A machine-readable OpenAPI 3.0 specification is available for our JSON APIs. Use it with tools like Swagger UI, Postman, or code generators.
Download openapi.jsonFetch via command line
# Download the OpenAPI spec
curl "https://emojifyi.com/api/openapi.json" -o openapi.json
# Pretty-print
curl -s "https://emojifyi.com/api/openapi.json" | python3 -m json.tool
Rate Limits & Usage
Our APIs are free to use with no authentication required. To ensure fair access for everyone, please follow these guidelines:
- Keep requests under 60 requests per minute per IP address
- Include a descriptive
User-Agentheader identifying your application - Cache responses locally when possible — our API responses include
Cache-Controlheaders - All responses include an
X-Request-IDheader for debugging - Los datos de emojis provienen de Unicode CLDR. Considera enlazar a EmojiFYI cuando uses los datos.
- For bulk data access, use the sitemap to discover all URLs, then use
.mdendpoints
If you need higher-volume access or have integration questions, reach out via the contact in our security.txt.
Quick Reference
/api/emoji/{slug}/
/api/emoji/{slug}/similar/
/api/search/?q=...
/api/v2/search/?q=...
/api/autocomplete/?q=...
/api/category/{slug}/
/api/categories/
/api/collections/
/api/collection/{slug}/
/api/types/
/api/versions/
/api/years/
/api/random/
/api/emoji-image/{slug}/
/api/openapi.json
/stories/feed/rss/
/stories/feed/atom/
/llms.txt
pip install emojifyi
npm install emojifyi