Emoji
Look up emoji by name, search by keyword, or get a random emoji. Each response includes the rendered glyph, CLDR snake_case name, Unicode category, and code-point.
Overview
Use Cases
- Emoji pickers and reaction features
- Chat and messaging applications
- Social media tools
- Trivia and quiz apps
- Educational Unicode references
Features
Random emoji selection
Full-text search across emoji names and categories
Direct lookup by snake_case emoji name
Unicode code-point and category metadata included
API Endpoints
Get Random Emoji
Returns a randomly selected emoji with its full metadata.
GET
https://api.requiems.xyz/v1/entertainment/emoji/random
Try it out
Live DemoRequest
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| emoji | string |
The rendered emoji glyph |
| name | string |
CLDR short name in snake_case (e.g. grinning_face) |
| category | string |
Unicode category (e.g. Smileys & Emotion, Animals & Nature) |
| unicode | string |
Unicode code-point in U+XXXX notation (e.g. U+1F600) |
Code Examples
curl https://api.requiems.xyz/v1/entertainment/emoji/random \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://api.requiems.xyz/v1/entertainment/emoji/random"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch(
'https://api.requiems.xyz/v1/entertainment/emoji/random',
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
);
const data = await response.json();
console.log(data.data.emoji, data.data.name);
require 'net/http'
require 'json'
uri = URI('https://api.requiems.xyz/v1/entertainment/emoji/random')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data['data']['emoji']
Search Emoji
Search for emojis whose name or category contains the given query string (case-insensitive). Returns a list of all matches.
GET
https://api.requiems.xyz/v1/entertainment/emoji/search
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| q | string |
Required | Search term to match against emoji names and categories (e.g. happy, heart, food) |
Try it out
Live DemoRequest
Search term to match against emoji names and categories (e.g. happy, heart, food)
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| items | array |
List of matching emoji objects |
| total | integer |
Total number of matches |
Code Examples
curl "https://api.requiems.xyz/v1/entertainment/emoji/search?q=happy" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://api.requiems.xyz/v1/entertainment/emoji/search"
headers = {"requiems-api-key": "YOUR_API_KEY"}
params = {"q": "happy"}
response = requests.get(url, headers=headers, params=params)
data = response.json()
for emoji in data['data']['items']:
print(emoji['emoji'], emoji['name'])
const response = await fetch(
'https://api.requiems.xyz/v1/entertainment/emoji/search?q=happy',
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
);
const data = await response.json();
data.data.items.forEach(e => console.log(e.emoji, e.name));
require 'net/http'
require 'json'
uri = URI('https://api.requiems.xyz/v1/entertainment/emoji/search')
uri.query = URI.encode_www_form(q: 'happy')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
data['data']['items'].each { |e| puts "#{e['emoji']} #{e['name']}" }
Error Responses
bad_request
The q query parameter is missing or empty.
Get Emoji by Name
Returns a specific emoji by its CLDR snake_case name. The name is case-insensitive.
GET
https://api.requiems.xyz/v1/entertainment/emoji/{name}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| name | string |
Required | CLDR snake_case emoji name (e.g. grinning_face, thumbs_up) |
Try it out
Live DemoRequest
CLDR snake_case emoji name (e.g. grinning_face, thumbs_up)
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| emoji | string |
The rendered emoji glyph |
| name | string |
CLDR short name in snake_case |
| category | string |
Unicode category |
| unicode | string |
Unicode code-point in U+XXXX notation |
Code Examples
curl https://api.requiems.xyz/v1/entertainment/emoji/grinning_face \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://api.requiems.xyz/v1/entertainment/emoji/grinning_face"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch(
'https://api.requiems.xyz/v1/entertainment/emoji/grinning_face',
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
);
const data = await response.json();
console.log(data.data.emoji, data.data.unicode);
require 'net/http'
require 'json'
uri = URI('https://api.requiems.xyz/v1/entertainment/emoji/grinning_face')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data['data']['emoji']
Error Responses
not_found
No emoji found with the given name.
Frequently Asked Questions
Names follow the Unicode CLDR short-name format in snake_case (e.g. grinning_face, thumbs_up, red_heart). Use the search endpoint to discover available names.
No. You can pass the name in any case (e.g. Grinning_Face, GRINNING_FACE, or grinning_face) and the API normalises it to lowercase.
The unicode field contains the primary code-point for the emoji in U+XXXX notation (e.g. U+1F600). Emoji that are sequences of multiple code-points show the base code-point.
Yes. The search endpoint matches against both the emoji name and its category, so querying 'food', 'travel', or 'animal' will return all emojis in those categories.