Emojis by category (or list categories)
API · /emoji-api
Emoji API
A complete emoji database in one fast API. Search roughly 1,870 emojis by name, keyword, alias or tag, look up a single emoji by its alias (like rocket or :fire:) or by the emoji character itself, browse any of the nine Unicode categories, or get random emojis (optionally from a category). Every emoji comes with its name, category, aliases, search tags, Unicode code points and the version it was introduced in. Built on the open GitHub gemoji dataset and served entirely in-memory, so responses are instant and the service is always available. Ideal for chat and messaging apps, emoji pickers and search, social and content tools, games and fun widgets.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 75 ms
- Server probes · 24h
- Subscribers
- 3,899
- active
- Total calls
- 80
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 5,000 calls / month
- 3 requests / second
- Hard cap (429 above quota, no overage)
- 5,000 requests/month, 3 req/s
- Search, lookup, category & random
- ~1,870 emojis, 9 categories
- No credit card
Basic
€5.00 /month
- 150,000 calls / month
- 12 requests / second
- Hard cap (429 above quota, no overage)
- 150,000 requests/month, 12 req/s
- Aliases, tags & code points
- Random by category
- Commercial use, email support
Pro
€14.00 /month
- 1,000,000 calls / month
- 30 requests / second
- Hard cap (429 above quota, no overage)
- 1,000,000 requests/month, 30 req/s
- High-volume emoji pickers & search
- Lookup by alias or character
- Priority email support
Mega
€38.00 /month
- 6,000,000 calls / month
- 80 requests / second
- Hard cap (429 above quota, no overage)
- 6,000,000 requests/month, 80 req/s
- Chat & social-app scale
- Maximum concurrency
- Priority support
Built by
Related APIs
Other APIs with overlapping tags.
Flags API
National flag design as an API — built on the classic UCI "Flags" dataset (194 countries) and enriched with each country's ISO 3166-1 alpha-2 code, its Unicode flag emoji and ready-to-use SVG / PNG image URLs. For each flag the API exposes its real design attributes: the number of vertical bars and horizontal stripes, the colours present, the predominant ("main") hue, the colours of the top-left and bottom-right corners, and which symbols appear — circles, crosses, saltires, quartered fields, stars or suns, a crescent, a triangle, an inanimate icon (e.g. an anchor), an animate image (e.g. an eagle) or written text. Look a flag up by country or code, search, or FILTER flags by colour, main hue or symbol — "every flag with a crescent", "flags that are mainly green". Served from memory — always fast.
api.oanor.com/flags-api
Emoji Strip API
Strip, extract and count emoji in any text. The strip endpoint removes every emoji from a string — or replaces each one with a marker you choose — and gets multi-code-point emoji right: ZWJ sequences like the family 👩👩👧👦, skin-tone modifiers (👍🏽), country flags (🇩🇪), keycaps (1️⃣) and variation selectors all count as a single emoji, so nothing is left half-deleted. The extract endpoint lists every emoji it finds with its position in the text and returns per-emoji and unique counts, ideal for analytics and moderation. A bare ©, ® or ™ is deliberately left alone unless it carries an emoji variation selector, and plain digits are never touched. Perfect for cleaning user input before search indexing or storage, sanitising usernames and display names, moderation and analytics, and preparing text for systems that choke on emoji. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This cleans and extracts emoji from text; to look an emoji up by name or shortcode use an emoji database API, and to count graphemes use a text-segmentation API.
api.oanor.com/emojistrip-api
Text Segmentation API
Count and split text the way people actually read it, using Unicode-correct segmentation. The count endpoint returns the number of grapheme clusters — the real, user-perceived characters, so a family emoji counts as 1 (not 7) and an accented letter as 1 — alongside words, sentences, code points, UTF-16 code units (the naive string length that over-counts) and UTF-8 byte length. This is exactly what character-limit fields, tweet/SMS counters and validation need so the count agrees with what the user sees. The segment endpoint splits text into grapheme, word or sentence segments (word segments are flagged word-like versus punctuation and spaces) and is locale-aware, so Japanese, Chinese and Thai word boundaries come out right. Everything is computed locally with no network calls. A Unicode text segmenter — distinct from the Unicode codepoint database (unicode), the case/text-utilities toolkit (text) and string similarity (similarity). No upstream key, no cache.
api.oanor.com/segmenter-api
Writing Systems (ISO 15924) API
The ISO 15924 register of writing systems — the script codes used by Unicode, BCP-47 and CLDR — served from memory (no key). Every script carries its 4-letter code (e.g. Latn, Arab, Hani), numeric code, English and French names, the Unicode property value alias, the Unicode version it was added in and its date. Look a script up by code or numeric, search by code or name, or list the whole register. 226 scripts. Ideal for internationalization, locale and font tooling, BCP-47 tag validation and text-rendering pipelines.
api.oanor.com/scripts-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Emoji API?
What's the rate limit for Emoji API?
How much does Emoji API cost?
Can I cancel my subscription anytime?
Is Emoji API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/emoji-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/emoji-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/emoji-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/emoji-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.