Art & Design — entry 008 of 20

EmojiHub

Verified Jul 2026

EmojiHub serves a database of 1,791 emoji sorted into categories and groups as plain JSON, with both the unicode character and an HTML code ready to embed for each entry. A live GET against the current gateway, emojihub.yurace.pro (the community-maintained successor to the original Heroku-hosted host named in its docs), returned genuine data with no key required and Access-Control-Allow-Origin: *, reconfirming both auth None and cors yes.

EmojiHub serves a database of 1,791 emoji -- confirmed by a live GET this run against `/all` -- as one static bulk dataset you can fetch whole, get one random entry from, or slice by category or group path segments, all keyless. A live GET this run against `/random` returned a single emoji record with both its HTML entity code and unicode codepoint(s).

emojiopen-datano-auth
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/emojihub/"><img src="https://greatapis.com/badge/emojihub.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key, signup, or credit card required. A live GET this run returned genuine data while carrying `access-control-allow-origin: *` on an Origin-header probe -- nothing to configure before the first call.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Fetch a random emoji

GEThttps://emojihub.yurace.pro/api/random

200 application/json

{"name":"argentina","category":"flags","group":"flags","htmlCode":["&#127462;","&#127479;"],"unicode":["U+1F1E6","U+1F1F7"]}

Try it

Developer reference

Base URLhttps://emojihub.yurace.pro/api
Key endpoints
  • GET/random
  • GET/all
  • GET/all/category/{category}

Gotchas & limits

  • `htmlCode` and `unicode` are always arrays, never bare strings -- confirmed live this run on both a single-codepoint entry and this multi-codepoint flag (two entries per array, one per regional-indicator codepoint pair). Code that treats either field as a scalar string will only render the first codepoint.
  • Route slugs are hyphenated but the data's own `category`/`group` values are space-separated -- a live GET this run against `/all` showed entries like `"category":"smileys and people"`, while the matching route is `/all/category/smileys-and-people`. Don't naively slugify a value pulled from the response body and expect it to round-trip.
  • A `category` slug and a `group` slug are not interchangeable, and using the wrong one 404s -- `animal-bird` is a group, not a category: a live GET this run against `/all/category/animal-bird` returned HTTP 404 `{"message":"emojis with this category do not exist"}`, while `/all/group/animal-bird` returned HTTP 200 with real data. Check which kind of slug you have before picking the route.
  • `/all` returns the entire 1,791-entry dataset in one response with no pagination -- confirmed by a live GET this run. Filter through `/all/category/{category}` or `/all/group/{group}` first rather than fetching everything and filtering client-side.