{
  "title": "Emoji picker",
  "human_url": "https://happytails.ai/en/api/tools/emoji-picker/",
  "agent_url": "https://happytails.ai/agents/en/api/tools/emoji-picker/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/api/tools/emoji-picker.md",
  "content": "API reference\nEmoji picker\nFind emoji by an English name or keyword.\nPOST\n/api/v1/tools/emoji-picker/run\nBase URL: https://happytails.ai\n· public API not connected\nOverview\nSearch English emoji labels and aliases, then copy the sequence you need. Unicode artwork differs across platforms.\nAll API requests process supplied data on the server.\nRequest parameters\nSend a JSON object. Unknown properties are rejected. Omitted options use the defaults below; enter numbers and booleans as JSON values, not quoted text.\ninput\nis a string, empty by default, up to 1,000,000 characters. Search by an English word or alias. Up to 1,000,000 characters. Review the settings before running.\nThis endpoint does not accept a\nfiles\narray.\nOptions\nNo options are needed. Omit\noptions\nor send an empty object.\nSuccess response\nHTTP 200 returns\ntool\nand\nresult\n. Text is in\nresult.text\n; parsed JSON may also appear in\nresult.data\n. Generated files are in\nresult.files\nwith\nname\n,\nmime\n,\nbytes\nand\nbase64\n. Decode the bytes before saving. Empty file arrays and null text are valid for operations returning another result type.\nComplete output schema\n{\n\"type\": \"object\",\n\"required\": [\n\"tool\",\n\"result\"\n],\n\"properties\": {\n\"tool\": {\n\"type\": \"string\"\n},\n\"result\": {\n\"type\": \"object\",\n\"required\": [\n\"text\",\n\"files\"\n],\n\"properties\": {\n\"text\": {\n\"type\": [\n\"string\",\n\"null\"\n]\n},\n\"data\": {\n\"description\": \"Parsed JSON when the textual result is JSON.\"\n},\n\"name\": {\n\"type\": \"string\"\n},\n\"mime\": {\n\"type\": \"string\"\n},\n\"files\": {\n\"type\": \"array\",\n\"items\": {\n\"type\": \"object\",\n\"required\": [\n\"name\",\n\"mime\",\n\"bytes\",\n\"base64\"\n],\n\"properties\": {\n\"name\": {\n\"type\": \"string\"\n},\n\"mime\": {\n\"type\": \"string\"\n},\n\"bytes\": {\n\"type\": \"integer\"\n},\n\"base64\": {\n\"type\": \"string\",\n\"contentEncoding\": \"base64\"\n}\n}\n}\n}\n}\n}\n}\n}\nLimits and failures\nLimits below are enforced by this endpoint. Additional format, page, duration and model limits in the behavior notes also apply. Browser UI limits can differ from API limits.\nrequest_bytes\n8388608\ninput_characters\n1000000\nfiles_bytes\n5242880\nmax_files\n0\ntimeout_seconds\n12\nInvalid requests return an\nerror\nobject with\ncode\nand\nmessage\n. Read\nHTTP statuses, retries, timeouts and concurrency\n. Execution is synchronous and results are returned in the response.\nComplete request schema\nExpand the JSON schema\n{\n\"type\": \"object\",\n\"additionalProperties\": false,\n\"properties\": {\n\"input\": {\n\"type\": \"string\",\n\"maxLength\": 1000000,\n\"default\": \"\",\n\"description\": \"Plain text input. File tools use files instead unless otherwise documented.\"\n},\n\"options\": {\n\"type\": \"object\",\n\"additionalProperties\": false,\n\"properties\": {}\n}\n}\n}\nFor browser automation, use the central\nWebMCP guidance\nand discover the tools actually exposed by the browser.\nRequest example\ncURL\ncurl https://happytails.ai/api/v1/tools/emoji-picker/run \\\n-H \"Content-Type: application/json\" \\\n--data '{\"input\": \"smile\", \"options\": {}}'\nJavaScript\nconst payload = {\n\"input\": \"smile\",\n\"options\": {}\n};\nconst response = await fetch(\n\"https://happytails.ai/api/v1/tools/emoji-picker/run\",\n{\nmethod: \"POST\",\nheaders: { \"Content-Type\": \"application/json\" },\nbody: JSON.stringify(payload)\n}\n);\nconst data = await response.json();\nif (!response.ok) throw new Error(data.error.message);\nconsole.log(data.result);\nPython\nimport json\nfrom urllib.request import Request, urlopen\npayload = json.loads('{\"input\": \"smile\", \"options\": {}}')\nrequest = Request(\n\"https://happytails.ai/api/v1/tools/emoji-picker/run\",\ndata=json.dumps(payload).encode(),\nheaders={\"Content-Type\": \"application/json\"},\n)\nwith urlopen(request, timeout=200) as response:\nresult = json.load(response)\nprint(result)\nJSON\n{\n\"input\": \"smile\",\n\"options\": {}\n}\nReplace the API origin and input values for your application.\n200 OK · saved example\nJSON\n{\n\"tool\": \"emoji-picker\",\n\"result\": {\n\"text\": \"\\ud83d\\ude00  grinning face\\n\\ud83d\\ude03  grinning face with big eyes\\n\\ud83d\\ude04  grinning face with smiling eyes\\n\\ud83d\\ude01  beaming face with smiling eyes\\n\\ud83d\\ude06  grinning squinting face\\n\\ud83d\\ude05  grinning face with sweat\\n\\ud83d\\ude42  slightly smiling face\\n\\ud83d\\ude43  upside-down face\\n\\ud83d\\ude0a  smiling face with smiling eyes\\n\\ud83d\\ude07  smiling face with halo\\n\\ud83e\\udd70  smiling face with hearts\\n\\ud83d\\ude0d  smiling face with heart-eyes\\n\\ud83e\\udd29  star-struck\\n\\u263a\\ufe0f  smiling face\\n\\ud83d\\ude19  kissing face with smiling eyes\\n\\ud83e\\udd72  smiling face with tear\\n\\ud83d\\ude0b  face savoring food\\n\\ud83d\\ude2c  grimacing face\\n\\ud83d\\ude2e\\u200d\\ud83d\\udca8  face exhaling\\n\\ud83d\\ude35\\u200d\\ud83d\\udcab  face with spiral eyes\\n\\ud83d\\ude0e  smiling face with sunglasses\\n\\ud83d\\ude08  smiling face with horns\\n\\ud83d\\ude3a  grinning cat\\n\\ud83d\\ude38  grinning cat with smiling eyes\\n\\ud83d\\ude3b  smiling cat with heart-eyes\\n\\ud83d\\ude3c  cat with wry smile\",\n\"files\": [],\n\"name\": \"result.txt\",\n\"mime\": \"text/plain;charset=utf-8\"\n}\n}\n400 Bad Request\nJSON\n{\n\"error\": {\n\"code\": \"INVALID_INPUT\",\n\"message\": \"Unknown request property. See the tool input schema.\"\n}\n}",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "HTTP statuses, retries, timeouts and concurrency",
      "url": "https://happytails.ai/en/api/#limits"
    },
    {
      "name": "WebMCP guidance",
      "url": "https://happytails.ai/en/api/#browser-agents"
    }
  ],
  "markdown": "# Emoji picker\n\n- Human page: https://happytails.ai/en/api/tools/emoji-picker/\n- Markdown: https://happytails.ai/en/api/tools/emoji-picker.md\n- Structured JSON: https://happytails.ai/agents/en/api/tools/emoji-picker/index.json\n- Visibility: public\n\n## Page guide\n\nAPI reference\n\nFind emoji by an English name or keyword.\n\nPOST\n\n/api/v1/tools/emoji-picker/run\n\nBase URL: https://happytails.ai · public API not connected\n\n## Overview\n\nSearch English emoji labels and aliases, then copy the sequence you need. Unicode artwork differs across platforms.\n\nAll API requests process supplied data on the server.\n\n## Request parameters\n\nSend a JSON object. Unknown properties are rejected. Omitted options use the defaults below; enter numbers and booleans as JSON values, not quoted text.\n\n`input` is a string, empty by default, up to 1,000,000 characters. Search by an English word or alias. Up to 1,000,000 characters. Review the settings before running.\n\nThis endpoint does not accept a `files` array.\n\n### Options\n\nNo options are needed. Omit `options` or send an empty object.\n\n## Success response\n\nHTTP 200 returns `tool` and `result`. Text is in `result.text`; parsed JSON may also appear in `result.data`. Generated files are in `result.files` with `name`, `mime`, `bytes` and `base64`. Decode the bytes before saving. Empty file arrays and null text are valid for operations returning another result type.\n\n### Complete output schema\n\n```json\n{\n  \"type\": \"object\",\n  \"required\": [\n    \"tool\",\n    \"result\"\n  ],\n  \"properties\": {\n    \"tool\": {\n      \"type\": \"string\"\n    },\n    \"result\": {\n      \"type\": \"object\",\n      \"required\": [\n        \"text\",\n        \"files\"\n      ],\n      \"properties\": {\n        \"text\": {\n          \"type\": [\n            \"string\",\n            \"null\"\n          ]\n        },\n        \"data\": {\n          \"description\": \"Parsed JSON when the textual result is JSON.\"\n        },\n        \"name\": {\n          \"type\": \"string\"\n        },\n        \"mime\": {\n          \"type\": \"string\"\n        },\n        \"files\": {\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"name\",\n              \"mime\",\n              \"bytes\",\n              \"base64\"\n            ],\n            \"properties\": {\n              \"name\": {\n                \"type\": \"string\"\n              },\n              \"mime\": {\n                \"type\": \"string\"\n              },\n              \"bytes\": {\n                \"type\": \"integer\"\n              },\n              \"base64\": {\n                \"type\": \"string\",\n                \"contentEncoding\": \"base64\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n## Limits and failures\n\nLimits below are enforced by this endpoint. Additional format, page, duration and model limits in the behavior notes also apply. Browser UI limits can differ from API limits.\n\n| Field | Value |\n| --- | --- |\n| `request_bytes` | 8388608 |\n| `input_characters` | 1000000 |\n| `files_bytes` | 5242880 |\n| `max_files` | 0 |\n| `timeout_seconds` | 12 |\n\nInvalid requests return an `error` object with `code` and `message`. Read [HTTP statuses, retries, timeouts and concurrency](https://happytails.ai/en/api/#limits). Execution is synchronous and results are returned in the response.\n\n## Complete request schema\n\n### Expand the JSON schema\n\n```json\n{\n  \"type\": \"object\",\n  \"additionalProperties\": false,\n  \"properties\": {\n    \"input\": {\n      \"type\": \"string\",\n      \"maxLength\": 1000000,\n      \"default\": \"\",\n      \"description\": \"Plain text input. File tools use files instead unless otherwise documented.\"\n    },\n    \"options\": {\n      \"type\": \"object\",\n      \"additionalProperties\": false,\n      \"properties\": {}\n    }\n  }\n}\n```\n\nFor browser automation, use the central [WebMCP guidance](https://happytails.ai/en/api/#browser-agents) and discover the tools actually exposed by the browser.\n\nRequest example\n\n### cURL\n\n```bash\ncurl https://happytails.ai/api/v1/tools/emoji-picker/run \\\n  -H \"Content-Type: application/json\" \\\n  --data '{\"input\": \"smile\", \"options\": {}}'\n```\n\n### JavaScript\n\n```javascript\nconst payload = {\n  \"input\": \"smile\",\n  \"options\": {}\n};\n\nconst response = await fetch(\n  \"https://happytails.ai/api/v1/tools/emoji-picker/run\",\n  {\n    method: \"POST\",\n    headers: { \"Content-Type\": \"application/json\" },\n    body: JSON.stringify(payload)\n  }\n);\nconst data = await response.json();\nif (!response.ok) throw new Error(data.error.message);\nconsole.log(data.result);\n```\n\n### Python\n\n```python\nimport json\nfrom urllib.request import Request, urlopen\n\npayload = json.loads('{\"input\": \"smile\", \"options\": {}}')\n\nrequest = Request(\n    \"https://happytails.ai/api/v1/tools/emoji-picker/run\",\n    data=json.dumps(payload).encode(),\n    headers={\"Content-Type\": \"application/json\"},\n)\nwith urlopen(request, timeout=200) as response:\n    result = json.load(response)\n    print(result)\n```\n\n### JSON\n\n```json\n{\n  \"input\": \"smile\",\n  \"options\": {}\n}\n```\n\nReplace the API origin and input values for your application.\n\n200 OK · saved example\n\n### JSON\n\n```json\n{\n  \"tool\": \"emoji-picker\",\n  \"result\": {\n    \"text\": \"\\ud83d\\ude00  grinning face\\n\\ud83d\\ude03  grinning face with big eyes\\n\\ud83d\\ude04  grinning face with smiling eyes\\n\\ud83d\\ude01  beaming face with smiling eyes\\n\\ud83d\\ude06  grinning squinting face\\n\\ud83d\\ude05  grinning face with sweat\\n\\ud83d\\ude42  slightly smiling face\\n\\ud83d\\ude43  upside-down face\\n\\ud83d\\ude0a  smiling face with smiling eyes\\n\\ud83d\\ude07  smiling face with halo\\n\\ud83e\\udd70  smiling face with hearts\\n\\ud83d\\ude0d  smiling face with heart-eyes\\n\\ud83e\\udd29  star-struck\\n\\u263a\\ufe0f  smiling face\\n\\ud83d\\ude19  kissing face with smiling eyes\\n\\ud83e\\udd72  smiling face with tear\\n\\ud83d\\ude0b  face savoring food\\n\\ud83d\\ude2c  grimacing face\\n\\ud83d\\ude2e\\u200d\\ud83d\\udca8  face exhaling\\n\\ud83d\\ude35\\u200d\\ud83d\\udcab  face with spiral eyes\\n\\ud83d\\ude0e  smiling face with sunglasses\\n\\ud83d\\ude08  smiling face with horns\\n\\ud83d\\ude3a  grinning cat\\n\\ud83d\\ude38  grinning cat with smiling eyes\\n\\ud83d\\ude3b  smiling cat with heart-eyes\\n\\ud83d\\ude3c  cat with wry smile\",\n    \"files\": [],\n    \"name\": \"result.txt\",\n    \"mime\": \"text/plain;charset=utf-8\"\n  }\n}\n```\n\n400 Bad Request\n\n### JSON\n\n```json\n{\n  \"error\": {\n    \"code\": \"INVALID_INPUT\",\n    \"message\": \"Unknown request property. See the tool input schema.\"\n  }\n}\n```\n"
}