{"openapi":"3.1.0","info":{"title":"Unicode API","version":"1.0.0","description":"The Unicode Character Database (UCD) as an API. Resolve ANY codepoint (0..10FFFF, including the CJK and Hangul ranges) to its name, general category, block and script — plus the literal character, HTML entity (&#x1F600;), CSS escape and UTF-8/UTF-16 byte sequences. Pass a hex codepoint (e.g. 1F600 → 😀 GRINNING FACE) or a literal character (?char=€). Search 40,000+ named characters by name (e.g. \"heart\", \"arrow\"), filter by category or block, and browse all 346 Unicode blocks. Ideal for text-processing tools, emoji pickers, editors, internationalization and developer utilities.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/unicode-api","description":"oanor gateway"}],"tags":[{"name":"Unicode"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/block":{"get":{"operationId":"get_v1_block","tags":["Unicode"],"summary":"A block (range + sample) or list all blocks","description":"","parameters":[{"name":"name","in":"query","required":false,"description":"Block name, e.g. Emoticons (omit to list all)","schema":{"type":"string"},"example":"Emoticons"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"last":"U+1F64F","name":"Emoticons","size":80,"first":"U+1F600","sample":[{"cp":128512,"char":"😀","name":"GRINNING FACE","category":"So","codepoint":"U+1F600"},{"cp":128513,"char":"😁","name":"GRINNING FACE WITH SMILING EYES","category":"So","codepoint":"U+1F601"},{"cp":128514,"char":"😂","name":"FACE WITH TEARS OF JOY","category":"So","codepoint":"U+1F602"},{"cp":128515,"char":"😃","name":"SMILING FACE WITH OPEN MOUTH","category":"So","codepoint":"U+1F603"},{"cp":128516,"char":"😄","name":"SMILING FACE WITH OPEN MOUTH AND SMILING EYES","category":"So","codepoint":"U+1F604"},{"cp":128517,"char":"😅","name":"SMILING FACE WITH OPEN MOUTH AND COLD SWEAT","category":"So","codepoint":"U+1F605"},{"cp":128518,"char":"😆","name":"SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES","category":"So","codepoint":"U+1F606"},{"cp":128519,"char":"😇","name":"SMILING FACE WITH HALO","category":"So","codepoint":"U+1F607"},{"cp":128520,"char":"😈","name":"SMILING FACE WITH HORNS","category":"So","codepoint":"U+1F608"},{"cp":128521,"char":"😉","name":"WINKING FACE","category":"So","codepoint":"U+1F609"},{"cp":128522,"char":"😊","name":"SMILING FACE WITH SMILING EYES","category":"So","codepoint":"U+1F60A"},{"cp":128523,"char":"😋","name":"FACE SAVOURING DELICIOUS FOOD","category":"So","codepoint":"U+1F60B"},{"cp":128524,"char":"😌","name":"RELIEVED FACE","category":"So","codepoint":"U+1F60C"},{"cp":128525,"char":"😍","name":"SMILING FACE WITH HEART-SHAPED EYES","category":"So","codepoint":"U+1F60D"},{"cp":128526,"char":"😎","name":"SMILING FACE WITH SUNGLASSES","category":"So","codepoint":"U+1F60E"},{"cp":128527,"char":"😏","name":"SMIRKING FACE","category":"So","codepoint":"U+1F60F"},{"cp":128528,"char":"😐","name":"NEUTRAL FACE","category":"So","codepoint":"U+1F610"},{"cp":128529,"char":"😑","name":"EXPRESSIONLESS FACE","category":"So","codepoint":"U+1F611"},{"cp":128530,"char":"😒","name":"UNAMUSED FACE","category":"So","codepoint":"U+1F612"},{"cp":128531,"char":"😓","name":"FACE WITH COLD SWEAT","category":"So","codepoint":"U+1F613"}],"assigned":80},"meta":{"timestamp":"2026-05-31T04:30:16.732Z","request_id":"37057455-d504-42f7-b6e1-1e351fa17faa"},"status":"ok","message":"Block retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/char":{"get":{"operationId":"get_v1_char","tags":["Unicode"],"summary":"Resolve a codepoint or a literal character","description":"","parameters":[{"name":"cp","in":"query","required":false,"description":"Hex codepoint, e.g. 1F600 (accepts U+1F600 / 0x1F600)","schema":{"type":"string"},"example":"1F600"},{"name":"char","in":"query","required":false,"description":"A literal character, e.g. € (alternative to cp)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"cp":128512,"char":"😀","name":"GRINNING FACE","utf8":["F0","9F","98","80"],"block":"Emoticons","utf16":["D83D","DE00"],"script":"Common","assigned":true,"category":"So","codepoint":"U+1F600","css_escape":"\\1F600","html_entity":"&#x1F600;","html_decimal":"&#128512;","category_name":"Other Symbol"},"meta":{"timestamp":"2026-05-31T04:30:16.806Z","request_id":"8c8f0d7a-92c4-4e36-ba90-dbaa1128466e"},"status":"ok","message":"Character resolved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Unicode"],"summary":"Search named characters by name","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Name search, e.g. heart","schema":{"type":"string"},"example":"heart"},{"name":"category","in":"query","required":false,"description":"General category code, e.g. So, Lu, Sc","schema":{"type":"string"}},{"name":"block","in":"query","required":false,"description":"Exact block name","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Results per page (1-100, default 20)","schema":{"type":"string"},"example":"20"},{"name":"offset","in":"query","required":false,"description":"Pagination offset","schema":{"type":"string"},"example":"0"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"limit":20,"query":"heart","total":52,"offset":0,"filters":[],"results":[{"cp":9753,"char":"☙","name":"REVERSED ROTATED FLORAL HEART BULLET","category":"So","codepoint":"U+2619"},{"cp":9825,"char":"♡","name":"WHITE HEART SUIT","category":"So","codepoint":"U+2661"},{"cp":9829,"char":"♥","name":"BLACK HEART SUIT","category":"So","codepoint":"U+2665"},{"cp":10083,"char":"❣","name":"HEAVY HEART EXCLAMATION MARK ORNAMENT","category":"So","codepoint":"U+2763"},{"cp":10084,"char":"❤","name":"HEAVY BLACK HEART","category":"So","codepoint":"U+2764"},{"cp":10085,"char":"❥","name":"ROTATED HEAVY BLACK HEART BULLET","category":"So","codepoint":"U+2765"},{"cp":10086,"char":"❦","name":"FLORAL HEART","category":"So","codepoint":"U+2766"},{"cp":10087,"char":"❧","name":"ROTATED FLORAL HEART BULLET","category":"So","codepoint":"U+2767"},{"cp":11926,"char":"⺖","name":"CJK RADICAL HEART ONE","category":"So","codepoint":"U+2E96"},{"cp":11927,"char":"⺗","name":"CJK RADICAL HEART TWO","category":"So","codepoint":"U+2E97"},{"cp":12092,"char":"⼼","name":"KANGXI RADICAL HEART","category":"So","codepoint":"U+2F3C"},{"cp":127153,"char":"🂱","name":"PLAYING CARD ACE OF HEARTS","category":"So","codepoint":"U+1F0B1"},{"cp":127154,"char":"🂲","name":"PLAYING CARD TWO OF HEARTS","category":"So","codepoint":"U+1F0B2"},{"cp":127155,"char":"🂳","name":"PLAYING CARD THREE OF HEARTS","category":"So","codepoint":"U+1F0B3"},{"cp":127156,"char":"🂴","name":"PLAYING CARD FOUR OF HEARTS","category":"So","codepoint":"U+1F0B4"},{"cp":127157,"char":"🂵","name":"PLAYING CARD FIVE OF HEARTS","category":"So","codepoint":"U+1F0B5"},{"cp":127158,"char":"🂶","name":"PLAYING CARD SIX OF HEARTS","category":"So","codepoint":"U+1F0B6"},{"cp":127159,"char":"🂷","name":"PLAYING CARD SEVEN OF HEARTS","category":"So","codepoint":"U+1F0B7"},{"cp":127160,"char":"🂸","name":"PLAYING CARD EIGHT OF HEARTS","category":"So","codepoint":"U+1F0B8"},{"cp":127161,"char":"🂹","name":"PLAYING CARD NINE OF HEARTS","category":"So","codepoint":"U+1F0B9"}]},"meta":{"timestamp":"2026-05-31T04:30:16.886Z","request_id":"99dade69-a3f2-4c99-a3e6-d4d3404ead86"},"status":"ok","message":"Characters listed","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Version, totals & category labels","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"/v1/char resolves any codepoint 0..10FFFF (incl. CJK/Hangul ranges); /v1/search covers the named characters.","blocks":346,"fields":["codepoint","cp","char","name","category","category_name","block","script","html_entity","html_decimal","css_escape","utf8","utf16"],"ranges":20,"source":"Unicode Character Database (UCD)","version":"latest","categories":[{"code":"Lu","label":"Uppercase Letter"},{"code":"Ll","label":"Lowercase Letter"},{"code":"Lt","label":"Titlecase Letter"},{"code":"Lm","label":"Modifier Letter"},{"code":"Lo","label":"Other Letter"},{"code":"Mn","label":"Nonspacing Mark"},{"code":"Mc","label":"Spacing Mark"},{"code":"Me","label":"Enclosing Mark"},{"code":"Nd","label":"Decimal Number"},{"code":"Nl","label":"Letter Number"},{"code":"No","label":"Other Number"},{"code":"Pc","label":"Connector Punctuation"},{"code":"Pd","label":"Dash Punctuation"},{"code":"Ps","label":"Open Punctuation"},{"code":"Pe","label":"Close Punctuation"},{"code":"Pi","label":"Initial Punctuation"},{"code":"Pf","label":"Final Punctuation"},{"code":"Po","label":"Other Punctuation"},{"code":"Sm","label":"Math Symbol"},{"code":"Sc","label":"Currency Symbol"},{"code":"Sk","label":"Modifier Symbol"},{"code":"So","label":"Other Symbol"},{"code":"Zs","label":"Space Separator"},{"code":"Zl","label":"Line Separator"},{"code":"Zp","label":"Paragraph Separator"},{"code":"Cc","label":"Control"},{"code":"Cf","label":"Format"},{"code":"Cs","label":"Surrogate"},{"code":"Co","label":"Private Use"},{"code":"Cn","label":"Unassigned"}],"named_characters":40535},"meta":{"timestamp":"2026-05-31T04:30:16.958Z","request_id":"d5fc447b-37be-44d6-aa11-e1b7bdef8e5b"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":8000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":450,"monthly_call_quota":80000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1300,"monthly_call_quota":400000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3400,"monthly_call_quota":2000000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/unicode-api"}