# Emoji Search by Keyword

> Emoji Search by Keyword is a paid API for AI agents from emoji-tools.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-11-02).

Search for emoji by keyword or name, ranked by CLDR names, keywords, and shortcodes, with optional group filter and result cap of 50.

## Facts

- Endpoint: GET https://emoji-tools.x402tookit.com/emoji-search?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/emoji-search-by-keyword-f5c80648
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YY-D33ZJu8eK_CdiyhEDA

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability emoji-search-by-keyword-f5c80648
```

Example prompt: Find me emoji related to 'celebration' — show the top 5 results, filtered to the Activities group.

## When to prefer this

Use this endpoint when you need to discover emoji by natural language keyword, name, or concept and want results ranked by relevance across CLDR names, keywords, and shortcodes. Prefer this over hardcoded emoji lookups when the user provides a descriptive word rather than an exact emoji name or shortcode. It is ideal for building emoji pickers, enriching text with relevant emoji, or helping users find the right emoji for a concept.

## Known failure modes

- Missing required 'q' query parameter returns an error
- Unrecognized group name may return empty results or be ignored
- Limit exceeding 50 is capped at 50
- Very obscure or misspelled keywords may return zero results
- Network or payment failure returns no results

## How this service works

Find emoji by keyword or name, ranked from CLDR names, keywords and shortcodes, with group filter, capped at 50.

## Output

Returns a ranked list of up to 50 emoji matching the query, each with the emoji character, CLDR name, group, subgroup, shortcodes, Unicode codepoints, emoji version, qualification status, and a relevance score. Also includes metadata like total matches, query echo, source attribution, and whether the result is a partial match.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "description": "Words to search: 'grinning cat', 'rocket', 'thumbs up'"
      },
      "group": {
       "type": "string",
       "description": "Optional group such as Animals & Nature (see /emoji-group)"
      },
      "limit": {
       "type": "integer",
       "description": "Results 1 to 50 (default 10)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "group": {},
      "query": {
       "type": [
        "null",
        "string"
       ]
      },
      "total": {
       "type": [
        "null",
        "number"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ]
      },
      "results": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "object",
        "properties": {
         "name": {
          "type": [
           "null",
           "string"
          ]
         },
         "rank": {
          "type": [
           "null",
           "number"
          ]
         },
         "emoji": {
          "type": [
           "null",
           "string"
          ]
         },
         "group": {
          "type": [
           "null",
           "string"
          ]
         },
         "score": {
          "type": [
           "null",
           "number"
          ]
         },
         "status": {
          "type": [
           "null",
           "string"
          ]
         },
         "subgroup": {
          "type": [
           "null",
           "string"
          ]
         },
         "codepoints": {
          "type": [
           "array",
           "null"
          ],
  
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/emoji-search-by-keyword-f5c80648/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from emoji-tools.x402tookit.com](https://www.zero.xyz/host/emoji-tools.x402tookit.com/llms.txt)
